RPGCore
RPGCore copied to clipboard
Rewrite RPGCore.Inventories
Rewrite RPGCore.Inventory from the prototype codebase.
This rewrite should be as feature-complete as the prototype.
Key Types
- ItemSlot
- Contains an item either physically or by a reference to another item slot.
- Applies behaviours to the item whilst it's contained within this slot. Will also inform the item of it's owner so the behaviours have a target to act on. One of these behaviours can activate an items equipt effect.
- Can have constraints dictating what items are valid to be contained in this slot.
- ItemStorageSlot
- Contains an item. An item can only exist in one ItemStorageSlot at a time.
- Like the base ItemSlot, behaviours and constraints are applied.
- ItemSelectSlot
- Contains a reference to an item contained in an ItemStorageSlot. An item can exist in as many ItemSelectSlot's as possible..
- Like the base ItemSlot, behaviours and constraints are applied.
- Inventory
- Contains a collection of ItemSlot.
- These item slots can all apply behaviours to items and the inventory can have constraints independant of the ItemSlot constraints.
- ExpandableInventory
- Contains a collection of ItemSlot that will grow and shrink to meet the required count of slots.
- SlottedInventory
- Contains a collection of ItemSlot that has a fixed quantity of slots.
- CustomInventory
- Contains a collection of ItemSlot that has a fixed quantity of slots.
- Each of these slots can have a unique set of behaviours and constraints.
- InventoryTransaction
- When adding items to an ItemSlot or an Inventory, an InventoryTransaction is returned.
- An InventoryTransaction will contain how many items where successfully added to an inventory and how many items where unsuccessfully added.