14class ONEPIECE_API
AGate : public AActor
23 UFUNCTION(BlueprintCallable, Category =
"Gate")
27 UFUNCTION(BlueprintCallable, Category =
"Gate")
32 virtual void BeginPlay()
override;
38 void OnDoorMessage(int32 InGateID,
bool Open, AActor* EventInstigator);
42 void OnOverlapBegin(UPrimitiveComponent* OverlappedComp, AActor* OtherActor, UPrimitiveComponent* OtherComp, int32 OtherBodyIndex,
bool bFromSweep,
const FHitResult& SweepResult);
46 void OnOverlapEnd(UPrimitiveComponent* OverlappedComp, AActor* OtherActor, UPrimitiveComponent* OtherComp, int32 OtherBodyIndex);
49 UFUNCTION(BlueprintImplementableEvent, Category =
"Gate")
50 void PlayOpenDoorAnimation();
53 UFUNCTION(BlueprintImplementableEvent, Category = "Gate")
54 void PlayCloseDoorAnimation();
57 bool IsPlayerActor(const AActor* OtherActor) const;
60 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "Components")
61 TObjectPtr<class USceneComponent> RootComp;
63 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "Components")
64 TObjectPtr<class UStaticMeshComponent> Door_Left;
66 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "Components")
67 TObjectPtr<class UStaticMeshComponent> Door_Right;
69 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "Components")
70 TObjectPtr<class UBoxComponent> BoxCollision;
72 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Gate")
76 UPROPERTY(VisibleInstanceOnly, Category = "Gate")
80 TArray<TObjectPtr<class APawn>> OverlappingPawns;