Fix final remaining issues with inventory
This commit is contained in:
@@ -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.");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user