summaryrefslogtreecommitdiff
path: root/scripts/GUI/ItemMenuEntry.cs
diff options
context:
space:
mode:
authorMatheus <matheus.guedes.mg.m@gmail.com>2025-09-08 22:10:45 -0300
committerMatheus <matheus.guedes.mg.m@gmail.com>2025-09-08 22:10:45 -0300
commitf1b51bed52ffbd90b5b7cc8dcfc6f0484bbbeb3c (patch)
treed607142daee4948765a97008bdef21fa6efa2d2b /scripts/GUI/ItemMenuEntry.cs
parent4b2afd3e2144e42bfa7f11a870584b9255052cf7 (diff)
inventário acessivel
Diffstat (limited to 'scripts/GUI/ItemMenuEntry.cs')
-rw-r--r--scripts/GUI/ItemMenuEntry.cs41
1 files changed, 41 insertions, 0 deletions
diff --git a/scripts/GUI/ItemMenuEntry.cs b/scripts/GUI/ItemMenuEntry.cs
new file mode 100644
index 0000000..449c97b
--- /dev/null
+++ b/scripts/GUI/ItemMenuEntry.cs
@@ -0,0 +1,41 @@
+using Godot;
+
+public partial class ItemMenuEntry : HBoxContainer
+{
+ private TextureRect icon;
+ private Label shortcutLabel;
+ private Label nameLabel;
+ private Button activateBtn;
+ private Button dropBtn;
+
+ [Signal]
+ public delegate void ActivateEventHandler(ConsumableItem Item);
+
+ [Signal]
+ public delegate void DropEventHandler(ConsumableItem item);
+
+ private ConsumableItem item;
+
+ public void Initialize(ConsumableItem item, char? shortcut) {
+ this.item = item;
+ nameLabel.Text = item.DisplayName;
+ if (shortcut != null) {
+ shortcutLabel.Text = $"{shortcut}";
+ } else {
+ shortcutLabel.Text = "";
+ }
+ icon.Texture = item.Texture;
+ }
+
+ public override void _Ready() {
+ base._Ready();
+ icon = GetNode<TextureRect>("Icon");
+ shortcutLabel = GetNode<Label>("Shortcut");
+ nameLabel = GetNode<Label>("ItemName");
+ activateBtn = GetNode<Button>("ActivateBtn");
+ dropBtn = GetNode<Button>("DropButton");
+
+ activateBtn.Pressed += () => EmitSignal(SignalName.Activate, item);
+ dropBtn.Pressed += () => EmitSignal(SignalName.Drop, item);
+ }
+}