Ejemplo n.º 1
0
    public void WaveClear(ref WAVE_STATE eState)
    {
        int iCount = 0;

        for (int i = 0; i < m_ListEnemyObject[m_iCurWave].Count; i++)
        {
            if (m_ListEnemyObject[m_iCurWave][i].activeSelf) //해당 오브젝트가 살아있는 상태인가
            {
                iCount++;                                    //해당 오브젝트가 하나라도 살아있다면
            }
        }

        if (iCount > 0)
        {
            eState = WAVE_STATE.WAVE_NONE;
        }
        else
        {
            m_WaveObject[m_iCurWave].SetActive(false);
            m_iCurWave++;
            if (m_iCurWave <= m_iMaxWave - 1)
            {
                eState = WAVE_STATE.WAVE_CLEAR;
            }
            else
            {
                eState = WAVE_STATE.WAVE_END;
            }
            //살아있는 것이 없다면
        }
    }
Ejemplo n.º 2
0
    void WaveClear()
    {
        WAVE_STATE eStae = WAVE_STATE.WAVE_NONE;

        m_EnemyMangaer.WaveClear(ref eStae);
        switch (eStae)
        {
        case WAVE_STATE.WAVE_CLEAR:
            m_EnemyMangaer.TrSetting(m_PlayerManager.GetCharTR());
            m_EnemyMangaer.ActiveWave();
            break;

        case WAVE_STATE.WAVE_END:
            /*
             * 현재는 바로 이전 화면으로 로딩해주지만 아래와 같은 것이 필요
             * 스테이지를 클리어하였기에 경험치와 아이템들을 정산해줘야 하며
             * 캐릭터의 스테이터스 등을 상승시켜줄 필요가있다.
             */
            Time.timeScale = 0.0f;
            m_ResultPanel.gameObject.SetActive(true);
            CancelInvoke("WaveClear");
            //결과창을띄워준다.
            break;
        }
    }