summaryrefslogtreecommitdiff
path: root/src/json.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/json.rs')
-rw-r--r--src/json.rs15
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![