Update Weapon in status

This commit is contained in:
Marco 2025-03-28 10:29:04 +01:00
commit 83d3cc7835
10 changed files with 45 additions and 15 deletions

View file

@ -1,5 +1,6 @@
using Godot;
using System;
using System.Linq;
using Cirno.Scripts.Resources;
public partial class StatusMenu : PanelContainer
@ -7,11 +8,15 @@ public partial class StatusMenu : PanelContainer
[Export] public StringName HealthExpansionName { get; private set; }
[Export] public StringName ShieldExpansionName { get; private set; }
//[Export] public ItemsDatabase ItemsDatabase { get; private set; }
[Export] public Button HealthExpansionCounter { get; private set; }
[Export] public Button ShieldExpansionCounter { get; private set; }
[Export] public Button WeaponButton { get; private set; }
public override void _Ready()
{
CallDeferred(MethodName.InitializeDeferred);
@ -31,6 +36,23 @@ public partial class StatusMenu : PanelContainer
ShieldExpansionCounter.Text = $"x{shieldExpansions}";
InventoryManager.Instance.ItemAdded += InstanceOnItemAdded;
InventoryManager.Instance.WeaponEquip += InstanceOnWeaponEquip;
}
private void InstanceOnWeaponEquip(string itemKey)
{
//var weaponData = ItemsDatabase.GetLootItem(itemKey);
var succ = InventoryManager.Instance.TryGetItem(itemKey, out var item);
if (!succ)
{
GD.Print($"Could not get item {itemKey}");
return;
}
WeaponButton.Text = item.Item.ShortName;
WeaponButton.Icon = item.Item.InventorySprite;
}
private void InstanceOnItemAdded(LootItem item, int currentamount)