gameServer2/src/protocol/messages.rs
changeset 13422 5fb27f94fc3b
parent 13419 81e0ed105f5d
child 13423 87a6cad20c90
equal deleted inserted replaced
13421:d1368c776a4f 13422:5fb27f94fc3b
    89     TeamAdd(Vec<String>),
    89     TeamAdd(Vec<String>),
    90     TeamRemove(String),
    90     TeamRemove(String),
    91     TeamAccepted(String),
    91     TeamAccepted(String),
    92     TeamColor(String, u8),
    92     TeamColor(String, u8),
    93     HedgehogsNumber(String, u8),
    93     HedgehogsNumber(String, u8),
       
    94     ConfigEntry(String, Vec<String>),
    94 
    95 
    95     ServerMessage(String),
    96     ServerMessage(String),
    96     Warning(String),
    97     Warning(String),
    97     Error(String),
    98     Error(String),
    98     Connected(u32),
    99     Connected(u32),
    99     Unreachable,
   100     Unreachable,
       
   101 }
       
   102 
       
   103 impl GameCfg {
       
   104     pub fn into_server_msg(self) -> HWServerMessage {
       
   105         use self::HWServerMessage::ConfigEntry;
       
   106         use server::coretypes::GameCfg::*;
       
   107         match self {
       
   108             FeatureSize(s) => ConfigEntry("FEATURE_SIZE".to_string(), vec![s.to_string()]),
       
   109             MapType(t) => ConfigEntry("MAP".to_string(), vec![t.to_string()]),
       
   110             MapGenerator(g) => ConfigEntry("MAPGEN".to_string(), vec![g.to_string()]),
       
   111             MazeSize(s) => ConfigEntry("MAZE_SIZE".to_string(), vec![s.to_string()]),
       
   112             Seed(s) => ConfigEntry("SEED".to_string(), vec![s.to_string()]),
       
   113             Template(t) => ConfigEntry("TEMPLATE".to_string(), vec![t.to_string()]),
       
   114 
       
   115             Ammo(n, None) => ConfigEntry("AMMO".to_string(), vec![n.to_string()]),
       
   116             Ammo(n, Some(s)) => ConfigEntry("AMMO".to_string(), vec![n.to_string(), s.to_string()]),
       
   117             Scheme(n, None) => ConfigEntry("SCHEME".to_string(), vec![n.to_string()]),
       
   118             Scheme(n, Some(s)) => ConfigEntry("SCHEME".to_string(), {
       
   119                 let mut v = vec![n.to_string()];
       
   120                 v.extend(s.into_iter());
       
   121                 v
       
   122             }),
       
   123             Script(s) => ConfigEntry("SCRIPT".to_string(), vec![s.to_string()]),
       
   124             Theme(t) => ConfigEntry("THEME".to_string(), vec![t.to_string()]),
       
   125             DrawnMap(m) => ConfigEntry("DRAWNMAP".to_string(), vec![m.to_string()])
       
   126         }
       
   127     }
   100 }
   128 }
   101 
   129 
   102 impl<'a> HWProtocolMessage {
   130 impl<'a> HWProtocolMessage {
   103     pub fn to_raw_protocol(&self) -> String {
   131     pub fn to_raw_protocol(&self) -> String {
   104         use self::HWProtocolMessage::*;
   132         use self::HWProtocolMessage::*;
   227                 construct_message(&["ADD_TEAM"], &info),
   255                 construct_message(&["ADD_TEAM"], &info),
   228             TeamRemove(name) => msg!["REMOVE_TEAM", name],
   256             TeamRemove(name) => msg!["REMOVE_TEAM", name],
   229             TeamAccepted(name) => msg!["TEAM_ACCEPTED", name],
   257             TeamAccepted(name) => msg!["TEAM_ACCEPTED", name],
   230             TeamColor(name, color) => msg!["TEAM_COLOR", name, color],
   258             TeamColor(name, color) => msg!["TEAM_COLOR", name, color],
   231             HedgehogsNumber(name, number) => msg!["HH_NUM", name, number],
   259             HedgehogsNumber(name, number) => msg!["HH_NUM", name, number],
       
   260             ConfigEntry(name, values) =>
       
   261                 construct_message(&["CFG", name], &values),
   232             ChatMsg(nick, msg) => msg!["CHAT", nick, msg],
   262             ChatMsg(nick, msg) => msg!["CHAT", nick, msg],
   233             ServerMessage(msg) => msg!["SERVER_MESSAGE", msg],
   263             ServerMessage(msg) => msg!["SERVER_MESSAGE", msg],
   234             Warning(msg) => msg!["WARNING", msg],
   264             Warning(msg) => msg!["WARNING", msg],
   235             Error(msg) => msg!["ERROR", msg],
   265             Error(msg) => msg!["ERROR", msg],
   236             _ => msg!["ERROR", "UNIMPLEMENTED"],
   266             _ => msg!["ERROR", "UNIMPLEMENTED"],