From 99c398cc127dbc83480f98fea8c76f7c19d4dce8 Mon Sep 17 00:00:00 2001 From: Silas Bartha Date: Wed, 16 Oct 2024 15:12:15 -0400 Subject: Navigation Rewrite --- src/systems.rs | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) (limited to 'src/systems.rs') diff --git a/src/systems.rs b/src/systems.rs index ac5f667..6c3bc71 100644 --- a/src/systems.rs +++ b/src/systems.rs @@ -1,6 +1,9 @@ -use bevy::{prelude::{Commands, ResMut}, tasks::{block_on, futures_lite::future}}; +use bevy::{ + prelude::*, + tasks::{block_on, futures_lite::future}, +}; -use crate::resources::DirworldTasks; +use crate::{components::DirworldEntity, payload::DirworldComponent, resources::DirworldTasks}; pub fn remove_completed_tasks(mut commands: Commands, mut tasks: ResMut) { tasks.retain(|_, task| { @@ -12,3 +15,20 @@ pub fn remove_completed_tasks(mut commands: Commands, mut tasks: ResMut, &GlobalTransform)>, +) { + for (mut dirworld_entity, transform, global_transform) in dirworld_entity_query.iter_mut() { + if transform.is_changed() && !transform.is_added() { + if let Some(payload) = &mut dirworld_entity.payload { + if let Some(DirworldComponent::Transform(payload_transform)) = + payload.component_mut("Transform") + { + let transform = global_transform.compute_transform(); + *payload_transform = transform; + } + } + } + } +} -- cgit v1.2.3