rust/lib-hedgewars-engine/src/engine_message.rs
author unc0rr
Thu, 08 Nov 2018 00:00:58 +0100
changeset 14169 e2c51c8e0b2e
child 14176 5ad911992460
permissions -rw-r--r--
Start outlining some core engine stuff
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
14169
e2c51c8e0b2e Start outlining some core engine stuff
unc0rr
parents:
diff changeset
     1
use crate::command::Command;
e2c51c8e0b2e Start outlining some core engine stuff
unc0rr
parents:
diff changeset
     2
e2c51c8e0b2e Start outlining some core engine stuff
unc0rr
parents:
diff changeset
     3
pub enum KeystrokeAction {
e2c51c8e0b2e Start outlining some core engine stuff
unc0rr
parents:
diff changeset
     4
    Press,
e2c51c8e0b2e Start outlining some core engine stuff
unc0rr
parents:
diff changeset
     5
    Release,
e2c51c8e0b2e Start outlining some core engine stuff
unc0rr
parents:
diff changeset
     6
}
e2c51c8e0b2e Start outlining some core engine stuff
unc0rr
parents:
diff changeset
     7
e2c51c8e0b2e Start outlining some core engine stuff
unc0rr
parents:
diff changeset
     8
pub enum SyncedEngineMessage {
e2c51c8e0b2e Start outlining some core engine stuff
unc0rr
parents:
diff changeset
     9
    Left(KeystrokeAction),
e2c51c8e0b2e Start outlining some core engine stuff
unc0rr
parents:
diff changeset
    10
    Right(KeystrokeAction),
e2c51c8e0b2e Start outlining some core engine stuff
unc0rr
parents:
diff changeset
    11
    Up(KeystrokeAction),
e2c51c8e0b2e Start outlining some core engine stuff
unc0rr
parents:
diff changeset
    12
    Down(KeystrokeAction),
e2c51c8e0b2e Start outlining some core engine stuff
unc0rr
parents:
diff changeset
    13
    Precise(KeystrokeAction),
e2c51c8e0b2e Start outlining some core engine stuff
unc0rr
parents:
diff changeset
    14
    NextTurn,
e2c51c8e0b2e Start outlining some core engine stuff
unc0rr
parents:
diff changeset
    15
    Switch,
e2c51c8e0b2e Start outlining some core engine stuff
unc0rr
parents:
diff changeset
    16
    Empty,
e2c51c8e0b2e Start outlining some core engine stuff
unc0rr
parents:
diff changeset
    17
    Timer(u8),
e2c51c8e0b2e Start outlining some core engine stuff
unc0rr
parents:
diff changeset
    18
    Slot(u8),
e2c51c8e0b2e Start outlining some core engine stuff
unc0rr
parents:
diff changeset
    19
    SetWeapon(u8),
e2c51c8e0b2e Start outlining some core engine stuff
unc0rr
parents:
diff changeset
    20
    Put(i32, i32),
e2c51c8e0b2e Start outlining some core engine stuff
unc0rr
parents:
diff changeset
    21
    HighJump,
e2c51c8e0b2e Start outlining some core engine stuff
unc0rr
parents:
diff changeset
    22
    LowJump,
e2c51c8e0b2e Start outlining some core engine stuff
unc0rr
parents:
diff changeset
    23
    Skip,
e2c51c8e0b2e Start outlining some core engine stuff
unc0rr
parents:
diff changeset
    24
    TeamControlGained(String),
e2c51c8e0b2e Start outlining some core engine stuff
unc0rr
parents:
diff changeset
    25
    TeamControlLost(String),
e2c51c8e0b2e Start outlining some core engine stuff
unc0rr
parents:
diff changeset
    26
}
e2c51c8e0b2e Start outlining some core engine stuff
unc0rr
parents:
diff changeset
    27
e2c51c8e0b2e Start outlining some core engine stuff
unc0rr
parents:
diff changeset
    28
pub enum UnsyncedEngineMessage {
e2c51c8e0b2e Start outlining some core engine stuff
unc0rr
parents:
diff changeset
    29
    Ping,
e2c51c8e0b2e Start outlining some core engine stuff
unc0rr
parents:
diff changeset
    30
    Pong,
e2c51c8e0b2e Start outlining some core engine stuff
unc0rr
parents:
diff changeset
    31
    Say(String),
e2c51c8e0b2e Start outlining some core engine stuff
unc0rr
parents:
diff changeset
    32
    Taunt(u8),
e2c51c8e0b2e Start outlining some core engine stuff
unc0rr
parents:
diff changeset
    33
    ExecCommand(Command),
e2c51c8e0b2e Start outlining some core engine stuff
unc0rr
parents:
diff changeset
    34
    GameType(u8),// TODO: use enum
e2c51c8e0b2e Start outlining some core engine stuff
unc0rr
parents:
diff changeset
    35
    Warning(String),
e2c51c8e0b2e Start outlining some core engine stuff
unc0rr
parents:
diff changeset
    36
    StopSyncing,
e2c51c8e0b2e Start outlining some core engine stuff
unc0rr
parents:
diff changeset
    37
    ConfigRequest,
e2c51c8e0b2e Start outlining some core engine stuff
unc0rr
parents:
diff changeset
    38
    GameOver,
e2c51c8e0b2e Start outlining some core engine stuff
unc0rr
parents:
diff changeset
    39
    GameInterrupted,
e2c51c8e0b2e Start outlining some core engine stuff
unc0rr
parents:
diff changeset
    40
}
e2c51c8e0b2e Start outlining some core engine stuff
unc0rr
parents:
diff changeset
    41
e2c51c8e0b2e Start outlining some core engine stuff
unc0rr
parents:
diff changeset
    42
pub enum EngineMessage {
e2c51c8e0b2e Start outlining some core engine stuff
unc0rr
parents:
diff changeset
    43
    Synced(SyncedEngineMessage, u32),
e2c51c8e0b2e Start outlining some core engine stuff
unc0rr
parents:
diff changeset
    44
    Unsynced(UnsyncedEngineMessage),
e2c51c8e0b2e Start outlining some core engine stuff
unc0rr
parents:
diff changeset
    45
}
e2c51c8e0b2e Start outlining some core engine stuff
unc0rr
parents:
diff changeset
    46
e2c51c8e0b2e Start outlining some core engine stuff
unc0rr
parents:
diff changeset
    47
impl EngineMessage {
e2c51c8e0b2e Start outlining some core engine stuff
unc0rr
parents:
diff changeset
    48
    fn from_bytes(buf: &[u8]) -> Self {
e2c51c8e0b2e Start outlining some core engine stuff
unc0rr
parents:
diff changeset
    49
        unimplemented!()
e2c51c8e0b2e Start outlining some core engine stuff
unc0rr
parents:
diff changeset
    50
    }
e2c51c8e0b2e Start outlining some core engine stuff
unc0rr
parents:
diff changeset
    51
e2c51c8e0b2e Start outlining some core engine stuff
unc0rr
parents:
diff changeset
    52
    fn to_bytes(&self) -> Vec<u8> {
e2c51c8e0b2e Start outlining some core engine stuff
unc0rr
parents:
diff changeset
    53
        unimplemented!()
e2c51c8e0b2e Start outlining some core engine stuff
unc0rr
parents:
diff changeset
    54
    }
e2c51c8e0b2e Start outlining some core engine stuff
unc0rr
parents:
diff changeset
    55
}