Exemple #1
0
    //다음층으로 내려갈때
    public void GoDownStage()
    {
        if (m_TileManager.stages.Count <= curStage + 1) //다음층에 간적이 없다면
        {
            m_TileManager.SaveStage(curStage);          //현재층 맵 상태를 저장
            m_TrapManager.SaveTraps(curStage);          //현재층 트랩 상태를 저장

            m_TileManager.CreateCaveMap();              //새로운 맵을 만듬
            m_TileManager.SaveStage(curStage, true);    //만든 맵을 저장
            m_TileManager.FindStairs();                 //계단 재배치

            m_EnemyManager.reArrangeEnemy(curStage);    //몬스터 : 내려갈때(new) - 현재층을 꺼준다.

            curStage += 1;                              //스테이지 증가

            m_TrapManager.PlaceTraps(10);               //새로운 트랩을 깜
            m_TrapManager.SaveTraps(curStage, true);    //새로운 스테이지의 트랩을 저장

            m_EnemyManager.CallRandomEnemy(curStage);
        }
        else //해당층에 간적이 있다면
        {
            m_TileManager.SaveStage(curStage); //현재층 맵 상태를 저장
            m_TrapManager.SaveTraps(curStage);                    //현재층 트랩 상태를 저장

            m_EnemyManager.reArrangeEnemy(curStage, true, false); //몬스터 : 내려갈때(old) - 현재층을 꺼주고 다음층을 켜준다

            curStage += 1;                                        //스테이지 증가

            m_TileManager.LoadStage(curStage);                    //다음층의 스테이지를 로드
            m_TrapManager.LoadTraps(curStage);                    //다음층의 트랩 로드
            m_TileManager.FindStairs();                           //계단 재배치
        }

        stageText.text = "Floor : " + curStage.ToString();
    }