diff options
Diffstat (limited to 'server/game-core/src')
| -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; |