Game/GameManager.cs
public sealed class GameManager : Component
{
public static GameManager Instance { get; private set; }
[Property] public SceneFile BaseScene { get; set; }
public float Timer { get; set; }
public int Kills { get; set; } = 0;
public bool IsGameOver { get; private set; } = false;
protected override void OnAwake()
{
Timer = 0f;
Kills = 0;
Instance = this;
}
protected override void OnUpdate()
{
if ( IsGameOver )
{
if ( Input.Pressed( "Jump" ) )
{
Scene.Load( BaseScene );
}
return;
}
Timer += Time.Delta;
}
public void SetGameOver()
{
IsGameOver = true;
var enemyVolume = Scene.FindAllWithTag( "enemy_volume" ).FirstOrDefault();
if ( enemyVolume.IsValid() )
{
enemyVolume.Enabled = false;
}
}
}