inventaire de 3 items #52

This commit is contained in:
Altaezio
2025-09-19 13:30:05 +02:00
parent 42edc97401
commit 88bfa71bd8
12 changed files with 216 additions and 28 deletions

View File

@@ -34,6 +34,15 @@ func _ready():
inventory.inventory_changed.connect(_on_inventory_updated)
Pointer.player = self
func _input(_event) -> void:
if Input.is_action_pressed("change_item_left"):
inventory.change_current_item(1)
if Input.is_action_pressed("change_item_right"):
inventory.change_current_item(-1)
for i in range(1, 10):
if Input.is_action_pressed("item_" + str(i)):
inventory.set_current_item(i - 1)
# Méthode déclenchée par la classe planet
func _start_pass_day():
controlling_player = false
@@ -67,16 +76,17 @@ func _process(_delta):
move_and_slide()
func _on_inventory_updated(_inventory: Inventory):
if inventory.get_item():
setup_preview_zone(inventory.get_item().usage_zone_radius)
var item_texture = inventory.get_item().icon
var item : Item = inventory.get_item()
if item:
setup_preview_zone(item.usage_zone_radius)
var item_texture = item.icon
%ItemSprite.texture = item_texture
%ItemSprite.scale = Vector2(
1./(item_texture.get_width()/HOLDING_ITEM_SPRITE_SIZE),
1./(item_texture.get_height()/HOLDING_ITEM_SPRITE_SIZE)
)
%HideEyes.visible = inventory.get_item() != null
%ItemSprite.visible = inventory.get_item() != null
%HideEyes.visible = item != null
%ItemSprite.visible = item != null
emit_signal("player_updated", self)
@@ -112,9 +122,18 @@ func try_interact(interactable : Interactable):
func try_move(move_to : Vector2):
instruction = MoveInstruction.new(move_to)
func get_item(item : Item):
inventory.set_item(item)
func pick_item(item : Item) -> Item:
var itemAdded = 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
return currentItem
func drop_item():
var item_to_drop = inventory.pop_item()
@@ -148,7 +167,7 @@ func use_item(item : Item):
if is_item_used:
energy -= item.energy_usage
if item.is_one_time_use():
delete_item(item)
inventory.remove_current_item()
func upgrade_max_energy(amount = 1):
max_energy += amount