summaryrefslogtreecommitdiff
path: root/ecs/examples/with_single.rs
diff options
context:
space:
mode:
Diffstat (limited to 'ecs/examples/with_single.rs')
-rw-r--r--ecs/examples/with_single.rs59
1 files changed, 0 insertions, 59 deletions
diff --git a/ecs/examples/with_single.rs b/ecs/examples/with_single.rs
deleted file mode 100644
index d222f76..0000000
--- a/ecs/examples/with_single.rs
+++ /dev/null
@@ -1,59 +0,0 @@
-use ecs::component::single::Single;
-use ecs::event::Event;
-use ecs::{Component, Query, World};
-
-#[derive(Component)]
-struct Ammo
-{
- ammo_left: u32,
-}
-
-#[derive(Component, Default)]
-struct AmmoCounter
-{
- counter: u32,
-}
-
-fn count_ammo(query: Query<(Ammo,)>, mut ammo_counter: Single<AmmoCounter>)
-{
- for (ammo,) in &query {
- println!("Found {} ammo", ammo.ammo_left);
-
- ammo_counter.counter += ammo.ammo_left;
- }
-}
-
-fn print_total_ammo_count(ammo_counter: Single<AmmoCounter>)
-{
- println!("Total ammo count: {}", ammo_counter.counter);
-
- assert_eq!(ammo_counter.counter, 19);
-}
-
-#[derive(Debug)]
-struct EventA;
-
-impl Event for EventA {}
-
-#[derive(Debug)]
-struct EventB;
-
-impl Event for EventB {}
-
-fn main()
-{
- let mut world = World::new();
-
- world.register_system(EventA, count_ammo);
- world.register_system(EventB, print_total_ammo_count);
-
- world.create_entity((Ammo { ammo_left: 4 },));
- world.create_entity((Ammo { ammo_left: 7 },));
- world.create_entity((Ammo { ammo_left: 8 },));
-
- world.add_single_component(AmmoCounter::default()).unwrap();
-
- world.emit(EventA);
-
- world.emit(EventB);
-}