mirror of
https://github.com/kristoferssolo/maze-ascension.git
synced 2025-10-21 19:20:34 +00:00
feat(pause): hide walls and player when paused
This commit is contained in:
parent
5d50daf768
commit
7a4bcd81f9
@ -2,7 +2,13 @@ pub mod common;
|
||||
pub mod despawn;
|
||||
pub mod respawn;
|
||||
pub mod spawn;
|
||||
mod toogle_pause;
|
||||
|
||||
use bevy::prelude::*;
|
||||
use toogle_pause::toggle_walls;
|
||||
|
||||
pub(super) fn plugin(_app: &mut App) {}
|
||||
use crate::screens::Screen;
|
||||
|
||||
pub(super) fn plugin(app: &mut App) {
|
||||
app.add_systems(Update, toggle_walls.run_if(state_changed::<Screen>));
|
||||
}
|
||||
|
||||
13
src/maze/systems/toogle_pause.rs
Normal file
13
src/maze/systems/toogle_pause.rs
Normal file
@ -0,0 +1,13 @@
|
||||
use bevy::prelude::*;
|
||||
|
||||
use crate::{maze::components::Wall, screens::Screen};
|
||||
|
||||
pub fn toggle_walls(mut query: Query<&mut Visibility, With<Wall>>, state: Res<State<Screen>>) {
|
||||
for mut visibility in query.iter_mut() {
|
||||
*visibility = match *state.get() {
|
||||
Screen::Gameplay => Visibility::Visible,
|
||||
Screen::Pause => Visibility::Hidden,
|
||||
_ => *visibility,
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -4,6 +4,7 @@ mod movement;
|
||||
pub mod respawn;
|
||||
mod sound_effect;
|
||||
pub mod spawn;
|
||||
mod toogle_pause;
|
||||
mod vertical_transition;
|
||||
|
||||
use crate::{screens::Screen, AppSet};
|
||||
@ -11,6 +12,7 @@ use bevy::prelude::*;
|
||||
use input::player_input;
|
||||
use movement::player_movement;
|
||||
use sound_effect::play_movement_sound;
|
||||
use toogle_pause::toggle_player;
|
||||
use vertical_transition::handle_floor_transition;
|
||||
|
||||
use super::assets::PlayerAssets;
|
||||
@ -30,4 +32,5 @@ pub(super) fn plugin(app: &mut App) {
|
||||
.chain()
|
||||
.run_if(in_state(Screen::Gameplay)),
|
||||
);
|
||||
app.add_systems(Update, toggle_player.run_if(state_changed::<Screen>));
|
||||
}
|
||||
|
||||
13
src/player/systems/toogle_pause.rs
Normal file
13
src/player/systems/toogle_pause.rs
Normal file
@ -0,0 +1,13 @@
|
||||
use bevy::prelude::*;
|
||||
|
||||
use crate::{player::components::Player, screens::Screen};
|
||||
|
||||
pub fn toggle_player(mut query: Query<&mut Visibility, With<Player>>, state: Res<State<Screen>>) {
|
||||
for mut visibility in query.iter_mut() {
|
||||
*visibility = match *state.get() {
|
||||
Screen::Gameplay => Visibility::Visible,
|
||||
Screen::Pause => Visibility::Hidden,
|
||||
_ => *visibility,
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user