diff options
author | metamuffin <metamuffin@disroot.org> | 2024-09-02 00:13:04 +0200 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2024-09-02 00:37:54 +0200 |
commit | 5b14aab4341f099c9f5b59ad6aec08c4a58827c3 (patch) | |
tree | 5597105e74abcc5a562442b5922a6654bd5e93fe /server/src/entity/campaign.rs | |
parent | e864abcf6469c877087e53525de632b89546659d (diff) | |
download | hurrycurry-5b14aab4341f099c9f5b59ad6aec08c4a58827c3.tar hurrycurry-5b14aab4341f099c9f5b59ad6aec08c4a58827c3.tar.bz2 hurrycurry-5b14aab4341f099c9f5b59ad6aec08c4a58827c3.tar.zst |
campaign lobby map link entity
Diffstat (limited to 'server/src/entity/campaign.rs')
-rw-r--r-- | server/src/entity/campaign.rs | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/server/src/entity/campaign.rs b/server/src/entity/campaign.rs new file mode 100644 index 00000000..c4c8ab52 --- /dev/null +++ b/server/src/entity/campaign.rs @@ -0,0 +1,41 @@ +/* + 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::{Entity, EntityContext}; +use anyhow::Result; +use hurrycurry_protocol::glam::Vec2; + +#[derive(Debug, Default, Clone)] +pub struct Map { + pub location: Vec2, + pub name: String, +} + +impl Entity for Map { + fn tick(&mut self, c: EntityContext) -> Result<()> { + let mut activate = false; + c.game + .players_spatial_index + .query(self.location, 0.5, |_, _| activate = true); + + if activate { + *c.load_map = Some(self.name.clone()); + } + + Ok(()) + } +} |