5#include "CoreMinimal.h"
8#include "GameFramework/Actor.h"
12#include "AssaultPoint.generated.h"
21 GENERATED_USTRUCT_BODY()
23 UPROPERTY(BlueprintReadWrite)
24 bool bDestroyed = false;
25 UPROPERTY(BlueprintReadWrite)
27 UPROPERTY(BlueprintReadWrite)
34 GENERATED_USTRUCT_BODY()
36 UPROPERTY(EditAnywhere, BlueprintReadWrite)
46UCLASS(BlueprintType, Blueprintable)
49 GENERATED_UCLASS_BODY()
52 UFUNCTION(BlueprintPure, Category = AssaultPoint)
54 UFUNCTION(BlueprintPure, Category = AssaultPoint)
55 int32 GetSortOrder()
const {
return SortOrder; }
56 UFUNCTION(BlueprintPure, Category = AssaultPoint)
57 FText GetPointName()
const {
return PointName; }
58 virtual int32
GetTeam()
const override {
return AssaultPointInfo.TeamOwner; }
59 UFUNCTION(BlueprintPure, Category = AssaultPoint)
61 UFUNCTION(BlueprintPure, Category = AssaultPoint)
62 uint8 GetPhase()
const {
return AssaultPointPhase; }
63 UFUNCTION(BlueprintPure)
64 bool IsDestroyed()
const {
return AssaultPointInfo.
bDestroyed; }
65 UFUNCTION(BlueprintPure)
66 FORCEINLINE
bool IsLocked()
const {
return bLocked;}
67 UFUNCTION(BlueprintPure)
68 bool IsActiveTarget()
const;
69 virtual void Initialize(int32
TeamOverride = INDEX_NONE);
73 virtual AActor* GetPlayerStart(
class AController* Player)
const;
74 virtual int32
SetTeam(int32 NewTeamOwner)
override;
76 void OnPhaseUpdated(int32 NewPhase, int32 PreviousPhase);
78 UPROPERTY(BlueprintAssignable)
79 FAssaultPointSignature OnAssaultPointDestroyedEvent;
80 UPROPERTY(BlueprintAssignable)
81 FAssaultPointInfoChangedEvent OnAssaultPointInfoChanged;
82 UPROPERTY(BlueprintAssignable)
83 FAssaultPointBombTargetChanged OnAssaultPointBombTargetChangedEvent;
87 virtual
void CollectPlayerStartList();
89 void AssaultPointDestroyed();
92 void GatherDestructiblePoints();
94 UFUNCTION(BlueprintImplementableEvent)
95 void OnAssaultPointDestroyed();
96 UFUNCTION(BlueprintImplementableEvent, BlueprintCallable, Category = AssaultPoint)
97 void OnTeamOwnerChanged();
103 void OnRep_AssaultPointInfo();
106 UPROPERTY(EditInstanceOnly, Category = "
Assault Point")
107 int32 SortOrder = INDEX_NONE;
110 UPROPERTY(EditInstanceOnly, Category = "
Assault Point")
111 int32 DefaultTeam = INDEX_NONE;
113 UPROPERTY(ReplicatedUsing = OnRep_AssaultPointInfo)
118 UPROPERTY(EditInstanceOnly, Category = "
Assault Point")
121 UPROPERTY(EditInstanceOnly, Category = "
Assault Point")
124 UPROPERTY(EditInstanceOnly, Category = "
Assault Point")
125 FText PointName = FText::FromString("X");
127 UPROPERTY(EditAnywhere, Category = "
Assault Point")
130 UPROPERTY(EditAnywhere, Category = "
Assault Point")
131 int32 AssaultPointPhase = -1;
133 UPROPERTY(EditAnywhere, Category = "
Assault Point")
134 bool bLocked = false;
135 UPROPERTY(EditAnywhere, Category = "
Assault Point")
DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FAssaultPointOwnerChanged, int32, TeamOwner)
EAssaultRole
Definition: ProjectXGameModeAssault.h:13
Definition: AssaultPointDestructible.h:37
bool bDestroyed
Definition: AssaultPointDestructible.h:107
Definition: AssaultPoint.h:48
virtual AActor * GetTrackableInterfaceActor() override
Definition: AssaultPoint.h:72
virtual int32 GetTeam() const override
Definition: AssaultPoint.h:58
Definition: ProjectXCharacter.h:128
virtual bool CanSpawnPlayer(const AProjectXPlayerState *Instigator) const override
Definition: ProjectXCharacter.cpp:388
virtual void BeginPlay() override
Definition: ProjectXCharacter.cpp:179
int32 TeamOverride
Definition: ProjectXCharacter.h:631
virtual int32 SetTeam(int32 NewTeam) override
Definition: ProjectXCharacter.cpp:1870
virtual bool GetSpawnLocation(AProjectXPlayerState *SpawnInstigator, FTransform &Transform) const override
Definition: ProjectXCharacter.cpp:481
Definition: ProjectXGameModeAssault.h:21
Definition: ProjectXPlayerState.h:238
Definition: SoftBoundaryVolume.h:19
Definition: StartPointVolume.h:14
Definition: ReactsToMatchEvents.h:16
Definition: SpawnTargetInterface.h:18
Definition: TeamInterface.h:26
Definition: TrackableInterface.h:22
Definition: AssaultPoint.h:20
Definition: AssaultPoint.h:33