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