RPGCore icon indicating copy to clipboard operation
RPGCore copied to clipboard

Rewrite RPGCore.Inventories

Open fydar opened this issue 6 years ago • 0 comments

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.

fydar avatar Aug 15 '19 06:08 fydar