The conditional event system is a GAS based system that waits for certain triggers and then applies outcomes.
The system uses a World Subsystem that exposes functions to Activate
or Deactivate
Events
or Event Groups
.
These functions should be used by the user to start tracking events and wait for their outcomes.
This data asset holds an array of Events to be activated.
A blueprint data asset should be created to pass to the functions of the Conditional Event Subsystem
.
This Gameplay Ability that allows to specify Triggers
. When all of these triggers have been triggered, the event ExecuteOutcomes
will be called.
This function can be added to the blueprint editor to specify the outcomes.
Blueprint GA's should be created to either store in the Conditional Event Group Data
or to be directly passed to the Conditional Event Subsystem
.
This trigger has an Activate
and Deactivate
function, which are automatically called by the Conditional Event Ability
.
It also has a OnTriggeredDelegate
which is used to determine if a trigger has been triggered by the system.
This class should be inherited from for as many cases as needed, but can only be done in C++.
To inherit correctly, one should implement both Activate
and Deactivate
.
There are already two child classes:
GBF Time Passed Trigger
, which triggers its delegate after a certain amount of time.GBF Trigger Box Trigger
, which waits until a trigger box has been triggered to trigger its delegate.