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(()) -    } -} | 
