aboutsummaryrefslogtreecommitdiff
path: root/server/game-core
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2025-12-14 19:37:47 +0100
committermetamuffin <metamuffin@disroot.org>2025-12-14 19:37:47 +0100
commit15fbfe0693191bbb5b5de8d2ecfdd8bfc4b8be4d (patch)
treec54f1bb7e7fb764d9a77a49e5e4d265668290977 /server/game-core
parent54e6a3348de36ed6b195a8738035d5a5998f7af0 (diff)
downloadhurrycurry-15fbfe0693191bbb5b5de8d2ecfdd8bfc4b8be4d.tar
hurrycurry-15fbfe0693191bbb5b5de8d2ecfdd8bfc4b8be4d.tar.bz2
hurrycurry-15fbfe0693191bbb5b5de8d2ecfdd8bfc4b8be4d.tar.zst
Add demand sink entity (close #532)
Diffstat (limited to 'server/game-core')
-rw-r--r--server/game-core/src/lib.rs10
1 files changed, 10 insertions, 0 deletions
diff --git a/server/game-core/src/lib.rs b/server/game-core/src/lib.rs
index 25f8600a..ac0a8ded 100644
--- a/server/game-core/src/lib.rs
+++ b/server/game-core/src/lib.rs
@@ -218,6 +218,16 @@ impl Game {
],
});
}
+ pub fn set_item(&mut self, pos: IVec2, kind: Option<ItemIndex>) {
+ let Some(tile) = self.tiles.get_mut(&pos) else {
+ return;
+ };
+ tile.item = kind.map(|kind| Item { kind, active: None });
+ self.events.push_back(PacketC::SetItem {
+ location: ItemLocation::Tile(pos),
+ item: kind,
+ });
+ }
pub fn tick(&mut self, dt: f32) {
self.score.time_remaining -= dt as f64;