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; } //살아있는 것이 없다면 } }
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; } }