Showcase Video: Clicky Me!
V2 Changelog:
1. Added Crosshair(middle of screen) / Cursor on screen location trace toggle (Including function to enable cursor).
2. Added Multiple Themes / Colors for the interaction widget (on a per actor basis).
3. Added New Event that can be called when interaction button is released.
4. Added Option to show focused Component or Actor Name or Both (set separately for each).
5. Added "Remove All" function that allows you to remove all interactions from a component.
6. Added "Add multiple interactions on component" function that allows you to add multiple interactions on a component via one function.
7. Added New Keypad Demo with 'working' buttons that can be used via the interaction mode.
8. Updated Showcase map
-----------------
The Complex Interaction System allows you to set up either a Simple Interaction (that is set on the whole actor) or Complex Interaction Lists that are set on each wanted component of an actor.
This allows you for example to have on a car, each door with their own interactions (like Open Door, Lock, etc) separate from other components like the trunk (Open Trunk, etc) or wheels (Change Wheel, Inflate, etc).
The world is your oyster when it comes to setting up what you want, the component comes with handy events that can be called and functions that can be used such as but not limited to 'Replace Interact' that can replace an interaction on given component, 'Remove Interaction' or 'Add Interaction'
Besides this, the system offers a Single Tap, Multi Tap and Hold behavior.
Resulting in the player having to either Hold down the button for an interaction from a list to finish or Tap multiple times or simply tap once. Everything being able to be changed at will by you, the developer.
Variables that can be changed in an interaction are, but not limited to, Amount of time button has to be held down for, the amount of times the user must press the interact button, the interaction widget style and colour, component name, actor name.. etc.
Another dandy feature of the Complex Interaction System is that it allows you to hide the widget of a component at will.
This allows you to have a component/item in a bookcase for example, that triggers an event (open a secret door maybe?) and the widget being hidden, results in the user not knowing if they can or cannot interact with the book. It simply allows you to set up various nice puzzles as well besides normal interactions.
If you can think it, you can probably.. achieve it. This also results in maybe making a complete conversation using the system.
The widget used to show the interactions can also be easily edited with different images, fonts or colors (given that you provide the required assets for that as the system only comes with the included styles) but still.. since the whole logic is kept in the InteractibleActorComponent, the widget is simply there as a visual representation.