The player will only ever have one currently equipped item (so only 1 slot), but their inventory is essentially just an array of item instances.
e.g.
Currently equipped:
- wooden spear (6/10 durability, on fire)
In storage (backpack):
- wooden spear (9/10 durability)
- wooden spear (10/10...
Looking at the source for Inventory.cs, it seems that it's structured to only allow you to have one Item per ItemType at any time:
private Dictionary<ItemType, Item>[] m_ItemTypeItemMap;
private Dictionary<ItemType, float> m_ItemTypeCount = new Dictionary<ItemType, float>();
It seems like...
I'm making a (third-person adventure camera only) game where each instance of an item in the world has runtime state that needs to persist seamlessly across picking up and dropping that instance. To give an example, a burning wooden spear might be launched at the player, who catches it in midair...