diff options
Diffstat (limited to 'src/json.rs')
-rw-r--r-- | src/json.rs | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/src/json.rs b/src/json.rs index 86b35ea..4ac274a 100644 --- a/src/json.rs +++ b/src/json.rs @@ -54,6 +54,7 @@ pub struct PlayerWorm { pub movement_range: u32, pub weapon: Weapon, pub banana_bombs: Option<Bomb>, + pub profession: WormType, } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq)] @@ -80,6 +81,14 @@ pub struct OpponentWorm { pub position: Position, pub digging_range: u32, pub movement_range: u32, + pub profession: WormType, +} + +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq)] +#[serde(rename_all = "PascalCase")] +pub enum WormType { + Commando, + Agent, } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq)] @@ -254,7 +263,8 @@ mod test { "y": 16 }, "diggingRange": 1, - "movementRange": 1 + "movementRange": 1, + "profession": "Commando" } ] } @@ -355,6 +365,7 @@ mod test { count: 3, damage_radius: 2, }), + profession: WormType::Agent, }, PlayerWorm { id: 2, @@ -367,6 +378,7 @@ mod test { digging_range: 1, movement_range: 1, banana_bombs: None, + profession: WormType::Commando, }, ], }, @@ -381,6 +393,7 @@ mod test { position: Position { x: 31, y: 16 }, digging_range: 1, movement_range: 1, + profession: WormType::Commando, }], }], map: vec![ |