gameServer2/src/protocol/messages.rs
changeset 12131 a4d22f197bd2
parent 12130 6273f89ab13d
child 12133 81df2e1f9ae9
equal deleted inserted replaced
12130:6273f89ab13d 12131:a4d22f197bd2
     1 use server::coretypes::{ServerVar, GameCfg, TeamInfo, HedgehogInfo};
     1 use server::coretypes::{ServerVar, GameCfg, TeamInfo, HedgehogInfo};
       
     2 use std;
       
     3 use std::ops;
       
     4 use std::convert::From;
     2 
     5 
     3 
     6 #[derive(PartialEq, Debug)]
     4 pub enum HWProtocolMessage<'a> {
     7 pub enum HWProtocolMessage {
     5     // core
     8     // core
     6     Ping,
     9     Ping,
     7     Pong,
    10     Pong,
     8     Quit(Option<&'a str>),
    11     Quit(Option<String>),
     9     //Cmd(&'a str, Vec<&'a str>),
    12     //Cmd(String, Vec<String>),
    10     Global(&'a str),
    13     Global(String),
    11     Watch(&'a str),
    14     Watch(String),
    12     ToggleServerRegisteredOnly,
    15     ToggleServerRegisteredOnly,
    13     SuperPower,
    16     SuperPower,
    14     Info(&'a str),
    17     Info(String),
    15     // not entered state
    18     // not entered state
    16     Nick(&'a str),
    19     Nick(String),
    17     Proto(u32),
    20     Proto(u32),
    18     Password(&'a str, &'a str),
    21     Password(String, String),
    19     Checker(&'a str),
    22     Checker(String),
    20     // lobby
    23     // lobby
    21     List,
    24     List,
    22     Chat(&'a str),
    25     Chat(String),
    23     CreateRoom(&'a str, Option<&'a str>),
    26     CreateRoom(String, Option<String>),
    24     Join(&'a str, Option<&'a str>),
    27     Join(String, Option<String>),
    25     Follow(&'a str),
    28     Follow(String),
    26     Rnd(Vec<&'a str>),
    29     Rnd(Vec<String>),
    27     Kick(&'a str),
    30     Kick(String),
    28     Ban(&'a str, &'a str, u32),
    31     Ban(String, String, u32),
    29     BanIP(&'a str, &'a str, u32),
    32     BanIP(String, String, u32),
    30     BanNick(&'a str, &'a str, u32),
    33     BanNick(String, String, u32),
    31     BanList,
    34     BanList,
    32     Unban(&'a str),
    35     Unban(String),
    33     SetServerVar(ServerVar),
    36     SetServerVar(ServerVar),
    34     GetServerVar,
    37     GetServerVar,
    35     RestartServer,
    38     RestartServer,
    36     Stats,
    39     Stats,
    37     // in room
    40     // in room
    38     Part(Option<&'a str>),
    41     Part(Option<String>),
    39     Cfg(GameCfg),
    42     Cfg(GameCfg),
    40     AddTeam(TeamInfo),
    43     AddTeam(TeamInfo),
    41     RemoveTeam(&'a str),
    44     RemoveTeam(String),
    42     SetHedgehogsNumber(&'a str, u8),
    45     SetHedgehogsNumber(String, u8),
    43     SetTeamColor(&'a str, u8),
    46     SetTeamColor(String, u8),
    44     ToggleReady,
    47     ToggleReady,
    45     StartGame,
    48     StartGame,
    46     EngineMessage,
    49     EngineMessage,
    47     RoundFinished,
    50     RoundFinished,
    48     ToggleRestrictJoin,
    51     ToggleRestrictJoin,
    49     ToggleRestrictTeams,
    52     ToggleRestrictTeams,
    50     ToggleRegisteredOnly,
    53     ToggleRegisteredOnly,
    51     RoomName(&'a str),
    54     RoomName(String),
    52     Delegate(&'a str),
    55     Delegate(String),
    53     TeamChat(&'a str),
    56     TeamChat(String),
    54     MaxTeams(u8),
    57     MaxTeams(u8),
    55     Fix,
    58     Fix,
    56     Unfix,
    59     Unfix,
    57     Greeting(&'a str),
    60     Greeting(String),
    58     CallVote(Option<(&'a str, Option<&'a str>)>),
    61     CallVote(Option<(String, Option<String>)>),
    59     Vote(&'a str),
    62     Vote(String),
    60     ForceVote(&'a str),
    63     ForceVote(String),
    61     Save(&'a str, &'a str),
    64     Save(String, String),
    62     Delete(&'a str, &'a str),
    65     Delete(String, String),
    63     SaveRoom(&'a str),
    66     SaveRoom(String),
    64     LoadRoom(&'a str),
    67     LoadRoom(String),
    65 }
    68 }
       
    69 
       
    70 pub fn number<T: From<u8>
       
    71                 + std::default::Default
       
    72                 + std::ops::MulAssign
       
    73                 + std::ops::AddAssign>
       
    74     (digits: Vec<u8>) -> T {
       
    75     let mut value: T = T::default();
       
    76     for digit in digits {
       
    77         value *= T::from(10);
       
    78         value += T::from(digit);
       
    79     }
       
    80     value
       
    81 }