Interactions
Last updated
Last updated
There are 2 primary built in ways to interact with something: right clicking in the Inventory or left clicking on the Hotbar. You can add more interactions, and make your own systems interactable by leveraging the IUseableDataEntity
interface.
If you're using the Hotbar, only one interaction type is supported: The Use
interaction. This will directly use the 'thing' docked. Things other than Items can be docked on the Hotbar so it will Use the item by going through the IUseableDataEntity
interface. By default, the UseableItem
implements this but you could extend it, for example, to work with an Ability system that can be docked on the same Hotbar as long as they implement the IUseableDataEntity
interface.
If you're using the Inventory, many interactions are available but 3 interactions are available by default: Use
, Drop
, and Split
. The default interactions are always available and evaluated to be valid since this applies to virtually all things that could be in the Inventory.
A third way which is not yet built in is to create your own Interactions that use the same design approach as the existing systems. This should be fairly straightforward as long as you trigger the interaction, validate the actions and reach into the IUseableDataEntity
interface to use them.