aboutsummaryrefslogtreecommitdiff
path: root/server/src
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2026-03-13 15:20:16 +0100
committermetamuffin <metamuffin@disroot.org>2026-03-13 15:20:16 +0100
commit57e3bd8f6960ac1a0fcda877c30da8bb05530381 (patch)
treeda21ae114fb8b3af9e7eb19b5096e0358dbb40cc /server/src
parent5726d34f31d0129d314dc447340b0feb56534060 (diff)
downloadhurrycurry-57e3bd8f6960ac1a0fcda877c30da8bb05530381.tar
hurrycurry-57e3bd8f6960ac1a0fcda877c30da8bb05530381.tar.bz2
hurrycurry-57e3bd8f6960ac1a0fcda877c30da8bb05530381.tar.zst
vote buttons
Diffstat (limited to 'server/src')
-rw-r--r--server/src/entity/button.rs18
-rw-r--r--server/src/server.rs2
2 files changed, 15 insertions, 5 deletions
diff --git a/server/src/entity/button.rs b/server/src/entity/button.rs
index 74726253..f0e2087d 100644
--- a/server/src/entity/button.rs
+++ b/server/src/entity/button.rs
@@ -19,7 +19,7 @@ use super::{Entity, EntityContext};
use anyhow::Result;
use hurrycurry_data::entities::ButtonAction;
use hurrycurry_locale::TrError;
-use hurrycurry_protocol::{ItemLocation, Menu, PacketC, PlayerID, glam::IVec2};
+use hurrycurry_protocol::{ItemLocation, Menu, PacketC, PacketS, PlayerID, glam::IVec2};
#[derive(Debug, Clone)]
pub struct Button {
@@ -32,7 +32,7 @@ impl Entity for Button {
&mut self,
c: EntityContext<'_>,
pos: Option<ItemLocation>,
- _player: PlayerID,
+ player: PlayerID,
) -> Result<bool, TrError> {
if pos == Some(ItemLocation::Tile(self.pos)) {
match self.action {
@@ -41,8 +41,18 @@ impl Entity for Button {
.unwrap()
.push(PacketC::Menu(Menu::Book(c.serverdata.book.clone())));
}
- ButtonAction::VoteYes => {}
- ButtonAction::VoteNo => {}
+ ButtonAction::VoteYes => {
+ c.packet_in.push_back(PacketS::CastVote {
+ player,
+ agree: true,
+ });
+ }
+ ButtonAction::VoteNo => {
+ c.packet_in.push_back(PacketS::CastVote {
+ player,
+ agree: true,
+ });
+ }
ButtonAction::MapSelector => {
c.replies.unwrap().push(PacketC::Menu(Menu::MapSelector));
}
diff --git a/server/src/server.rs b/server/src/server.rs
index 87e77fb2..e272c07d 100644
--- a/server/src/server.rs
+++ b/server/src/server.rs
@@ -650,7 +650,7 @@ impl Server {
while let Some(p) = self.packet_loopback.pop_front() {
if let Err(e) = self.packet_in(&mut vec![], p) {
- warn!("Internal packet errored: {e}");
+ warn!("Loopback packet errored: {e}");
}
}