FlowPilotComponent.h
File Info
FileName: FlowPilotComponent.h
- Class List:
[
UFlowPilotComponent]
UFlowPilotComponent
Parent Classes:
[ UActorComponent ]
FlowPilotComponent initializes, maintains and runs a FlowPilot Data Asset.
Properties
// Delegate that indicates a FlowState Chane (OldFlowState, NewFlowState)UPROPERTY(BlueprintAssignable, Category="FlowPilot")FFlowStateChangedSignature OnFlowStateChanged;
// Delegate indicating Flow StartedUPROPERTY(BlueprintAssignable, Category="FlowPilot")FFlowStartedSignature OnFlowStarted;
// Delegate indicating Flow PausedUPROPERTY(BlueprintAssignable, Category="FlowPilot")FFlowPausedSignature OnFlowPaused;
// Delegate indicating Flow ErrorUPROPERTY(BlueprintAssignable, Category="FlowPilot")FFlowErrorSignature OnFlowError;
// Delegate indicating Flow CompletedUPROPERTY(BlueprintAssignable, Category="FlowPilot")FFlowCompletedSignature OnFlowCompleted;
// Automatically starts FlowPilot on BeginPlayUPROPERTY(EditAnywhere, Category=FlowPilot)uint8 bAutoStartOnBeginPlay : 1;
// FlowPilot Asset.UPROPERTY(EditAnywhere, Category=FlowPilot)TObjectPtr<UFlowPilot> FlowPilotAsset;
// Overrides FlowPilotAsset with ExecutionModeUPROPERTY(EditAnywhere, Category=FlowPilot)EFPExecutionMode ExecutionMode = EFPExecutionMode::RunOnce;
// Execution Mode retry delayUPROPERTY(EditAnywhere, Category=FlowPilot, meta=(ClampMin="0.0", EditCondition="ExecutionMode != EFPExecutionMode::RunOnce"))float RetryDelay = 0.0f;
// FlowPilotLifetimeActors are spawned from FlowPilot, and will auto destroy when EndingTArray<TWeakObjectPtr<AActor>> FlowPilotLifetimeActors;Functions
SetFlowPilotAsset
Sets FlowPilot data asset
bool SetFlowPilotAsset(UFlowPilot* InFlowPilotAsset);StartFlow
Start Current FlowPilot
void StartFlow();StopFlow
Stops FlowPilot
void StopFlow(EFPStopType StopType = EFPStopType::CancelExecution);PauseFlow
Pauses FlowPilot. Execution must have been started first
void PauseFlow();UnPauseFlow
UnPauses FlowPilot, if Paused.
void UnPauseFlow();IsPaused
Returns true if FlowPilot is Paused
bool IsPaused() const { return FlowState == EFlowState::Paused; }IsDataSetup
Returns true if FlowPilotComponent has a FlowPilotAsset assigned.
bool IsDataSetup() const { return FlowPilotAsset != nullptr; }GetRunState
Returns FlowPilot Run State
EFlowState GetRunState() const { return FlowState; }IsRunning
Returns true if FlowPilot’s run state is in Progress
bool IsRunning() const { return FlowState == EFlowState::InProgress; }FindSingleActor
Find a single actor from a FlowActorReference.
If there are multiple assigned to this reference, a warning will show up, and the first result returned
AActor* FindSingleActor(const FFlowActorReference& ActorReference);FindActors
Finds all actors from a FlowActorReference
TArray<AActor*> FindActors(const FFlowActorReference& ActorReference);FindSingleActorByTag
Finds and Caches Unique Actor via GameplayTag
AActor* FindSingleActorByTag(const FGameplayTag& Tag);FindActorsByTag
Find and Caches all Actors by Tag
TArray<AActor*> FindActorsByTag(const FGameplayTag& Tag);BindToFlowPilotLifetime
Binds Lifetime of Actor to FlowPilot.
‘InActor’ will automatically be destroyed when FlowPilot execution ends.
void BindToFlowPilotLifetime(AActor* InActor);PrefetchActorReference
Adds ‘ActorReference’ to list of actors that will be prefetched on ‘Setup
void PrefetchActorReference(const FFlowActorReference& ActorReference);CacheTaggedActor
Caches ‘InActor’ with its associated unique tag ‘InGameplayTag’
void CacheTaggedActor(AActor* InActor, const FGameplayTag& InGameplayTag);GetFlowPilotName
Returns FlowPilot Data assets’s name.
FString GetFlowPilotName() const;