summaryrefslogtreecommitdiff
path: root/server/src/entity/portal.rs
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2024-07-23 21:27:25 +0200
committermetamuffin <metamuffin@disroot.org>2024-07-25 11:21:48 +0200
commit74fb8de441c68fff92680a48352f6b9b0f6e9271 (patch)
tree88e59c1043ac5de7379986eadc7f574e27f6c085 /server/src/entity/portal.rs
parent149c58d54bf9c0eda6e3d978984e5e0365b7395d (diff)
downloadhurrycurry-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.rs60
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(())
- }
-}