diff options
author | metamuffin <metamuffin@disroot.org> | 2024-07-23 21:27:25 +0200 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2024-07-25 11:21:48 +0200 |
commit | 74fb8de441c68fff92680a48352f6b9b0f6e9271 (patch) | |
tree | 88e59c1043ac5de7379986eadc7f574e27f6c085 /server/src/entity/portal.rs | |
parent | 149c58d54bf9c0eda6e3d978984e5e0365b7395d (diff) | |
download | hurrycurry-74fb8de441c68fff92680a48352f6b9b0f6e9271.tar hurrycurry-74fb8de441c68fff92680a48352f6b9b0f6e9271.tar.bz2 hurrycurry-74fb8de441c68fff92680a48352f6b9b0f6e9271.tar.zst |
add player portals
Diffstat (limited to 'server/src/entity/portal.rs')
-rw-r--r-- | server/src/entity/portal.rs | 60 |
1 files changed, 0 insertions, 60 deletions
diff --git a/server/src/entity/portal.rs b/server/src/entity/portal.rs deleted file mode 100644 index 3ed19719..00000000 --- a/server/src/entity/portal.rs +++ /dev/null @@ -1,60 +0,0 @@ -/* - Hurry Curry! - a game about cooking - Copyright 2024 metamuffin - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Affero General Public License as published by - the Free Software Foundation, version 3 of the License only. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU Affero General Public License for more details. - - You should have received a copy of the GNU Affero General Public License - along with this program. If not, see <https://www.gnu.org/licenses/>. - -*/ -use super::EntityT; -use crate::game::{interact_effect, Game}; -use anyhow::{anyhow, Result}; -use hurrycurry_protocol::{glam::IVec2, ItemLocation, PacketC}; -use std::collections::VecDeque; - -#[derive(Debug, Default, Clone)] -pub struct Portal { - pub(super) from: IVec2, - pub(super) to: IVec2, -} - -impl EntityT for Portal { - fn tick( - &mut self, - game: &mut Game, - packet_out: &mut VecDeque<PacketC>, - _dt: f32, - ) -> Result<()> { - let [from, to] = game - .tiles - .get_many_mut([&self.from, &self.to]) - .ok_or(anyhow!("conveyor does ends in itself"))?; - - if from.item.is_some() { - interact_effect( - &game.data, - true, - &mut to.item, - ItemLocation::Tile(self.to), - &mut from.item, - ItemLocation::Tile(self.from), - Some(to.kind), - packet_out, - &mut game.score, - &mut game.score_changed, - true, - ); - } - - Ok(()) - } -} |