28 virtual
void Tick(
float DeltaTime) override;
29 virtual
void BeginPlay() override;
32 UFUNCTION(BlueprintCallable, Category = "WidgetController")
34 UFUNCTION(BlueprintCallable, Category = "WidgetController")
36 UFUNCTION(BlueprintCallable, BlueprintPure, Category = "WidgetController")
37 bool IsWidgetInited();
39 UFUNCTION(BlueprintCallable, Category = "WidgetController")
40 FVector GetWidgetLocation() {
return FinalLocation; };
43 void InternalCloseWidget();
45 UFUNCTION(BlueprintCallable, Category =
"Widget")
46 void OpenWidgetAnim();
48 UFUNCTION(BlueprintCallable, Category = "Widget")
49 void CloseWidgetAnim();
51 UFUNCTION(BlueprintCallable, Category = "Widget")
54 UFUNCTION(BlueprintCallable, Category = "Widget")
57 UFUNCTION(BlueprintCallable, BlueprintPure, Category = "Widget")
60 UFUNCTION(BlueprintCallable, Category = "Widget")
61 void ActivateCurrentWidget();
63 UFUNCTION(BlueprintCallable, Category = "Widget")
64 void DeactivateCurrentWidget();
66 virtual
void GetLifetimeReplicatedProps(TArray<FLifetimeProperty>& OutLifetimeProps) const override;
70 void HandleTimeLineFloat(
float Value);
72 void HandleTimelineFinished();
76 UPrimitiveComponent* OverlappedComponent,
78 UPrimitiveComponent* OtherComp,
81 const FHitResult& SweepResult);
85 UPrimitiveComponent* OverlappedComponent,
87 UPrimitiveComponent* OtherComp,
88 int32 OtherBodyIndex);
95 void TouchBeginOverlap(
96 UPrimitiveComponent* OverlappedComponent,
98 UPrimitiveComponent* OtherComp,
101 const FHitResult& SweepResult);
104 void TouchEndOverlap(
105 UPrimitiveComponent* OverlappedComponent,
107 UPrimitiveComponent* OtherComp,
108 int32 OtherBodyIndex);
111 UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Components")
114 UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Components")
117 UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Components")
120 UPROPERTY(VisibleAnywhere, Replicated, BlueprintReadWrite, Category = "Components")
123 UPROPERTY(VisibleAnywhere, Replicated, BlueprintReadWrite, Category = "Components")
124 UTimelineComponent* OpenCloseTimeline;
126 UPROPERTY(VisibleAnywhere, Replicated, BlueprintReadWrite, Category = "Components")
129 UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Components")
130 UArrowComponent* ArrowDirection;
133 UPROPERTY(EditAnywhere, BlueprintReadWrite, Replicated, Meta = (ExposeOnSpawn = true), Category = "Widget")
134 FVector FinalLocation;
135 UPROPERTY(EditAnywhere, BlueprintReadWrite, Replicated, Meta = (ExposeOnSpawn = true), Category = "Widget")
136 FVector StartLocation;
138 UPROPERTY(BlueprintReadOnly, Replicated, Meta = (ExposeOnSpawn = true), Category = "Widget")
139 FRotator StartRotation;
140 UPROPERTY(BlueprintReadOnly, Replicated, Meta = (ExposeOnSpawn = true), Category = "Widget")
141 FRotator FinalRotation;
143 UPROPERTY(EditDefaultsOnly, Category = "Widget")
144 UCurveFloat* OpenCloseFloatCurve;
146 FOnTimelineFloat TimelinePostUpdate;
147 FOnTimelineEvent TimelineFinished;
149 UPROPERTY(EditAnywhere, BlueprintReadWrite)
150 USoundBase* OpenSound;
151 UPROPERTY(EditAnywhere, BlueprintReadWrite)
152 USoundBase* CloseSound;
155 bool bStartLookAtAllowed = false;
156 bool bRotateAllowed = true;
157 bool bSoundAllowed = true;
160 bool bFinalLocationPendingChange = false;
163 TArray<UPrimitiveComponent*> OverlapArray;