Initial Commit

This commit is contained in:
Norman Lansing
2026-01-28 19:08:51 -05:00
commit ecb33115bf
54042 changed files with 9695586 additions and 0 deletions

View File

@@ -0,0 +1,37 @@
// Fill out your copyright notice in the Description page of Project Settings.
#pragma once
#include "CoreMinimal.h"
#include "GameFramework/GameState.h"
#include "MatchGameState.generated.h"
class AMatchPlayerState;
/**
*
*/
UCLASS()
class FPSTEMPLATE_API AMatchGameState : public AGameState
{
GENERATED_BODY()
public:
AMatchGameState();
AMatchPlayerState* GetLeader() const;
void UpdateLeader();
bool HasFirstBloodBeenHad() const { return bHasFirstBloodBeenHad; }
bool IsTiedForTheLead(AMatchPlayerState* PlayerState);
protected:
virtual void BeginPlay() override;
private:
UPROPERTY()
TArray<TObjectPtr<AMatchPlayerState>> Leaders;
UPROPERTY()
TArray<TObjectPtr<AMatchPlayerState>> SortedPlayerStates;
bool bHasFirstBloodBeenHad;
};

View File

@@ -0,0 +1,16 @@
// Fill out your copyright notice in the Description page of Project Settings.
#pragma once
#include "CoreMinimal.h"
#include "ShooterGameModeBase.h"
#include "ShooterGameMode.generated.h"
/**
*
*/
UCLASS()
class FPSTEMPLATE_API AShooterGameMode : public AShooterGameModeBase
{
GENERATED_BODY()
};

View File

@@ -0,0 +1,30 @@
// Fill out your copyright notice in the Description page of Project Settings.
#pragma once
#include "CoreMinimal.h"
#include "GameFramework/GameMode.h"
#include "ShooterGameModeBase.generated.h"
/**
*
*/
UCLASS()
class FPSTEMPLATE_API AShooterGameModeBase : public AGameMode
{
GENERATED_BODY()
public:
AShooterGameModeBase();
virtual void Tick(float DeltaTime) override;
virtual void StartPlayerElimination(float ElimTime, ACharacter* ElimmedCharacter, class APlayerController* VictimController, APlayerController* AttackerController);
UPROPERTY()
TMap<APlayerController*, FTimerHandle> Timers;
virtual void PlayerEliminated(ACharacter* ElimmedCharacter, class APlayerController* VictimController, APlayerController* AttackerController);
virtual void RequestRespawn(ACharacter* ElimmedCharacter, AController* ElimmedController);
UPROPERTY(EditDefaultsOnly, Category="Respawning")
float RespawnTime;
};