From b30bff0c4df7cba56603b09750f52e502c1d38b4 Mon Sep 17 00:00:00 2001 From: Ben Frankel Date: Sun, 28 Jul 2024 16:24:41 -0700 Subject: [PATCH] Fix queued level-ups --- src/game/actor/level/up.rs | 8 +++++--- src/screen/playing.rs | 2 +- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/game/actor/level/up.rs b/src/game/actor/level/up.rs index 101ee86..78761b1 100644 --- a/src/game/actor/level/up.rs +++ b/src/game/actor/level/up.rs @@ -1,14 +1,15 @@ use bevy::prelude::*; use bevy_kira_audio::prelude::*; +use pyri_state::prelude::*; use crate::core::UpdateSet; use crate::game::actor::level::xp::Xp; use crate::game::actor::level::Level; use crate::game::actor::level::LevelConfig; use crate::screen::playing::PlayingAssets; +use crate::screen::playing::PlayingMenu; use crate::util::prelude::*; -// TODO: System that enters level up menu on LevelUp event. pub(super) fn plugin(app: &mut App) { app.configure::(); } @@ -27,8 +28,9 @@ impl Configure for LevelUp { .in_set(UpdateSet::Update) .run_if(on_event::()), update_level_up_from_xp.in_set(UpdateSet::TriggerLevelUp), - // TODO: Only run if not in level up menu. - trigger_level_up.in_set(UpdateSet::TriggerLevelUp), + trigger_level_up + .in_set(UpdateSet::TriggerLevelUp) + .run_if(PlayingMenu::is_disabled), ) .chain(), ); diff --git a/src/screen/playing.rs b/src/screen/playing.rs index 9dc0e80..7edc1e8 100644 --- a/src/screen/playing.rs +++ b/src/screen/playing.rs @@ -154,7 +154,7 @@ impl Configure for PlayingAction { #[derive(State, Eq, PartialEq, Clone, Debug, Reflect)] #[state(after(Screen), before(Pause), entity_scope, log_flush)] #[reflect(Resource)] -enum PlayingMenu { +pub enum PlayingMenu { Pause, LevelUp, Victory,