A Demo Project for the UnrealEngineSDK
Loading...
Searching...
No Matches
FadingComponent.h
Go to the documentation of this file.
1// Copyright(c) Pixo Group. All Rights Reserved.
2
3#pragma once
4
5#include "CoreMinimal.h"
6#include "Components/ActorComponent.h"
7#include "Components/TimelineComponent.h"
9#include "FadingComponent.generated.h"
10
11UENUM()
12enum EFadeType
13{
19
23UCLASS(ClassGroup=(Custom), meta=(BlueprintSpawnableComponent))
24class PIXOCORE_API UFadingComponent : public UActorComponent
25{
26 GENERATED_BODY()
27
28public:
31 virtual void TickComponent(float DeltaTime, ELevelTick TickType, FActorComponentTickFunction* ThisTickFunction) override;
32
39 UFUNCTION(BlueprintCallable)
40 void FadeStaticMeshes(TArray<UStaticMeshComponent*> StaticMeshes, float TimeForFade = 1.0f, float DesiredOpacity = 0.0f);
41
50 UFUNCTION(BlueprintCallable)
51 void FadeStaticMeshesFromTo(TArray<UStaticMeshComponent*> StaticMeshes, float TimeForFade = 1.0f, float FromOpacity = 0.0f, float ToOpacity = 0.0f);
52
59 UFUNCTION(BlueprintCallable)
60 void FadeActor(AActor* Actor, float TimeForFade = 1.0f, float DesiredOpacity = 0.0f);
61
62 UPROPERTY(BlueprintAssignable)
63 FOnFadeCompleted OnFadeCompleted;
64
65protected:
66 virtual void BeginPlay() override;
67
68private:
69 UFUNCTION()
70 void FadeCompleted();
71 UFUNCTION()
72 void FadeOpacityTimelineProcess(float Value);
73
74 void Fade();
75 void SetOpacity(float Value);
76 void SetOpaqueMaterial();
77 void SetMeshesHidden(bool Hidden);
78
79 UPROPERTY()
80 TArray<FTransparentMaterialData> MaterialData;
81
82 EFadeType FadeType;
83 float FadeDuration = 1.0f;
84 float CurrentOpacity = 1.0f;
85 float FinalOpacity = 0.0f;
86
87 FTimeline FadeTimeline;
88 UPROPERTY()
89 UCurveFloat* ChangingFadeOpacityCurve;
90};
EFadeType
UENUM()
@ FadeIn
@ FadeOut
DECLARE_DYNAMIC_MULTICAST_DELEGATE(FOnFadeCompleted)
Component responsible for fading meshes or actors smoothly.
FOnFadeCompleted OnFadeCompleted
UPROPERTY(BlueprintAssignable)
UCurveFloat * ChangingFadeOpacityCurve
UPROPERTY()
TArray< FTransparentMaterialData > MaterialData
UPROPERTY()
Struct used in Fadable component.