예제 #1
0
    public void LoadNextLevel()
    {
        levelComplete = false;

        if (currentLevel >= levelLists.levelList.Count)
        {
            //currentLevel = 0;
            worldComplete = true;
        }

        while (dropContainerList.Count > 0)
        {
            dropContainerList[0].Dissapear();
            dropContainerList.Remove(dropContainerList[0]);
        }
        while (enemiesList.Count > 0)
        {
            enemiesList.Remove(enemiesList[0]);
        }
        if (!worldComplete)
        {
            blind.On();

            StartCoroutine(ExecuteAfterTime(1f));

            curLevelPF.Destruct();
            NGUITools.Destroy(curLevelPF.gameObject);

            var level = levelLists.levelList[currentLevel].MakeInstance(bgScrollSprite.transform.gameObject);
            level.Init(this);
            level.transform.position = bgScrollSprite.transform.position;
            curLevelPF   = level;
            camStopRight = curLevelPF.camStopRight;

            Scroll(new Vector2(720f, 0f), true);

            playerBrain.Reset();
            playerBrain.transform.position = playerStart.position;
            uiCamera.transform.position    = playerBrain.transform.position;

            levelLoading = false;
        }

        if (worldComplete)
        {
            StartCoroutine(WorldComplete());
        }
    }