Fix final remaining issues with inventory

This commit is contained in:
2024-09-12 10:28:34 -07:00
parent af384d3ddb
commit 043d7f1ba8
7 changed files with 59 additions and 28 deletions

View File

@@ -3,7 +3,6 @@ using Chickensoft.GodotNodeInterfaces;
using Godot;
using System;
using System.Collections.Generic;
using static GameJamDungeon.Inventory;
namespace GameJamDungeon;
@@ -27,6 +26,8 @@ public interface IInventory : INode
public bool IsEquipped(IEquipable equipable);
event Inventory.InventoryAtCapacityEventHandler InventoryAtCapacity;
event Inventory.AccessoryUnequippedEventHandler AccessoryUnequipped;
}
public partial class Inventory : Node, IInventory
@@ -36,6 +37,8 @@ public partial class Inventory : Node, IInventory
[Signal]
public delegate void InventoryAtCapacityEventHandler(string rejectedItemName);
[Signal]
public delegate void AccessoryUnequippedEventHandler(AccessoryStats unequippedAccessory);
public Inventory()
{
@@ -86,7 +89,10 @@ public partial class Inventory : Node, IInventory
else if (equipable is Armor armor)
_equippedArmor.OnNext(new Armor());
else if (equipable is Accessory accessory)
{
EmitSignal(SignalName.AccessoryUnequipped, _equippedAccessory.Value.AccessoryStats);
_equippedAccessory.OnNext(new Accessory());
}
else
throw new NotImplementedException("Item type is not supported.");
}