From 650217a7465161047f90548c7002b34716a8f2e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ahmet=20Kaan=20G=C3=BCm=C3=BC=C5=9F?= Date: Wed, 19 Feb 2025 04:31:26 +0300 Subject: [PATCH] feat: :sparkles: inventory panel --- assets/inventory.png | Bin 0 -> 128 bytes src/lib.rs | 36 ++++++++++++++++++------- src/market.rs | 12 +++++---- src/player.rs | 41 +++++++++++++--------------- src/player_inventory.rs | 58 ++++++++++++++++++++++++++++++++++++++++ src/ui.rs | 22 +++++++-------- src/water.rs | 8 +++--- 7 files changed, 125 insertions(+), 52 deletions(-) create mode 100644 assets/inventory.png create mode 100644 src/player_inventory.rs diff --git a/assets/inventory.png b/assets/inventory.png new file mode 100644 index 0000000000000000000000000000000000000000..f8373fae91e54cd54238184e51a6df537247b038 GIT binary patch literal 128 zcmeAS@N?(olHy`uVBq!ia0vp^3P3Et!3HGD8EPYe6k~CayA#8@b22Z194k*3#}JRs z>, - mut player_query: Query<&mut Player, With>, + mut player_inventory_query: Query<&mut PlayerInventory, With>, market_query: Query<&Transform, With>, keyboard: Res>, ) { let player_transform = player_transform_query.get_single().unwrap(); - let mut player = player_query.get_single_mut().unwrap(); + let mut player_inventory = player_inventory_query.get_single_mut().unwrap(); for market_query in &market_query { let distance = player_transform @@ -32,8 +34,8 @@ impl Market { if distance < INTERACTION_AREA_RADIUS { if keyboard.just_pressed(KeyCode::KeyE) { - player.money = player.fish_count * FISH_PRICE; - player.fish_count = 0; + player_inventory.money += player_inventory.fish * FISH_PRICE; + player_inventory.fish = 0; } } } diff --git a/src/player.rs b/src/player.rs index 7d0c500..7ec75cd 100644 --- a/src/player.rs +++ b/src/player.rs @@ -1,12 +1,9 @@ use bevy::prelude::*; -use crate::CHARACTER_SPEED; +use crate::{PlayerGUIStatus, CHARACTER_SPEED}; #[derive(Debug, Component)] -pub struct Player { - pub fish_count: usize, - pub money: usize, -} +pub struct Player; impl Player { pub fn setup(mut commands: Commands, asset_server: Res) { @@ -14,10 +11,7 @@ impl Player { commands.spawn(( Sprite::from_image(image), Transform::from_xyz(0.0, 0.0, 0.0), - Player { - fish_count: 0, - money: 0, - }, + Player, )); } @@ -25,21 +19,24 @@ impl Player { time: Res