From cbed21f5e6cfb449d49087cedc867c8e50721ba9 Mon Sep 17 00:00:00 2001 From: HampusM Date: Wed, 24 Sep 2025 22:16:50 +0200 Subject: refactor(ecs): replace Pair ctor functions with builder --- ecs/examples/component_relationship.rs | 15 +++++++++++--- ecs/examples/event_loop.rs | 37 +++++++++++++++++++++++++++++----- ecs/examples/relationship.rs | 5 ++++- ecs/examples/with_sole.rs | 8 +++++++- 4 files changed, 55 insertions(+), 10 deletions(-) (limited to 'ecs/examples') diff --git a/ecs/examples/component_relationship.rs b/ecs/examples/component_relationship.rs index 4453e3a..e07b214 100644 --- a/ecs/examples/component_relationship.rs +++ b/ecs/examples/component_relationship.rs @@ -39,17 +39,26 @@ fn main() world.create_entity(( Person { name: "Irving".to_string() }, - Pair::new_with_comp_target::(Dogs { large: true }), + Pair::builder() + .relation::() + .target_as_data(Dogs { large: true }) + .build(), )); world.create_entity(( Person { name: "Mark".to_string() }, - Pair::new_with_comp_target::(Cats), + Pair::builder() + .relation::() + .target_as_data(Cats) + .build(), )); world.create_entity(( Person { name: "Helena".to_string() }, - Pair::new_with_comp_target::(Dogs { large: false }), + Pair::builder() + .relation::() + .target_as_data(Dogs { large: false }) + .build(), )); world.step(); diff --git a/ecs/examples/event_loop.rs b/ecs/examples/event_loop.rs index cc2f7f4..bec2c00 100644 --- a/ecs/examples/event_loop.rs +++ b/ecs/examples/event_loop.rs @@ -65,11 +65,38 @@ fn age(query: Query<(&mut Health, &Name)>, mut actions: Actions) } } -declare_entity!(SHEER_PHASE, (Phase, Pair::new::(*UPDATE_PHASE))); - -declare_entity!(FEED_PHASE, (Phase, Pair::new::(*SHEER_PHASE))); - -declare_entity!(AGE_PHASE, (Phase, Pair::new::(*FEED_PHASE))); +declare_entity!( + SHEER_PHASE, + ( + Phase, + Pair::builder() + .relation::() + .target_id(*UPDATE_PHASE) + .build() + ) +); + +declare_entity!( + FEED_PHASE, + ( + Phase, + Pair::builder() + .relation::() + .target_id(*SHEER_PHASE) + .build() + ) +); + +declare_entity!( + AGE_PHASE, + ( + Phase, + Pair::builder() + .relation::() + .target_id(*FEED_PHASE) + .build() + ) +); fn main() { diff --git a/ecs/examples/relationship.rs b/ecs/examples/relationship.rs index dd2f77a..4e94151 100644 --- a/ecs/examples/relationship.rs +++ b/ecs/examples/relationship.rs @@ -46,7 +46,10 @@ fn main() world.create_entity(( Player, Health { health: 180 }, - Pair::new::(sword_uid), + Pair::builder() + .relation::() + .target_id(sword_uid) + .build(), )); world.step(); diff --git a/ecs/examples/with_sole.rs b/ecs/examples/with_sole.rs index a292f06..7e89b0a 100644 --- a/ecs/examples/with_sole.rs +++ b/ecs/examples/with_sole.rs @@ -33,7 +33,13 @@ fn print_total_ammo_count(ammo_counter: Single) declare_entity!( PRINT_AMMO_COUNT_PHASE, - (Phase, Pair::new::(*UPDATE_PHASE)) + ( + Phase, + Pair::builder() + .relation::() + .target_id(*UPDATE_PHASE) + .build() + ) ); fn main() -- cgit v1.2.3-18-g5258