amélioration de l'UI de l'inventaire et ajout de la récompense d'amélioration de taille d'inventaire #52

This commit is contained in:
2025-09-19 17:31:12 +02:00
parent 00c7e9bc4c
commit bcd8038b3a
19 changed files with 329 additions and 104 deletions

View File

@@ -3,6 +3,7 @@ class_name Player
const MAX_REACH = 100
const HOLDING_ITEM_SPRITE_SIZE = 20.
const DEFAULT_INVENTORY_SIZE = 2
signal player_updated(player: Player)
signal upgraded
@@ -25,7 +26,7 @@ var energy : int = max_energy :
energy = v
player_updated.emit(self)
@onready var inventory : Inventory = Inventory.new()
@onready var inventory : Inventory = Inventory.new(DEFAULT_INVENTORY_SIZE)
@onready var preview_zone : Area2D = null
@onready var action_zone : Area2D = null
@@ -123,13 +124,9 @@ func try_move(move_to : Vector2):
instruction = MoveInstruction.new(move_to)
func pick_item(item : Item) -> Item:
var itemAdded = inventory.add_item(item)
inventory.add_item(item)
var currentItem : Item = inventory.get_item()
var itemSwapped : bool = false
if itemAdded:
inventory.set_current_item(inventory.length() - 1)
else:
itemSwapped = inventory.set_item(item, inventory.current_item_ind)
play_sfx("pick")
if !itemSwapped:
currentItem = null
@@ -174,6 +171,11 @@ func upgrade_max_energy(amount = 1):
upgraded.emit()
player_updated.emit(self)
func upgrade_inventory_size(amount = 1):
inventory.size += amount
upgraded.emit()
player_updated.emit(self)
func recharge(amount : int = max_energy):
energy = energy + amount
upgraded.emit()