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;
		}
	}

}