#37 ajout d'item outils ainsi que de visualisation de leur zone d'effet (avec la classe ActionArea

This commit is contained in:
2025-08-19 11:29:20 +02:00
parent b0efeff809
commit 1f301815be
18 changed files with 233 additions and 89 deletions

View File

@@ -274,31 +274,26 @@ theme = ExtResource("2_nq5i2")
visible = false
layout_mode = 2
text = "space/click - Plant Seed"
label_settings = ExtResource("4_ujg5r")
[node name="GetItem" type="Label" parent="MarginContainer/AvailableActions"]
visible = false
layout_mode = 2
text = "E - Take Item"
label_settings = ExtResource("4_ujg5r")
[node name="SwapItem" type="Label" parent="MarginContainer/AvailableActions"]
visible = false
layout_mode = 2
text = "E - Swap Item"
label_settings = ExtResource("4_ujg5r")
[node name="DropItem" type="Label" parent="MarginContainer/AvailableActions"]
visible = false
layout_mode = 2
text = "w - Drop Item"
label_settings = ExtResource("4_ujg5r")
[node name="UseItem" type="Label" parent="MarginContainer/AvailableActions"]
visible = false
layout_mode = 2
text = "space/click - Use Item"
label_settings = ExtResource("4_ujg5r")
[node name="RechargeFade" type="ColorRect" parent="."]
physics_interpolation_mode = 0

View File

@@ -9,15 +9,15 @@ signal day_pass_finished
func _on_player_updated(player:Player):
%EnergyCount.text = str(player.energy)
%AvailableActions/GetItem.visible = player.closest_interactable is ItemObject and player.inventory.lenght() == 0
%AvailableActions/SwapItem.visible = player.closest_interactable is ItemObject and player.inventory.lenght() > 0
%AvailableActions/DropItem.visible = player.inventory.lenght() > 0
%AvailableActions/UseItem.visible = player.inventory.lenght() > 0 and player.can_use_item and not player.inventory.get_item() is SeedItem
%AvailableActions/Plant.visible = player.inventory.lenght() > 0 and player.can_use_item and player.inventory.get_item() is SeedItem
%AvailableActions/GetItem.visible = player.closest_interactable is ItemObject and player.inventory.get_item() == null
%AvailableActions/SwapItem.visible = player.closest_interactable is ItemObject and player.inventory.get_item() != null
%AvailableActions/DropItem.visible = player.inventory.get_item() != null
%AvailableActions/UseItem.visible = player.inventory.get_item() and player.can_use_item and not player.inventory.get_item() is Seed
%AvailableActions/Plant.visible = player.inventory.get_item() and player.can_use_item and player.inventory.get_item() is Seed
%ItemInfo.visible = player.inventory.lenght() > 0
if player.inventory.lenght() > 0:
%ItemInfo.visible = player.inventory.get_item() != null
if player.inventory.get_item():
var item : Item = player.inventory.get_item()
%ItemIcon.texture = item.icon
%ItemName.text = item.name