From 269a211e1eaa8504f58ae113021dbb445a637eaa Mon Sep 17 00:00:00 2001 From: Shawn Workman Date: Thu, 30 Nov 2023 14:11:09 -0800 Subject: [PATCH] fix(bevy_gltf_blueprints): fixed main_menu handling in examples * restrict main_menu system to only run in AppState::MenuRunning * this is desired because hitting enter once we transition to AppState::AppRunning pressing enter will still trigger keycode.just_pressed in main_menu and set state to AppState::AppLoading and crash the game when it tries to create another scene, camera, etc... --- examples/bevy_gltf_blueprints/animation/src/game/mod.rs | 2 +- examples/bevy_gltf_blueprints/basic/src/game/mod.rs | 2 +- .../bevy_gltf_blueprints/basic_xpbd_physics/src/game/mod.rs | 2 +- examples/bevy_gltf_blueprints/multiple_levels/src/game/mod.rs | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/examples/bevy_gltf_blueprints/animation/src/game/mod.rs b/examples/bevy_gltf_blueprints/animation/src/game/mod.rs index f605557..69a5ae4 100644 --- a/examples/bevy_gltf_blueprints/animation/src/game/mod.rs +++ b/examples/bevy_gltf_blueprints/animation/src/game/mod.rs @@ -122,7 +122,7 @@ impl Plugin for GamePlugin { ) .add_systems(OnEnter(AppState::MenuRunning), setup_main_menu) .add_systems(OnExit(AppState::MenuRunning), teardown_main_menu) - .add_systems(Update, (main_menu)) + .add_systems(Update, main_menu.run_if(in_state(AppState::MenuRunning))) .add_systems(OnEnter(AppState::AppRunning), setup_game); } } diff --git a/examples/bevy_gltf_blueprints/basic/src/game/mod.rs b/examples/bevy_gltf_blueprints/basic/src/game/mod.rs index 3443c45..a650314 100644 --- a/examples/bevy_gltf_blueprints/basic/src/game/mod.rs +++ b/examples/bevy_gltf_blueprints/basic/src/game/mod.rs @@ -109,7 +109,7 @@ impl Plugin for GamePlugin { ) .add_systems(OnEnter(AppState::MenuRunning), setup_main_menu) .add_systems(OnExit(AppState::MenuRunning), teardown_main_menu) - .add_systems(Update, (main_menu)) + .add_systems(Update, main_menu.run_if(in_state(AppState::MenuRunning))) .add_systems(OnEnter(AppState::AppRunning), setup_game); } } diff --git a/examples/bevy_gltf_blueprints/basic_xpbd_physics/src/game/mod.rs b/examples/bevy_gltf_blueprints/basic_xpbd_physics/src/game/mod.rs index 28cbdf3..c2febcd 100644 --- a/examples/bevy_gltf_blueprints/basic_xpbd_physics/src/game/mod.rs +++ b/examples/bevy_gltf_blueprints/basic_xpbd_physics/src/game/mod.rs @@ -101,7 +101,7 @@ impl Plugin for GamePlugin { ) .add_systems(OnEnter(AppState::MenuRunning), setup_main_menu) .add_systems(OnExit(AppState::MenuRunning), teardown_main_menu) - .add_systems(Update, (main_menu)) + .add_systems(Update, main_menu.run_if(in_state(AppState::MenuRunning))) .add_systems(OnEnter(AppState::AppRunning), setup_game); } } diff --git a/examples/bevy_gltf_blueprints/multiple_levels/src/game/mod.rs b/examples/bevy_gltf_blueprints/multiple_levels/src/game/mod.rs index 8c2edc0..80bdcc1 100644 --- a/examples/bevy_gltf_blueprints/multiple_levels/src/game/mod.rs +++ b/examples/bevy_gltf_blueprints/multiple_levels/src/game/mod.rs @@ -115,7 +115,7 @@ impl Plugin for GamePlugin { ) .add_systems(OnEnter(AppState::MenuRunning), setup_main_menu) .add_systems(OnExit(AppState::MenuRunning), teardown_main_menu) - .add_systems(Update, (main_menu)) + .add_systems(Update, main_menu.run_if(in_state(AppState::MenuRunning))) .add_systems(OnEnter(AppState::AppRunning), setup_game); } }