use crate::{ floor::components::CurrentFloor, maze::{components::MazeConfig, GlobalMazeConfig}, player::{components::Player, events::RespawnPlayer}, }; use bevy::prelude::*; use super::{despawn::despawn_players, spawn::spawn_player}; pub(crate) fn respawn_player( mut commands: Commands, query: Query>, maze_config_query: Query<&MazeConfig, With>, mut event_reader: EventReader, mut meshes: ResMut>, mut materials: ResMut>, global_config: Res, ) { let maze_config = maze_config_query.single(); for _ in event_reader.read() { despawn_players(&mut commands, &query); spawn_player( &mut commands, &mut meshes, &mut materials, &maze_config, &global_config, ); } }