121 - Match State

This commit is contained in:
Kingsmedia 2022-05-10 12:15:22 +02:00
parent 01121ec160
commit cca4fc3e83
3 changed files with 44 additions and 5 deletions

View File

@ -9,6 +9,32 @@
#include "GameFramework/PlayerStart.h"
#include "Kismet/GameplayStatics.h"
ABlasterGameMode::ABlasterGameMode()
{
bDelayedStart = true;
}
void ABlasterGameMode::BeginPlay()
{
Super::BeginPlay();
LevelStartingTime = GetWorld()->GetTimeSeconds();
}
void ABlasterGameMode::Tick(float DeltaSeconds)
{
Super::Tick(DeltaSeconds);
if (MatchState == MatchState::WaitingToStart)
{
CountDownTime = WarmupTime - GetWorld()->GetTimeSeconds() + LevelStartingTime;
if (CountDownTime < 0.f)
{
StartMatch();
}
}
}
void ABlasterGameMode::PlayerEliminated(ABlasterCharacter* EliminatedCharacter, ABlasterPlayerController* VictimController,
ABlasterPlayerController* AttackerController)
{

View File

@ -13,9 +13,22 @@ UCLASS()
class BLASTER_API ABlasterGameMode : public AGameMode
{
GENERATED_BODY()
public:
virtual void PlayerEliminated(class ABlasterCharacter* EliminatedCharacter, class ABlasterPlayerController* VictimController, class ABlasterPlayerController* AttackerController);
public:
ABlasterGameMode();
virtual void Tick(float DeltaSeconds) override;
virtual void PlayerEliminated(class ABlasterCharacter* EliminatedCharacter, class ABlasterPlayerController* VictimController,
class ABlasterPlayerController* AttackerController);
virtual void RequestRespawn(ACharacter* EliminatedCharacter, AController* EliminatedController);
UPROPERTY(EditDefaultsOnly)
float WarmupTime = 10.f;
float LevelStartingTime = 0.f;
protected:
virtual void BeginPlay() override;
private:
float CountDownTime = 0.f;
};

View File

@ -50,7 +50,7 @@ protected:
float ClientServerDelta = 0;
UPROPERTY(EditAnywhere, Category = Time)
float TimeSyncFrequency = 10.f;
float TimeSyncFrequency = 5.f;
float TimeSyncRunningTime = 0.f;
private: