26 Skip, |
26 Skip, |
27 TeamControlGained(String), |
27 TeamControlGained(String), |
28 TeamControlLost(String), |
28 TeamControlLost(String), |
29 TimeWrap, |
29 TimeWrap, |
30 Taunt(u8), |
30 Taunt(u8), |
31 HogSay(String), |
|
32 Heartbeat, |
31 Heartbeat, |
33 } |
32 } |
34 |
33 |
35 #[derive(Debug, PartialEq, Clone)] |
34 #[derive(Debug, PartialEq, Clone)] |
36 pub enum UnsyncedEngineMessage { |
35 pub enum UnsyncedEngineMessage { |
37 TeamControlGained(String), |
36 TeamControlGained(String), |
38 TeamControlLost(String), |
37 TeamControlLost(String), |
|
38 HogSay(String), |
|
39 ChatMessage(String), |
|
40 TeamMessage(String), |
39 } |
41 } |
40 |
42 |
41 #[derive(Debug, PartialEq, Clone)] |
43 #[derive(Debug, PartialEq, Clone)] |
42 pub enum UnorderedEngineMessage { |
44 pub enum UnorderedEngineMessage { |
43 Ping, |
45 Ping, |
44 Pong, |
46 Pong, |
45 ChatMessage(String), |
|
46 TeamMessage(String), |
|
47 Error(String), |
47 Error(String), |
48 Warning(String), |
48 Warning(String), |
49 StopSyncing, |
49 StopSyncing, |
50 GameOver, |
50 GameOver, |
51 GameInterrupted, |
51 GameInterrupted, |
192 LongJump => em![b'j'], |
192 LongJump => em![b'j'], |
193 Skip => em![b','], |
193 Skip => em![b','], |
194 TeamControlGained(str) => ems![b'g', str], |
194 TeamControlGained(str) => ems![b'g', str], |
195 TeamControlLost(str) => ems![b'f', str], |
195 TeamControlLost(str) => ems![b'f', str], |
196 Taunt(s) => vec![b't', *s], |
196 Taunt(s) => vec![b't', *s], |
197 HogSay(str) => ems![b'h', str], |
|
198 Heartbeat => em![b'+'], |
197 Heartbeat => em![b'+'], |
199 TimeWrap => unreachable!(), |
198 TimeWrap => unreachable!(), |
200 } |
199 } |
201 } |
200 } |
202 } |
201 } |
205 fn to_bytes(&self) -> Vec<u8> { |
204 fn to_bytes(&self) -> Vec<u8> { |
206 use self::UnsyncedEngineMessage::*; |
205 use self::UnsyncedEngineMessage::*; |
207 match self { |
206 match self { |
208 TeamControlGained(str) => ems![b'G', str], |
207 TeamControlGained(str) => ems![b'G', str], |
209 TeamControlLost(str) => ems![b'F', str], |
208 TeamControlLost(str) => ems![b'F', str], |
|
209 HogSay(str) => ems![b'h', str], |
|
210 ChatMessage(str) => ems![b's', str], |
|
211 TeamMessage(str) => ems![b'b', str], |
210 } |
212 } |
211 } |
213 } |
212 } |
214 } |
213 |
215 |
214 impl UnorderedEngineMessage { |
216 impl UnorderedEngineMessage { |
215 fn to_bytes(&self) -> Vec<u8> { |
217 fn to_bytes(&self) -> Vec<u8> { |
216 use self::UnorderedEngineMessage::*; |
218 use self::UnorderedEngineMessage::*; |
217 match self { |
219 match self { |
218 Ping => em![b'?'], |
220 Ping => em![b'?'], |
219 Pong => em![b'!'], |
221 Pong => em![b'!'], |
220 ChatMessage(str) => ems![b's', str], |
|
221 TeamMessage(str) => ems![b'b', str], |
|
222 Error(str) => ems![b'E', str], |
222 Error(str) => ems![b'E', str], |
223 Warning(_) => unreachable!(), |
223 Warning(_) => unreachable!(), |
224 StopSyncing => unreachable!(), |
224 StopSyncing => unreachable!(), |
225 GameOver => em![b'q'], |
225 GameOver => em![b'q'], |
226 GameInterrupted => em![b'Q'], |
226 GameInterrupted => em![b'Q'], |