5#include "CoreMinimal.h"
7#include "ProjectXObjectiveCapturePoint.generated.h"
14 GENERATED_USTRUCT_BODY()
18 UPROPERTY(BlueprintReadWrite,EditAnywhere)
19 uint8 NumberOfPointsToActivate = 1;
25 GENERATED_USTRUCT_BODY()
38 GENERATED_UCLASS_BODY()
40 UFUNCTION(BlueprintCallable)
41 uint8 GetPhaseNumber()
const {
return CurrentCapturePhase;}
42 UFUNCTION(BlueprintCallable)
43 int32 GetNumberOfCheckPoints()
const {
return NumberOfCapturePointCheckpoints; }
44 UFUNCTION(BlueprintCallable)
45 float GetPlayerCaptureRate()
const;
46 UFUNCTION(BlueprintCallable)
47 bool GetCapturePoints(uint8 PhaseNumber,TArray<AObjectiveCapturePoint*>& FoundCapturePoints)
const;
48 UFUNCTION(BlueprintCallable)
49 void GetAllCapturePoints(TArray<AObjectiveCapturePoint*>& FoundCapturePoints)
const;
51 virtual bool IsObjectiveComplete()
const override;
52 virtual bool IsCapturePhaseComplete()
const;
54 UPROPERTY(BlueprintAssignable)
55 FOnCapturePointObjectivePhaseUpdatedSignature OnPhaseNumberUpdatedEvent;
56 UPROPERTY(BlueprintAssignable)
57 FOnCapturePointsUpdatedSignature OnCapturePointsUpdatedEvent;
61 virtual
void InitializeGamePlayObjects() override;
62 virtual
void ObjectiveStarted() override;
63 virtual
void ObjectiveComplete() override;
64 virtual
void UpdateCapturePointPhase();
65 virtual
void StartCurrentCapturePhase();
66 virtual
void EndCurrentCapturePhase();
69 virtual
void OnObjectiveActorSpawned(AActor* SpawnedActor);
73 virtual
void OnRep_PhaseNumber();
75 virtual
void OnRep_ChosenCapturePoints();
78 UPROPERTY(EditAnywhere)
81 UPROPERTY(EditAnywhere)
85 UPROPERTY(EditAnywhere)
86 float CapturePointActivationDelay = 0.0f;
88 UPROPERTY(EditAnywhere)
89 uint8 NumberOfCapturePointCheckpoints = 3;
91 UPROPERTY(EditAnywhere)
94 UPROPERTY(EditAnywhere)
95 bool bDestroyPointsOnComplete = false;
98 FTimerHandle PhaseDelayTimer;
99 UPROPERTY(ReplicatedUsing = OnRep_PhaseNumber)
100 uint8 CurrentCapturePhase = -1;
101 UPROPERTY(ReplicatedUsing = OnRep_ChosenCapturePoints)
DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnCapturePointObjectivePhaseUpdatedSignature, uint8, PhaseNumber)
Definition: CapturePoint.h:77
virtual void BeginPlay() override
Definition: CapturePoint.cpp:41
float PerPlayerCaptureRate
Definition: CapturePoint.h:291
int32 TeamOwner
Definition: CapturePoint.h:275
Definition: ObjectiveCapturePoint.h:16
Definition: ProjectXObjectiveCapturePoint.h:37
Definition: ProjectXSpawnerObjective.h:53
Definition: ProjectXObjectiveCapturePoint.h:24
Definition: ProjectXObjectiveCapturePoint.h:13