/* * This file is part of laurelin/shared * Copyright (C) 2023 Jonni Liljamo * * Licensed under GPL-3.0-only. * See LICENSE for licensing information. */ use naia_bevy_shared::Message; #[derive(Message)] pub struct DataRequest { pub r#type: u8, } impl DataRequest { pub fn new(r#type: u8) -> Self { Self { r#type } } } #[derive(Message)] pub struct DataRequestResponse { pub r#type: u8, pub data: String, } impl DataRequestResponse { pub fn new(r#type: u8, data: &str) -> Self { Self { r#type, data: data.to_string(), } } } #[repr(u8)] pub enum DataRequestType { GameAllForming = 100, GameMyGames = 101, GameCreate = 102, } impl DataRequestType { // TODO: should prolly do this, like, not by hand. pub fn from_u8(value: &u8) -> Self { match value { 100 => Self::GameAllForming, 101 => Self::GameMyGames, 102 => Self::GameCreate, _ => { // NOTE/TODO/FIXME: bad, veeeery bad. // just... I'm not sure how to handle this best, // so right now it just returns something, lol. Self::GameCreate } } } }