35 void EndPlay(
const EEndPlayReason::Type EndPlayReason)
override;
40 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Setup", meta = (Bitmask, BitmaskEnum =
"/Script/ArticyRuntime.EArticyPausableType"))
41 uint8 PauseOn = 1 << uint8(EArticyPausableType::DialogueFragment)
42 | 1 << uint8(EArticyPausableType::Dialogue)
43 | 1 << uint8(EArticyPausableType::FlowFragment);
49 template<
typename Lambda>
52 uint32 GetShadowLevel()
const {
return ShadowLevel; }
57 UFUNCTION(BlueprintCallable, meta = (DisplayName =
"Set Start Node (ArticyRef)"), Category =
"Setup")
60 UFUNCTION(BlueprintCallable, meta = (DisplayName =
"Set Start Node (ArticyID)"), Category =
"Setup")
64 UFUNCTION(BlueprintCallable, meta = (DisplayName =
"Set Start Node (FlowObject)"), Category =
"Setup")
68 UFUNCTION(BlueprintCallable, meta = (DisplayName =
"Get Start Node"), Category =
"Setup")
72 UFUNCTION(BlueprintCallable, meta = (DisplayName =
"Set Ignore Invalid Branches"), Category =
"Setup")
76 UFUNCTION(BlueprintCallable, Category =
"Flow")
80 UFUNCTION(BlueprintCallable, Category =
"Flow")
84 UFUNCTION(BlueprintCallable, Category =
"Flow")
85 void Play(
int Index = 0);
88 UFUNCTION(BlueprintCallable, Category =
"Flow")
89 void FinishCurrentPausedObject(
int PinIndex = 0);
95 UFUNCTION(BlueprintCallable, Category =
"Flow")
107 void SetPauseOn(EArticyPausableType Types);
111 UFUNCTION(BlueprintCallable, Category =
"Flow")
117 UFUNCTION(BlueprintCallable, Category =
"Setup")
123 UFUNCTION(BlueprintPure, Category =
"Setup")
124 UObject* GetMethodsProvider();
129 UFUNCTION(BlueprintCallable, Category =
"Flow")
130 void UpdateAvailableBranches();
133 UFUNCTION(BlueprintCallable, Category =
"Flow")
139 UFUNCTION(BlueprintCallable, Category =
"Setup")
142 bool OnTick(
float DeltaTime);
144 DECLARE_DYNAMIC_MULTICAST_DELEGATE(FOnPushState);
145 DECLARE_DYNAMIC_MULTICAST_DELEGATE(FOnPopState);
146 DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnPlayerPaused, TScriptInterface<IArticyFlowObject>, PausedOn);
147 DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnBranchesUpdated,
const TArray<FArticyBranch>&, AvailableBranches);
151 UPROPERTY(BlueprintAssignable, Category =
"Flow")
155 UPROPERTY(BlueprintAssignable, Category =
"Flow")
162 UPROPERTY(BlueprintAssignable, Category =
"Flow")
168 UPROPERTY(BlueprintAssignable, Category =
"Flow")
185 UPROPERTY(EditAnywhere, Category =
"Setup", meta = (ClampMin = 0))
192 UPROPERTY(EditAnywhere, Category =
"Setup")
198 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Setup")
201 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category =
"Setup", meta = (ArticyClassRestriction =
"ArticyNode"))
205 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category =
"Flow")
222 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Setup")
232 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Setup")
237 UPROPERTY(Transient, VisibleAnywhere, Category =
"Debug")
238 mutable uint32 ShadowLevel = 0;
241 FTSTicker::FDelegateHandle TickerHandle;
252 void UpdateAvailableBranchesInternal(
bool Startup);
259 void SetCursorToStartNode();
265 bool FastForwardToPause();
325UCLASS(BlueprintType, HideCategories = (Replication, Physics, Rendering, Input, Collision, Actor, LOD, Cooking))