FGantryGameFeatureActionTracker
Counts the Gantry game feature actions still working, so experience loading can wait for them.
Each UGantryGameFeatureAction adds one when it starts activating and removes it when it calls Finish Activation. UGantryExperienceStage_GameFeatures waits for the count to reach zero as well as for the plugins to report Active. You only use this class directly from C++, and usually not at all: the action base class does the counting for you.
The count is shared by the whole process, not kept per world. In play-in-editor with several clients, one client's unfinished actions hold another client's stage open. The stage then waits too long, never too little.
Game thread only.
Members
OnAllActionsComplete
FGantryOnAllActionsComplete
Signature of OnAllActionsComplete: no parameters.
Fired on the game thread when the pending count falls to zero.
Get
static FGantryGameFeatureActionTracker &
Returns the process-wide tracker, created on first use.
AddPending
void
Adds one action that has started and not yet finished.
CompletePending
void
Removes one finished action.
Broadcasts OnAllActionsComplete when the last one finishes. With nothing outstanding it logs a warning and does nothing.
GetPendingCount
int32
How many actions, across the process, have started and not yet finished.