Make Inventory remove item from hotbar as well
Inventory.Remove(ItemMetadata) removes the item from both the inventory and the hotbarmaster
parent
df82248670
commit
a8e4aca91e
|
@ -239,6 +239,21 @@ public partial class Inventory : Node2D, IItemCollection<ItemMetadata>
|
||||||
|
|
||||||
public bool Remove(ItemMetadata item)
|
public bool Remove(ItemMetadata item)
|
||||||
{
|
{
|
||||||
|
int indexInInventory = Items.IndexOf(item);
|
||||||
|
if (indexInInventory < 0)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// remove instances of item from hotbar
|
||||||
|
int indexInHotbar = HotbarToItemIndexMap.IndexOf(indexInInventory);
|
||||||
|
if (indexInHotbar >= 0)
|
||||||
|
{
|
||||||
|
HotbarToItemIndexMap[indexInHotbar] = -1;
|
||||||
|
Hotbar[indexInHotbar].QueueFree();
|
||||||
|
}
|
||||||
|
|
||||||
|
Items[indexInInventory] = null;
|
||||||
return Items.Remove(item);
|
return Items.Remove(item);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -65,4 +65,15 @@ public abstract partial class Item : Node2D
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public virtual void Remove()
|
||||||
|
{
|
||||||
|
if (IsUsing)
|
||||||
|
{
|
||||||
|
Deuse();
|
||||||
|
}
|
||||||
|
|
||||||
|
Unequip(CharacterOwner);
|
||||||
|
QueueFree();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue