From d9a1c9c2a71243eb899dae789392b46fa612f3da Mon Sep 17 00:00:00 2001 From: demenik Date: Tue, 9 Dec 2025 13:21:51 +0100 Subject: [PATCH] feat: Replace old popup with new UI element --- src/features/hud/components.rs | 1 - src/features/hud/mod.rs | 28 +--- src/features/inventory/components.rs | 1 - src/features/inventory/mod.rs | 28 +--- src/features/inventory/ui/inventory.rs | 75 +++------- src/features/savegame/components.rs | 1 - src/features/savegame/mod.rs | 17 +-- src/features/savegame/ui/load.rs | 189 ++++++++++--------------- src/features/shop/components.rs | 2 - src/features/shop/mod.rs | 27 +--- src/features/shop/ui/shop.rs | 68 +++------ 11 files changed, 115 insertions(+), 322 deletions(-) diff --git a/src/features/hud/components.rs b/src/features/hud/components.rs index 6d93783..9de7636 100644 --- a/src/features/hud/components.rs +++ b/src/features/hud/components.rs @@ -15,7 +15,6 @@ pub enum TextType { #[derive(Component)] pub enum ButtonType { SettingsOpen, - SettingsClose, SettingsExit, SettingsSave, SettingsTimerChange { diff --git a/src/features/hud/mod.rs b/src/features/hud/mod.rs index 4d358dd..4661850 100644 --- a/src/features/hud/mod.rs +++ b/src/features/hud/mod.rs @@ -1,6 +1,5 @@ use crate::features::phase::components::TimerSettings; use crate::features::savegame::messages::SavegameDumpMessage; -use crate::features::ui::messages::ClosePopupMessage; use crate::features::{inventory, shop}; use crate::prelude::*; use components::*; @@ -17,27 +16,11 @@ impl Plugin for HudPlugin { app.add_systems(OnExit(AppState::GameScreen), cleanup); app.add_systems( Update, - (update_status, buttons, update_timer_settings, close_popup) - .run_if(in_state(AppState::GameScreen)), + (update_status, buttons, update_timer_settings).run_if(in_state(AppState::GameScreen)), ); } } -fn close_popup( - mut commands: Commands, - mut close_popup_reader: MessageReader, - root_query: Query<(Entity, &RootMarker)>, -) { - for _ in close_popup_reader.read() { - for (entity, root) in root_query.iter() { - match *root { - RootMarker::Settings => commands.entity(entity).despawn(), - _ => {} - } - } - } -} - fn setup(mut commands: Commands) { commands.spawn(( RootMarker::Status, @@ -106,7 +89,6 @@ fn update_status(phase_res: Res, mut text_query: Query<(&mut Text, fn buttons( mut commands: Commands, mut interaction_query: Query<(&Interaction, &ButtonType), (Changed, With