From 2d4cabc768968a215556f7a4ed81a728d3b6e120 Mon Sep 17 00:00:00 2001 From: troido Date: Mon, 13 Apr 2020 14:36:03 +0200 Subject: checking for specific messages is easier because of TriggerBox::has_message --- src/systems/spawn.rs | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) (limited to 'src/systems/spawn.rs') diff --git a/src/systems/spawn.rs b/src/systems/spawn.rs index ad9e8c1..1698ca5 100644 --- a/src/systems/spawn.rs +++ b/src/systems/spawn.rs @@ -41,17 +41,15 @@ impl <'a> System<'a> for Spawn { clan_nums.insert(clan, n+1); } for (spawner, position, triggerbox) in (&mut spawners, &positions, &triggerboxes).join() { - for message in triggerbox.messages.iter() { - if *message == Trigger::Spawn { - if *clan_nums.get(&spawner.clan).unwrap_or(&0) < spawner.amount { - match new.encyclopedia.construct(&spawner.template) { - Ok(mut preent) => { - preent.push(ComponentWrapper::Clan(spawner.clan.clone())); - preent.push(ComponentWrapper::Home(Home{home: position.pos})); - new.to_build.push((position.pos, preent)); - } - Err(err) => {println!("Error: can not spawn entity from spawner: {}", err);} + if triggerbox.has_message(&[Trigger::Spawn]) { + if *clan_nums.get(&spawner.clan).unwrap_or(&0) < spawner.amount { + match new.encyclopedia.construct(&spawner.template) { + Ok(mut preent) => { + preent.push(ComponentWrapper::Clan(spawner.clan.clone())); + preent.push(ComponentWrapper::Home(Home{home: position.pos})); + new.to_build.push((position.pos, preent)); } + Err(err) => {println!("Error: can not spawn entity from spawner: {}", err);} } } } -- cgit