rust/hedgewars-engine-messages/src/messages.rs
changeset 15269 7515ae6010bb
parent 14277 3152d9fdb499
equal deleted inserted replaced
15268:24828281c9c5 15269:7515ae6010bb
    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'],