20UCLASS(Blueprintable, BlueprintType, EditInlineNew, DefaultToInstanced, meta = (ShowWorldContextPin))
26 UFUNCTION(BlueprintCallable, Category =
"Spawn")
29 UFUNCTION(BlueprintPure, Category =
"Material")
32 return SpawnEnterMaterialTransition;
36 virtual void HandleFlowStarted(UObject* InFlowOwner)
override;
37 virtual void HandleFlowFinished()
override;
38 virtual void HandleFlowReset()
override;
42 UFUNCTION(BlueprintNativeEvent, Category =
"Spawn")
47 void UpdateMaterialTransition();
48 void ClearMaterialTransitionTimer();
49 void RestoreMaterialSlots();
52 UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Material")
60 TWeakObjectPtr<UWorld> ActiveWorld;
63 TArray<int32> ActiveMaterialSlotIndices;
66 TArray<TObjectPtr<UMaterialInterface>> OriginalMaterials;
69 TArray<TObjectPtr<UMaterialInstanceDynamic>> DynamicMaterials;
71 FTimerHandle MaterialTransitionTimerHandle;
72 float MaterialTransitionStartTime = 0.0f;
73 float ActiveTransitionDurationSeconds = 0.0f;
74 float ActiveTransitionStartOpacity = 0.0f;
75 float ActiveTransitionEndOpacity = 1.0f;
76 FName ActiveOpacityParameterName = TEXT("Opacity");