From 1b380b31f50035f10f651e220effe8a2970c0fd5 Mon Sep 17 00:00:00 2001 From: troido Date: Tue, 12 May 2020 21:51:37 +0200 Subject: removed 'substitute' part of encyclopedia --- src/systems/spawntrigger.rs | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 src/systems/spawntrigger.rs (limited to 'src/systems/spawntrigger.rs') diff --git a/src/systems/spawntrigger.rs b/src/systems/spawntrigger.rs new file mode 100644 index 0000000..95e95a8 --- /dev/null +++ b/src/systems/spawntrigger.rs @@ -0,0 +1,34 @@ + + +use specs::{ + WriteStorage, + ReadStorage, + Entities, + System, + Join +}; + +use crate::{ + components::{ + TriggerBox, + OnSpawn, + New + } +}; + + +pub struct SpawnTrigger; +impl <'a> System<'a> for SpawnTrigger { + type SystemData = ( + Entities<'a>, + WriteStorage<'a, TriggerBox>, + ReadStorage<'a, OnSpawn>, + ReadStorage<'a, New> + ); + + fn run(&mut self, (entities, mut triggerboxes, onspawns, news): Self::SystemData) { + for (entity, onspawn, _new) in (&entities, &onspawns, &news).join(){ + TriggerBox::add_message(&mut triggerboxes, entity, onspawn.trigger); + } + } +} -- cgit