diff options
Diffstat (limited to 'ecs/examples/multiple_queries.rs')
-rw-r--r-- | ecs/examples/multiple_queries.rs | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/ecs/examples/multiple_queries.rs b/ecs/examples/multiple_queries.rs index 9a699c2..ed02a69 100644 --- a/ecs/examples/multiple_queries.rs +++ b/ecs/examples/multiple_queries.rs @@ -1,5 +1,6 @@ use std::fmt::Display; +use ecs::event::{Event, Id as EventId}; use ecs::{Component, Query, World}; #[derive(Component)] @@ -57,16 +58,21 @@ fn do_attacks( } #[derive(Debug, PartialEq, Eq, Hash)] -enum Event +struct Start; + +impl Event for Start { - Start, + fn id(&self) -> EventId + { + EventId::of::<Self>() + } } fn main() { - let mut world = World::<Event>::new(); + let mut world = World::new(); - world.register_system(Event::Start, do_attacks); + world.register_system(&Start, do_attacks); world.create_entity(( Health { health: 100 }, @@ -86,5 +92,5 @@ fn main() world.create_entity((AttackStrength::Strong,)); world.create_entity((AttackStrength::Weak,)); - world.emit(&Event::Start); + world.emit(&Start); } |