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.