121 - Match State
This commit is contained in:
parent
01121ec160
commit
cca4fc3e83
|
@ -9,6 +9,32 @@
|
||||||
#include "GameFramework/PlayerStart.h"
|
#include "GameFramework/PlayerStart.h"
|
||||||
#include "Kismet/GameplayStatics.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,
|
void ABlasterGameMode::PlayerEliminated(ABlasterCharacter* EliminatedCharacter, ABlasterPlayerController* VictimController,
|
||||||
ABlasterPlayerController* AttackerController)
|
ABlasterPlayerController* AttackerController)
|
||||||
{
|
{
|
||||||
|
|
|
@ -15,7 +15,20 @@ class BLASTER_API ABlasterGameMode : public AGameMode
|
||||||
GENERATED_BODY()
|
GENERATED_BODY()
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
ABlasterGameMode();
|
||||||
virtual void PlayerEliminated(class ABlasterCharacter* EliminatedCharacter, class ABlasterPlayerController* VictimController, class ABlasterPlayerController* AttackerController);
|
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);
|
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;
|
||||||
};
|
};
|
||||||
|
|
|
@ -50,7 +50,7 @@ protected:
|
||||||
float ClientServerDelta = 0;
|
float ClientServerDelta = 0;
|
||||||
|
|
||||||
UPROPERTY(EditAnywhere, Category = Time)
|
UPROPERTY(EditAnywhere, Category = Time)
|
||||||
float TimeSyncFrequency = 10.f;
|
float TimeSyncFrequency = 5.f;
|
||||||
|
|
||||||
float TimeSyncRunningTime = 0.f;
|
float TimeSyncRunningTime = 0.f;
|
||||||
private:
|
private:
|
||||||
|
|
Loading…
Reference in New Issue