public void StartState(RecvCharaterInfo[] SelectCharaterNames) { PlayerStandPos = PlayerManager.Get_Inctance().transform.position; Boss = MonsterManager.Get_Inctance().gameObject.transform.FindChild("Boss_Collision").FindChild("EndPos").gameObject; All_Wave = MonsterManager.Get_Inctance().transform.childCount; Now_Wave = 0; PlayerManager.Get_Inctance().Ready_State(SelectCharaterNames); GMstate = GMSTATE.NEXT; StartCoroutine(C_StartState()); }
IEnumerator C_StartState() { yield return(new WaitForSeconds(0.5f)); while (true) { Timer += Time.deltaTime; UIManager.Get_Inctance().Set_Time((int)Timer); // 게임 상황을 Update문으로 계속 확인한다. switch (GMstate) { case GMSTATE.IDLE: { break; } case GMSTATE.NEXT: { // 다음 장소로 가기 위해 Player들을 전부 대기상태로 한번 만들고 이동한다. PlayerManager.Get_Inctance().Set_Idle(); PlayerManager.Get_Inctance().Invoke("Set_Move", 0.6f); Now_Wave = 1; for (int i = 0; i < All_Wave; i++) { if (MonsterManager.Get_Inctance().transform.GetChild(i).GetComponent <BoxCollider>().enabled == false) { Now_Wave++; } } UIManager.Get_Inctance().Set_WaveUI(Now_Wave, All_Wave); GMstate = GMSTATE.IDLE; break; } case GMSTATE.BOSS: { PlayerManager.Get_Inctance().Set_Idle(); MonsterManager.Get_Inctance().Set_Idle(); GMstate = GMSTATE.IDLE; break; } case GMSTATE.WIN: { PlayerManager.Get_Inctance().Set_Off(); UIManager.Get_Inctance().Set_WinUI(); StateWinManager.Get_Inctance().View_UI(Timer, GameManager.Get_Inctance().Level, 50); GMstate = GMSTATE.IDLE; break; } case GMSTATE.FAILD: { MonsterManager.Get_Inctance().Set_Idle(); UIManager.Get_Inctance().Set_FaildUI(); break; } } float distance = Distance_Percent(PlayerStandPos, Boss.transform.position, PlayerManager.Get_Inctance().transform.position); UIManager.Get_Inctance().Set_Space(distance); if (distance > 0.85f && distance < 0.95f) { UIManager.Get_Inctance().Set_Warning(); } yield return(null); } }
public void Set_Boss() { GMstate = GMSTATE.BOSS; }
public void Set_Win() { GMstate = GMSTATE.WIN; }
// 스테이지를 실패하면 실행되는 함수 public void Set_Faild() { GMstate = GMSTATE.FAILD; }
// 몬스터를 모두 해치우고 다음장소로 넘어가기위한 함수. public void Set_Next() { GMstate = GMSTATE.NEXT; }