Exemple #1
0
    void LoadLevel()
    {
        LevelConfig levelConfig = chapterConfig.levels[CurrentLevel];

        List <Enemy> newEnemyList = levelBuilder.BuildLevel(levelConfig);

        enemiesCount = newEnemyList.Count;

        // Init Controllers
        enemyMoveManager.Init(levelConfig.enemyConfig, newEnemyList);
        enemyShootManager.Init(levelConfig, newEnemyList);
        uiGameManager.Init(levelConfig.playerConfig.lives);

        // Callbacks
        levelBuilder.Player.onPlayerHit      += OnPlayerHit;
        levelBuilder.Player.onPlayerHit      += uiGameManager.OnPlayerHit;
        enemyMoveManager.onEnemyReachedLimit += Lose;

        foreach (Enemy enemy in newEnemyList)
        {
            enemy.onEnemyKilled += OnEnemyKilled;
        }

        StartCoroutine(StartLevelCoroutine());
    }