From 433a3ce5e80d517a896170570d01969eacf19d80 Mon Sep 17 00:00:00 2001 From: Kristofers Solo Date: Mon, 23 Dec 2024 14:55:27 +0200 Subject: [PATCH] refactor(floor): separate systems --- src/floor/systems/mod.rs | 9 +++++-- src/floor/systems/movement.rs | 44 +++++++++++++++++++---------------- 2 files changed, 31 insertions(+), 22 deletions(-) diff --git a/src/floor/systems/mod.rs b/src/floor/systems/mod.rs index 2c82479..43c50b2 100644 --- a/src/floor/systems/mod.rs +++ b/src/floor/systems/mod.rs @@ -5,13 +5,18 @@ mod spawn; use crate::maze::MazePluginLoaded; use bevy::prelude::*; use despawn::despawn_floor; -use movement::floor_movement; +use movement::{handle_floor_transition_events, move_floors}; use spawn::spawn_floor; pub(super) fn plugin(app: &mut App) { app.add_systems( Update, - (spawn_floor, despawn_floor, floor_movement) + ( + spawn_floor, + despawn_floor, + handle_floor_transition_events, + move_floors, + ) .chain() .run_if(resource_exists::), ); diff --git a/src/floor/systems/movement.rs b/src/floor/systems/movement.rs index 7b7d113..795e985 100644 --- a/src/floor/systems/movement.rs +++ b/src/floor/systems/movement.rs @@ -3,21 +3,40 @@ use crate::{ components::{CurrentFloor, MovementState, NextFloor}, events::TransitionFloor, }, - maze::{components::Maze, GlobalMazeConfig}, + maze::components::Maze, player::components::{MovementSpeed, Player}, }; use bevy::prelude::*; const MOVEMENT_THRESHOLD: f32 = 0.001; -pub(super) fn floor_movement( +pub(super) fn move_floors( + mut commands: Commands, + mut maze_query: Query<(Entity, &mut Transform, Option<&mut MovementState>), With>, + player_query: Query<&MovementSpeed, With>, + time: Res