5#include "CoreMinimal.h"
7#include "ProjectXGameModeHorde.generated.h"
23 GENERATED_UCLASS_BODY()
26 virtual void OnDeath(AController* Killed, AController* Killer, TSubclassOf<class UProjectXDamageType> DamageType,
bool bWasHeadshot)
override;
28 virtual void OnWaveSpawnerGameOver(
AWaveSpawner*
const WaveSpawner,
bool bSuccess);
30 virtual void OnWavesCompleted(
AWaveSpawner*
const WaveSpawner,
bool bSuccess);
31 UFUNCTION(BlueprintCallable,BlueprintPure, Category =
GameMode, meta = (WorldContext =
"WorldContextObject"))
32 static uint8 GetTeamByHordeRoleStatic(
EHordeModeRoles HordeRole,
const UObject* WorldContextObject);
34 virtual void OnSoloPlayerReviveBeaconStatusUpdated();
36 virtual bool AreAllPlayersDead()
const;
37 virtual void HandleMatchHasStarted()
override;
38 virtual void HandleMatchWarmupEnded()
override;
39 virtual void CollectGamePlayObjects()
override;
40 virtual void ReviveDeadPlayers();
41 virtual void ReviveSoloPlayer();
42 virtual void AutoAssignPlayerTeam(APlayerController* PlayerController)
override;
43 virtual void RestartPlayer(AController* NewPlayer)
override;
44 virtual void Logout(AController* Exiting)
override;
45 virtual void FinishRestartPlayer(AController* NewPlayer,
const FRotator& StartRotation)
override;
46 virtual ETeamJoinResponse CanJoinTeam(APlayerController* PlayerController, uint8
Team)
const override;
47 virtual bool CanRestart()
const override;
51 UPROPERTY(EditDefaultsOnly)
52 int32 MaximumSpawnRange = 30000.0;
53 UPROPERTY(EditDefaultsOnly)
54 int32 MinimumSpawnRange = 60000.0;
56 UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category =
GameMode)
ETeamJoinResponse
Definition: ProjectXGameMode.h:38
EHordeModeRoles
Definition: ProjectXGameModeHorde.h:15
Definition: PickupReviveBeacon.h:48
Definition: ProjectXGameModeHorde.h:22
Definition: ProjectXGameMode.h:115
Definition: WaveSpawner.h:115
Definition: SpawnTargetInterface.h:18