From 7f3072ed7e016dff359439d7580403e36ad6b325 Mon Sep 17 00:00:00 2001 From: HampusM Date: Wed, 15 Oct 2025 18:40:19 +0200 Subject: feat(ecs): add EventMatch convenience fns for component events --- ecs/examples/component_changed_event.rs | 8 +------- ecs/examples/component_events.rs | 8 ++------ ecs/examples/component_removed_event.rs | 4 +--- 3 files changed, 4 insertions(+), 16 deletions(-) (limited to 'ecs/examples') diff --git a/ecs/examples/component_changed_event.rs b/ecs/examples/component_changed_event.rs index 6dde384..1a53a88 100644 --- a/ecs/examples/component_changed_event.rs +++ b/ecs/examples/component_changed_event.rs @@ -33,13 +33,7 @@ fn print_changed_greetings(observe: Observe<'_, Pair>) println!("\nChanged greetings:"); for evt_match in &observe { - let Some(changed_ent) = evt_match.get_entity() else { - continue; - }; - - let Some(greeting) = changed_ent.get::() else { - unreachable!(); - }; + let greeting = evt_match.get_changed_comp(); println!("A greeting changed to {}", greeting.greeting); } diff --git a/ecs/examples/component_events.rs b/ecs/examples/component_events.rs index 4e7335f..af09ff9 100644 --- a/ecs/examples/component_events.rs +++ b/ecs/examples/component_events.rs @@ -33,9 +33,7 @@ fn eat_cheese(query: Query<(&Cheese, &mut CheeseCrumbs)>, mut actions: Actions) fn on_cheese_removed(observe: Observe>) { for evt_match in &observe { - let ent = evt_match.get_entity().unwrap(); - - let cheese = ent.get::().unwrap(); + let cheese = evt_match.get_removed_comp(); println!("{} cheese was eaten", cheese.name); } @@ -44,9 +42,7 @@ fn on_cheese_removed(observe: Observe>) fn on_cheese_crumbs_changed(observe: Observe>) { for evt_match in &observe { - let ent = evt_match.get_entity().unwrap(); - - let cheese_crumbs = ent.get::().unwrap(); + let cheese_crumbs = evt_match.get_changed_comp(); println!("Cheese crumbs count changed to {}", cheese_crumbs.cnt); } diff --git a/ecs/examples/component_removed_event.rs b/ecs/examples/component_removed_event.rs index f984092..776aa48 100644 --- a/ecs/examples/component_removed_event.rs +++ b/ecs/examples/component_removed_event.rs @@ -24,9 +24,7 @@ fn eat_cheese(query: Query<(&Cheese,)>, mut actions: Actions) fn on_cheese_removed(observe: Observe>) { for evt_match in &observe { - let ent = evt_match.get_entity().unwrap(); - - let cheese = ent.get::().unwrap(); + let cheese = evt_match.get_removed_comp(); println!("{} cheese was eaten", cheese.name); } -- cgit v1.2.3-18-g5258