From 19e992287cad04b0adad28349f4aeca4681e1597 Mon Sep 17 00:00:00 2001 From: Louis <contact@louiscap.co> Date: Sun, 27 Apr 2025 22:45:14 +0100 Subject: [PATCH] Upgrade to Bevy 0.16 --- Cargo.toml | 5 ++--- README.md | 1 + src/lib.rs | 30 +++++++++++++++--------------- 3 files changed, 18 insertions(+), 18 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 4aa7532..0e23971 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "micro_bevy_world_utils" -version = "0.6.0" +version = "0.7.0" edition = "2021" license = "Apache-2.0" description = "Handy, reusable utilities for working with direct world access in a Bevy exclusive system" @@ -10,5 +10,4 @@ authors = [ repository = "https://lab.lcr.gr/microhacks/micro-bevy-world-utils" [dependencies] -bevy_ecs = "0.15" -bevy_hierarchy = "0.15" +bevy_ecs = "0.16" diff --git a/README.md b/README.md index 3e6cb3e..da3c8a7 100644 --- a/README.md +++ b/README.md @@ -35,6 +35,7 @@ the given entities, the result will be `None` | world_utiles ver | bevy ver | |------------------|----------| +| 0.7 | 0.16 | | 0.6 | 0.15 | | 0.5 | 0.14 | | 0.4 | 0.13 | diff --git a/src/lib.rs b/src/lib.rs index 9a301e5..8a69daf 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -35,7 +35,7 @@ use bevy_ecs::{ system::{Query, SystemState}, world::World, }; -use bevy_hierarchy::Parent; +use bevy_ecs::hierarchy::ChildOf; pub type Left = Entity; pub type Right = Entity; @@ -72,20 +72,20 @@ fn inner_get_left_right_parent_entities< ) -> Option<SortedEntities> { let mut state = SystemState::<( Query<(), LeftSide>, - Query<&Parent, RightSide>, + Query<&ChildOf, RightSide>, Query<(), ParentSide>, )>::new(world); let (left_query, right_query, parent_query) = state.get(world); if left_query.contains(*first) { - if let Ok(parent) = right_query.get(*second) { - let parent = parent.get(); + if let Ok(related) = right_query.get(*second) { + let parent = related.parent(); if parent_query.contains(parent) { return Some((*first, parent)); } } } else if left_query.contains(*second) { - if let Ok(parent) = right_query.get(*first) { - let parent = parent.get(); + if let Ok(related) = right_query.get(*first) { + let parent = related.parent(); if parent_query.contains(parent) { return Some((*second, parent)); } @@ -106,25 +106,25 @@ fn inner_get_left_parent_right_parent_entities< second: &Entity, ) -> Option<SortedEntities> { let mut state = SystemState::<( - Query<&Parent, LeftSide>, - Query<&Parent, RightSide>, + Query<&ChildOf, LeftSide>, + Query<&ChildOf, RightSide>, Query<(), LeftParent>, Query<(), RightParent>, )>::new(world); let (left_query, right_query, left_parent_query, right_parent_query) = state.get(world); if let Ok(left_parent) = left_query.get(*first) { - if left_parent_query.contains(left_parent.get()) { + if left_parent_query.contains(left_parent.parent()) { if let Ok(right_parent) = right_query.get(*second) { - if right_parent_query.contains(right_parent.get()) { - return Some((left_parent.get(), right_parent.get())); + if right_parent_query.contains(right_parent.parent()) { + return Some((left_parent.parent(), right_parent.parent())); } } } } else if let Ok(left_parent) = left_query.get(*second) { - if left_parent_query.contains(left_parent.get()) { + if left_parent_query.contains(left_parent.parent()) { if let Ok(right_parent) = right_query.get(*first) { - if right_parent_query.contains(right_parent.get()) { - return Some((left_parent.get(), right_parent.get())); + if right_parent_query.contains(right_parent.parent()) { + return Some((left_parent.parent(), right_parent.parent())); } } } @@ -246,7 +246,7 @@ pub fn send_event<Event: bevy_ecs::event::Event + Sync + Send + 'static>( ) { SystemState::<EventWriter<Event>>::new(world) .get_mut(world) - .send(event); + .write(event); } /// Clone the data from a specific component of the target entity, as long as that entity -- GitLab