diff options
| author | metamuffin <metamuffin@disroot.org> | 2025-12-14 19:37:47 +0100 |
|---|---|---|
| committer | metamuffin <metamuffin@disroot.org> | 2025-12-14 19:37:47 +0100 |
| commit | 15fbfe0693191bbb5b5de8d2ecfdd8bfc4b8be4d (patch) | |
| tree | c54f1bb7e7fb764d9a77a49e5e4d265668290977 /server/game-core | |
| parent | 54e6a3348de36ed6b195a8738035d5a5998f7af0 (diff) | |
| download | hurrycurry-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.rs | 10 |
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; |