use serde::{Deserialize, Serialize}; use specs::{Component, DerefFlaggedStorage, NullStorage}; use specs_idvs::IdvStorage; use uuid::Uuid; use crate::resources::{BattleMode, Time}; const MAX_ALIAS_LEN: usize = 32; #[derive(Debug)] pub enum DisconnectReason { Kicked, NewerLogin, NetworkError, Timeout, ClientRequested, } #[derive(Clone, Debug, Serialize, Deserialize)] pub struct Player { pub alias: String, pub battle_mode: BattleMode, pub last_battlemode_change: Option