summaryrefslogtreecommitdiff
path: root/src/systems
diff options
context:
space:
mode:
authortroido <troido@protonmail.com>2020-09-26 14:58:30 +0200
committertroido <troido@protonmail.com>2020-09-26 14:58:30 +0200
commit9e69a2d3004e83a74cb876ae6c6fbdfb6ed167fb (patch)
treef7384d11d41495caa627a320a488996fc89e5a97 /src/systems
parent9b7e3d14b3f35163199ed704ae35544fa658931e (diff)
remove deduplicate
Diffstat (limited to 'src/systems')
-rw-r--r--src/systems/deduplicate.rs57
-rw-r--r--src/systems/mod.rs2
2 files changed, 0 insertions, 59 deletions
diff --git a/src/systems/deduplicate.rs b/src/systems/deduplicate.rs
deleted file mode 100644
index e9fb88a..0000000
--- a/src/systems/deduplicate.rs
+++ /dev/null
@@ -1,57 +0,0 @@
-
-use std::collections::HashSet;
-
-use specs::{
- Read,
- WriteStorage,
- ReadStorage,
- Entities,
- Entity,
- System,
- Join
-};
-
-use crate::{
- components::{Dedup, Removed, New, Position},
- resources::Ground
-};
-
-
-pub struct Deduplicate;
-impl <'a> System<'a> for Deduplicate {
- type SystemData = (
- Entities<'a>,
- WriteStorage<'a, Dedup>,
- WriteStorage<'a, Removed>,
- ReadStorage<'a, New>,
- ReadStorage<'a, Position>,
- Read<'a, Ground>
- );
- fn run(&mut self, (entities, mut dedups, mut removeds, news, positions, ground): Self::SystemData) {
- for (entity, dedup, position, _) in (&entities, &dedups, &positions, &news).join() {
- let others: Vec<(Entity, &Dedup)> = ground.cells
- .get(&position.pos)
- .unwrap_or(&HashSet::new())
- .iter()
- .filter_map(|e| Some((*e, dedups.get(*e)?)))
- .collect();
- for (e, d) in others {
- if dedup.id == d.id {
- if dedup.priority > d.priority {
- removeds.insert(e, Removed).unwrap();
- } else if dedup.priority < d.priority {
- removeds.insert(entity, Removed).unwrap();
- } else if entity > e {
- removeds.insert(e, Removed).unwrap();
- } else if entity < e {
- removeds.insert(entity, Removed).unwrap();
- }
- }
- }
- }
- for (dedup, _) in (&mut dedups, &news).join() {
- dedup.priority += 1;
- }
- }
-}
-
diff --git a/src/systems/mod.rs b/src/systems/mod.rs
index 7f93bb9..e0ae2e8 100644
--- a/src/systems/mod.rs
+++ b/src/systems/mod.rs
@@ -21,7 +21,6 @@ mod droploot;
mod timeout;
mod clear;
mod building;
-mod deduplicate;
mod spawntrigger;
mod replace;
@@ -48,7 +47,6 @@ pub use self::{
timeout::Timeout,
clear::Clear,
building::Building,
- deduplicate::Deduplicate,
spawntrigger::SpawnTrigger,
replace::Replace,
};