Пример #1
0
    private void ResetLevel()
    {
        _cam.parent          = null;
        _caveLevelMap.parent = null;

        _gameHud?.Destroy();
        _level?.Destroy();

        GameHud.Instance = null;
        FlashbackPickupsManager.Instance = null;
        FlashbackManager.Instance        = null;
        HiddenRoomCoverManager.Instance  = null;

        GameSoundManager.Instance?.StopAllSounds();

        foreach (var go in game.GetChildren())
        {
            if (go is PreGameStartScreen ps)
            {
                CoroutineManager.StopAllCoroutines(ps);
                HierarchyManager.Instance.LateDestroy(ps);
            }
        }

        LoadLevel();
    }