feat: Add keybind for shop (#34)

This commit is contained in:
demenik
2025-12-01 15:20:31 +01:00
parent 8d2a41fe5c
commit 9d69d8f253
2 changed files with 15 additions and 1 deletions

View File

@@ -48,7 +48,7 @@ fn setup(mut commands: Commands) {
padding: UiRect::all(px(10)), padding: UiRect::all(px(10)),
..default() ..default()
}, },
|color| text("Shop", 16.0, color) |color| text("Shop [P]", 16.0, color)
), ),
button( button(
inventory::components::ButtonType::InventoryOpen, inventory::components::ButtonType::InventoryOpen,

View File

@@ -1,6 +1,7 @@
use crate::features::{ use crate::features::{
phase::messages::{NextPhaseMessage, PhaseTimerPauseMessage}, phase::messages::{NextPhaseMessage, PhaseTimerPauseMessage},
pom::messages::InvalidMoveMessage, pom::messages::InvalidMoveMessage,
shop::ui::open_shop,
}; };
use crate::prelude::*; use crate::prelude::*;
use bevy::input::mouse::MouseButton; use bevy::input::mouse::MouseButton;
@@ -28,6 +29,8 @@ impl Plugin for InputPlugin {
app.add_message::<NextPhaseMessage>(); app.add_message::<NextPhaseMessage>();
app.add_systems(Update, next_phase.run_if(in_state(AppState::GameScreen))); app.add_systems(Update, next_phase.run_if(in_state(AppState::GameScreen)));
app.add_systems(Update, shop_keybind.run_if(in_state(AppState::GameScreen)));
} }
} }
@@ -135,3 +138,14 @@ fn next_phase(mut messages: MessageWriter<NextPhaseMessage>, keys: Res<ButtonInp
messages.write(NextPhaseMessage); messages.write(NextPhaseMessage);
} }
} }
fn shop_keybind(
keys: Res<ButtonInput<KeyCode>>,
mut commands: Commands,
game_config: Res<GameConfig>,
asset_server: Res<AssetServer>,
) {
if keys.just_pressed(KeyCode::KeyP) {
open_shop(&mut commands, &game_config, &asset_server);
}
}