Give the message structs friendlier field names on the Rust side, because Serde lets us do that
This commit is contained in:
parent
c199e14435
commit
a7dc49996f
2 changed files with 33 additions and 10 deletions
|
@ -15,11 +15,22 @@ pub type GameState = Value;
|
||||||
#[serde(tag = "t")]
|
#[serde(tag = "t")]
|
||||||
pub enum ClientMessage {
|
pub enum ClientMessage {
|
||||||
#[serde(rename = "s")]
|
#[serde(rename = "s")]
|
||||||
SetState { s: GameState },
|
SetState {
|
||||||
|
#[serde(rename = "s")]
|
||||||
|
new_state: GameState
|
||||||
|
},
|
||||||
#[serde(rename = "i")]
|
#[serde(rename = "i")]
|
||||||
Input { i: PlayerInput },
|
Input {
|
||||||
|
#[serde(rename = "i")]
|
||||||
|
local_input: PlayerInput
|
||||||
|
},
|
||||||
#[serde(rename = "g")]
|
#[serde(rename = "g")]
|
||||||
GetState { c: usize, s: GameState },
|
GetState {
|
||||||
|
#[serde(rename = "c")]
|
||||||
|
cookie: usize,
|
||||||
|
#[serde(rename = "s")]
|
||||||
|
state: GameState
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Serialize, Debug, Clone)]
|
#[derive(Serialize, Debug, Clone)]
|
||||||
|
@ -34,12 +45,24 @@ pub enum ServerMessage {
|
||||||
#[serde(rename = "m")]
|
#[serde(rename = "m")]
|
||||||
Meta {
|
Meta {
|
||||||
#[serde(flatten)]
|
#[serde(flatten)]
|
||||||
m: Meta,
|
#[serde(rename = "m")]
|
||||||
|
meta: Meta,
|
||||||
},
|
},
|
||||||
#[serde(rename = "s")]
|
#[serde(rename = "s")]
|
||||||
SetState { u: Option<PlayerId>, s: GameState },
|
SetState {
|
||||||
|
#[serde(rename = "u")]
|
||||||
|
player_id: Option<PlayerId>,
|
||||||
|
#[serde(rename = "s")]
|
||||||
|
state: GameState
|
||||||
|
},
|
||||||
#[serde(rename = "i")]
|
#[serde(rename = "i")]
|
||||||
Input { i: Vec<PlayerInput> },
|
Input {
|
||||||
|
#[serde(rename = "i")]
|
||||||
|
total_input: Vec<PlayerInput>
|
||||||
|
},
|
||||||
#[serde(rename = "g")]
|
#[serde(rename = "g")]
|
||||||
GetState { c: usize },
|
GetState {
|
||||||
|
#[serde(rename = "c")]
|
||||||
|
cookie: usize
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,14 +16,14 @@ const CHANNEL_BUFFER: usize = 200;
|
||||||
pub async fn greet(sink: &mut Sender<ServerMessage>) -> Result<()> {
|
pub async fn greet(sink: &mut Sender<ServerMessage>) -> Result<()> {
|
||||||
let mut greeting = iter(vec![
|
let mut greeting = iter(vec![
|
||||||
ServerMessage::Meta {
|
ServerMessage::Meta {
|
||||||
m: Meta {
|
meta: Meta {
|
||||||
version: "Unstable",
|
version: "Unstable",
|
||||||
helo: Some("Dedicated base2020 server".into()),
|
helo: Some("Dedicated base2020 server".into()),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
ServerMessage::SetState {
|
ServerMessage::SetState {
|
||||||
u: Some(0),
|
player_id: Some(0),
|
||||||
s: json!({}),
|
state: json!({}),
|
||||||
},
|
},
|
||||||
])
|
])
|
||||||
.map(Ok);
|
.map(Ok);
|
||||||
|
|
Loading…
Reference in a new issue