public void ResetGame()
    {
        // Get from purchases
        int purchasedLifeLevel = GameSaveManager.Instance.GetPurchaseLevel(GameConst.ITEM_ALERTNESS);

        if (purchasedLifeLevel == 0)
        {
            MaxLife = 1;
        }
        else if (purchasedLifeLevel == 1)
        {
            MaxLife = 2;
        }
        else if (purchasedLifeLevel == 2)
        {
            MaxLife = 3;
        }
        LifeRemaining = MaxLife;

        CurrentWakeValue = MaxWakeValue;

        TotalScore   = 0;
        EnemiesCount = 0;
        BossCount    = 0;

        AircraftObject.gameObject.SetActive(true);
        AircraftObject.Restart();

        // remove enemies
        EnemySpawnerObject.StopSpawn();
        EnemySpawnerObject.HideAll();

        // remove powerups
        PowerUpSpawnerObject.StopSpawn();
        PowerUpSpawnerObject.HideAll();

        // remove clouds
        CloudSpawner.StopSpawn();
        CloudSpawner.HideAll();

        // remove bullets
        EventManager.Instance.TriggerEvent(new HideBulletEvent());
    }