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"], |