diff options
| author | HampusM <hampus@hampusmat.com> | 2026-05-21 17:55:20 +0200 |
|---|---|---|
| committer | HampusM <hampus@hampusmat.com> | 2026-05-21 17:55:20 +0200 |
| commit | 8022e8998290b067b8aa0cb9cba8ba410826bdab (patch) | |
| tree | 7171e79ce530e03079046ee8fd12167160c45480 /ecs/examples/event_loop.rs | |
| parent | 412cee02c252f91bcf0b70a3f5cc5fca6d2b4c62 (diff) | |
chore: rename ecs* crates to engine-ecs*
Diffstat (limited to 'ecs/examples/event_loop.rs')
| -rw-r--r-- | ecs/examples/event_loop.rs | 120 |
1 files changed, 0 insertions, 120 deletions
diff --git a/ecs/examples/event_loop.rs b/ecs/examples/event_loop.rs deleted file mode 100644 index bec2c00..0000000 --- a/ecs/examples/event_loop.rs +++ /dev/null @@ -1,120 +0,0 @@ -use ecs::actions::Actions; -use ecs::pair::{ChildOf, Pair}; -use ecs::phase::{Phase, UPDATE as UPDATE_PHASE}; -use ecs::{declare_entity, Component, Query, World}; - -#[derive(Component)] -struct Wool -{ - remaining: u32, -} - -#[derive(Component)] -struct Health -{ - health: u32, -} - -#[derive(Component)] -struct Name -{ - name: &'static str, -} - -fn sheer(query: Query<(&mut Wool, &Name)>) -{ - for (mut wool, name) in &query { - if wool.remaining == 0 { - println!("{} Has no wool left", name.name); - - continue; - } - - // Sheer the whool - wool.remaining -= 5; - - println!("Sheered 5 wool from {}", name.name); - } -} - -fn feed(query: Query<(&mut Health, &Name)>) -{ - for (mut health, name) in &query { - health.health += 1; - - println!("Feeded {} which gained 1 health", name.name); - } -} - -fn age(query: Query<(&mut Health, &Name)>, mut actions: Actions) -{ - for (mut health, name) in &query { - if health.health <= 2 { - health.health = 0; - - println!("{} passed away", name.name); - - actions.stop(); - - continue; - } - - health.health -= 2; - - println!("{} aged and lost 2 health", name.name); - } -} - -declare_entity!( - SHEER_PHASE, - ( - Phase, - Pair::builder() - .relation::<ChildOf>() - .target_id(*UPDATE_PHASE) - .build() - ) -); - -declare_entity!( - FEED_PHASE, - ( - Phase, - Pair::builder() - .relation::<ChildOf>() - .target_id(*SHEER_PHASE) - .build() - ) -); - -declare_entity!( - AGE_PHASE, - ( - Phase, - Pair::builder() - .relation::<ChildOf>() - .target_id(*FEED_PHASE) - .build() - ) -); - -fn main() -{ - let mut world = World::new(); - - world.create_declared_entity(&SHEER_PHASE); - world.create_declared_entity(&FEED_PHASE); - world.create_declared_entity(&AGE_PHASE); - - world.register_system(*SHEER_PHASE, sheer); - world.register_system(*FEED_PHASE, feed); - world.register_system(*AGE_PHASE, age); - - world.create_entity(( - Wool { remaining: 30 }, - Health { health: 3 }, - Name { name: "Bessy" }, - )); - - world.start_loop(); -} |
