19 virtual void BeginPlay()
override;
20 virtual void Tick(
float DeltaTime)
override;
21 virtual void GetLifetimeReplicatedProps(TArray<class FLifetimeProperty>& OutLifetimeProps)
const override;
25 UFUNCTION(BlueprintImplementableEvent, Category =
"Holder")
26 void OnActivate(
bool bSuccess);
32 UFUNCTION(NetMulticast, Reliable)
33 void Multicast_ShowResultPopup(int32 CorrectAnswerIndex);
40 UFUNCTION(NetMulticast, Reliable)
41 void Multicast_ShowWrongPopup(const FString& LuggageColor, const FString& LuggagePattern);
45 void OnRep_IsActivated();
48 void OnRep_CurTarget();
51 void OnBoxOverlapBegin(
52 UPrimitiveComponent* OverlappedComponent,
54 UPrimitiveComponent* OtherComp,
57 const FHitResult& SweepResult);
59 bool CheckLuggage(class
Aluggage* TargetLuggage,
int CorrectIndex);
61 void UpdateActivateState(
bool State);
64 void BillboardInteractWidget();
68 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Components")
69 TObjectPtr<class UBoxComponent> BoxCollision;
71 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Components")
72 TObjectPtr<class USkeletalMeshComponent> MeshComponent;
74 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Spawning")
75 TObjectPtr<class USceneComponent> HoldPos;
77 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Widget")
78 TObjectPtr<class UWidgetComponent> WidgetGuideComp;
82 UPROPERTY(ReplicatedUsing=OnRep_CurTarget)
83 TObjectPtr<class AActor> CurTarget;
86 UPROPERTY(ReplicatedUsing=OnRep_IsActivated, VisibleAnywhere, BlueprintReadOnly, Category = "State")
87 bool bIsActivated = false;
90 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Visual")
91 float ActivatedHeightOffset = 50.0f;
93 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Visual")
94 float RotationSpeed = 90.0f;
102 FTimerHandle DestroyTimerHandle;