feat: inventory panel

This commit is contained in:
Ahmet Kaan Gümüş 2025-02-19 04:31:26 +03:00
parent 9f52e24582
commit 650217a746
7 changed files with 125 additions and 52 deletions

View file

@ -1,6 +1,8 @@
use bevy::prelude::*;
use crate::{player::Player, FISH_PRICE, INTERACTION_AREA_RADIUS};
use crate::{
player::Player, player_inventory::PlayerInventory, FISH_PRICE, INTERACTION_AREA_RADIUS,
};
#[derive(Debug, Component)]
pub struct Market;
@ -18,12 +20,12 @@ impl Market {
pub fn sell(
player_transform_query: Query<&Transform, With<Player>>,
mut player_query: Query<&mut Player, With<Player>>,
mut player_inventory_query: Query<&mut PlayerInventory, With<PlayerInventory>>,
market_query: Query<&Transform, With<Market>>,
keyboard: Res<ButtonInput<KeyCode>>,
) {
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;
}
}
}