75 void EndPlay(
const EEndPlayReason::Type EndPlayReason)
override;
80 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Setup", meta = (Bitmask, BitmaskEnum =
"/Script/ArticyRuntime.EArticyPausableType"))
81 uint8 PauseOn = 1 << uint8(EArticyPausableType::DialogueFragment)
82 | 1 << uint8(EArticyPausableType::Dialogue)
83 | 1 << uint8(EArticyPausableType::FlowFragment);
89 template<
typename Lambda>
92 uint32 GetShadowLevel()
const {
return ShadowLevel; }
97 UFUNCTION(BlueprintCallable, meta = (DisplayName =
"Set Start Node (ArticyRef)"), Category =
"Setup")
100 UFUNCTION(BlueprintCallable, meta = (DisplayName =
"Set Start Node (ArticyID)"), Category =
"Setup")
104 UFUNCTION(BlueprintCallable, meta = (DisplayName =
"Set Start Node (FlowObject)"), Category =
"Setup")
108 UFUNCTION(BlueprintCallable, meta = (DisplayName =
"Get Start Node"), Category =
"Setup")
112 UFUNCTION(BlueprintCallable, meta = (DisplayName =
"Set Ignore Invalid Branches"), Category =
"Setup")
116 UFUNCTION(BlueprintCallable, Category =
"Flow")
120 UFUNCTION(BlueprintCallable, Category =
"Flow")
124 UFUNCTION(BlueprintCallable, Category =
"Flow")
125 void Play(
int Index = 0);
128 UFUNCTION(BlueprintCallable, Category =
"Flow")
129 void FinishCurrentPausedObject(
int PinIndex = 0);
135 UFUNCTION(BlueprintCallable, Category =
"Flow")
147 void SetPauseOn(EArticyPausableType Types);
151 UFUNCTION(BlueprintCallable, Category =
"Flow")
157 UFUNCTION(BlueprintCallable, Category =
"Setup")
163 UFUNCTION(BlueprintPure, Category =
"Setup")
164 UObject* GetMethodsProvider();
169 UFUNCTION(BlueprintCallable, Category =
"Flow")
170 void UpdateAvailableBranches();
173 UFUNCTION(BlueprintCallable, Category =
"Flow")
179 UFUNCTION(BlueprintCallable, Category =
"Setup")
182 bool OnTick(
float DeltaTime);
184 DECLARE_DYNAMIC_MULTICAST_DELEGATE(FOnPushState);
185 DECLARE_DYNAMIC_MULTICAST_DELEGATE(FOnPopState);
186 DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnPlayerPaused, TScriptInterface<IArticyFlowObject>, PausedOn);
187 DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnBranchesUpdated,
const TArray<FArticyBranch>&, AvailableBranches);
191 UPROPERTY(BlueprintAssignable, Category =
"Flow")
195 UPROPERTY(BlueprintAssignable, Category =
"Flow")
202 UPROPERTY(BlueprintAssignable, Category =
"Flow")
208 UPROPERTY(BlueprintAssignable, Category =
"Flow")
225 UPROPERTY(EditAnywhere, Category =
"Setup", meta = (ClampMin = 0))
232 UPROPERTY(EditAnywhere, Category =
"Setup")
238 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Setup")
241 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category =
"Setup", meta = (ArticyClassRestriction =
"ArticyNode"))
245 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category =
"Flow")
257 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Setup")
267 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Setup")
272 UPROPERTY(Transient, VisibleAnywhere, Category =
"Debug")
273 mutable uint32 ShadowLevel = 0;
276 FTSTicker::FDelegateHandle TickerHandle;
287 void UpdateAvailableBranchesInternal(
bool Startup);
294 void SetCursorToStartNode();
300 bool FastForwardToPause();
360UCLASS(BlueprintType, HideCategories = (Replication, Physics, Rendering, Input, Collision, Actor, LOD, Cooking))