aboutsummaryrefslogtreecommitdiff
path: root/server/data/src/entities.rs
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2026-03-11 21:18:12 +0100
committermetamuffin <metamuffin@disroot.org>2026-03-11 21:18:36 +0100
commit4a9314f235bd3c556cec4f70177d8f7438d59559 (patch)
treed021352543a01d1eb325e202be7ee8b9c936eda4 /server/data/src/entities.rs
parent93fbbf687de7e3b3b27e150c455cef2ac4d4c303 (diff)
downloadhurrycurry-4a9314f235bd3c556cec4f70177d8f7438d59559.tar
hurrycurry-4a9314f235bd3c556cec4f70177d8f7438d59559.tar.bz2
hurrycurry-4a9314f235bd3c556cec4f70177d8f7438d59559.tar.zst
buttons server-side code
Diffstat (limited to 'server/data/src/entities.rs')
-rw-r--r--server/data/src/entities.rs15
1 files changed, 13 insertions, 2 deletions
diff --git a/server/data/src/entities.rs b/server/data/src/entities.rs
index 5c874441..135e4b78 100644
--- a/server/data/src/entities.rs
+++ b/server/data/src/entities.rs
@@ -16,6 +16,7 @@
*/
+use clap::ValueEnum;
use hurrycurry_protocol::{
ItemIndex, TileIndex,
glam::{IVec2, Vec2},
@@ -72,8 +73,9 @@ pub enum EntityDecl {
spacing: f32,
smoothing: f32,
},
- Book {
+ Button {
pos: IVec2,
+ action: ButtonAction,
},
Pedestrians {
spawn_delay: f32,
@@ -98,8 +100,17 @@ pub enum EntityDecl {
},
}
+#[derive(Debug, Clone, Copy, Deserialize, Serialize, ValueEnum)]
+#[serde(rename_all = "snake_case")]
+pub enum ButtonAction {
+ Book,
+ VoteYes,
+ VoteNo,
+ MapSelector,
+}
+
#[derive(Debug, Clone, Deserialize, Serialize)]
-#[serde(rename_all = "kebab-case")]
+#[serde(rename_all = "snake_case")]
pub enum GateCondition {
All(Vec<GateCondition>),
Any(Vec<GateCondition>),