From 323f9e1e9efc627ac2c290ab4e340e2dc6e29216 Mon Sep 17 00:00:00 2001 From: demenik Date: Mon, 1 Dec 2025 16:00:38 +0100 Subject: [PATCH] feat: Add berry debug binds --- README.md | 2 ++ src/features/inventory/mod.rs | 21 +++++++++++++++++++++ 2 files changed, 23 insertions(+) diff --git a/README.md b/README.md index c64f0ef..73f0c50 100644 --- a/README.md +++ b/README.md @@ -41,6 +41,8 @@ cargo run - `Shift + Enter`: Duration of the current phase is set to 3 seconds. - `Left Mouse Button` on Tile: Rotate tile state. +- `Shift + Arrow Up`: Add one berry to your inventory +- `Shift + Arrow Down`: Remove one berry from your inventory --- diff --git a/src/features/inventory/mod.rs b/src/features/inventory/mod.rs index 5e91a71..2218ca2 100644 --- a/src/features/inventory/mod.rs +++ b/src/features/inventory/mod.rs @@ -11,6 +11,9 @@ impl Plugin for InventoryPlugin { app.init_resource::(); app.add_systems(Update, buttons.run_if(in_state(AppState::GameScreen))); + + #[cfg(debug_assertions)] + app.add_systems(Update, debug_modify_berries); } } @@ -40,3 +43,21 @@ fn buttons( } } } + +#[cfg(debug_assertions)] +fn debug_modify_berries( + mut commands: Commands, + mut inventory: ResMut, + mut items: Query<&mut ItemStack>, + keys: Res>, +) { + if keys.any_pressed([KeyCode::ShiftLeft, KeyCode::ShiftRight]) { + if keys.just_pressed(KeyCode::ArrowUp) { + println!("Adding 1 berry using debug bind"); + inventory.update_item_stack(&mut commands, &mut items, ItemType::Berry, 1); + } else if keys.just_pressed(KeyCode::ArrowDown) { + println!("Removing 1 berry using debug bind"); + inventory.update_item_stack(&mut commands, &mut items, ItemType::Berry, -1); + } + } +}