5#include "CoreMinimal.h"
8#include "ProjectXGameStateAssault.generated.h"
16 GENERATED_USTRUCT_BODY()
25 UPROPERTY(BlueprintReadOnly)
26 uint8 TeamID = INDEX_NONE;
27 UPROPERTY(BlueprintReadOnly)
43 UFUNCTION(BlueprintPure)
44 const TArray<
AAssaultPoint*>& GetAssaultPoints()
const {
return AssaultPoints; }
45 UFUNCTION(BlueprintPure)
46 void GetActiveAssaultPoints(TArray<AAssaultPoint*>& ActivePoints)
const;
47 UFUNCTION(BlueprintPure)
48 uint8 GetAssaultPhase()
const {
return AssaultPhase; }
49 UFUNCTION(BlueprintPure)
50 uint8 GetPreviousAssaultPhase()
const {
return PreviousPhase; }
51 UFUNCTION(BlueprintPure)
54 void SaveAssaultPoints(
const TArray<AAssaultPoint*>& Points);
55 void AssaultPointsChanged();
57 void UpdateAssaultPhase(int32 NewAssaultPhase);
61 virtual void HandleMatchWarmupEnded()
override;
63 UPROPERTY(BlueprintAssignable)
64 FAssaultPointsChangeSignature OnAssaultPointsChanged;
65 UPROPERTY(BlueprintAssignable)
66 FTeamRolesChangedSignature OnTeamRolesChanged;
67 UPROPERTY(BlueprintAssignable)
68 FAssaultPointEventSignature OnAssaultPointEvent;
69 UPROPERTY(BlueprintAssignable)
70 FAssaultPhaseSignature OnPhaseChangedEvent;
74 virtual
void OnRep_AssaultPoints();
76 virtual
void OnRep_AssaultRoles();
78 virtual
void OnRep_Phase(int32 PreviousAssaultPhase);
80 UPROPERTY(ReplicatedUsing = OnRep_AssaultPoints)
82 UPROPERTY(ReplicatedUsing = OnRep_Phase)
83 int32 AssaultPhase = -1;
84 UPROPERTY(ReplicatedUsing = OnRep_AssaultRoles)
87 int32 PreviousPhase = -1;
89 FString MatchStartAssaultAttackers = "VO_MatchStart_Assault_Attacker";
90 FString MatchStartAssaultDefenders = "VO_MatchStart_Assault_Defender";
93 UFUNCTION(BlueprintCallable,BlueprintPure)
94 static
EAssaultRole GetTeamRoleStatic(const AActor* Target);
95 UFUNCTION(BlueprintCallable, BlueprintPure)
96 static
EAssaultRole GetRoleFromTeamStatic(const UObject* WorldContextObject, const uint8 TeamID);
EAssaultRole
Definition: ProjectXGameModeAssault.h:13
DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FAssaultPointsChangeSignature, const TArray< AAssaultPoint * > &, AssaultPoints)
DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(FAssaultPointEventSignature, class AAssaultPoint *, AssaultPoint, int32, OwningTeam, int32, Data)
DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FAssaultPhaseSignature, int32, NewPhase, int32, PreviousPhase)
Definition: AssaultPoint.h:48
Definition: ProjectXGameModeAssault.h:21
Definition: ProjectXGameMode.h:115
Definition: ProjectXGameStateAssault.h:38
const TArray< FAssaultTeamInfo > & GetAssaultTeamInfos()
Definition: ProjectXGameStateAssault.h:59
Definition: ProjectXGameState.h:158
Definition: ProjectXGameStateAssault.h:15
FAssaultTeamInfo(uint8 TeamIDIn, EAssaultRole RoleIn)
Definition: ProjectXGameStateAssault.h:19