//public static bool LobbyActionEventCheck = false; public void LobbyActionEvent(_STATE State, _ACTION Action, UI_OPEN_TYPE openType) { ChangeState = State; ChangeAction = Action; IsYieldAction = true; UiOpenType = openType; NetworkClient.instance.SendPMsgReturnMainMapC(); }
IEnumerator StateEvent(_STATE State, _ACTION Action) { WaitForSeconds waitfor = new WaitForSeconds(0.1f); while (true) { //< UI관련 로딩이 끝났을때까지 대기 if (TownState.IsUILoad && TownState.IsMapLoad)// && StructureMgr.instance.IsLoadSuccess) { yield return(waitfor); break; } yield return(null); } NetData.instance.bEventPopupCheck = false; //yield return waitfor; switch (Action) { case _ACTION.GO_TOWN: //마을로 이동 //UIMgr.OpenTown(); //yield return waitfor; //yield return waitfor; break; case _ACTION.GO_MAP: //해당 모드에 맞는 UI띄워준다. if (State == _STATE.ARENA_GAME) { UIMgr.OpenArenaPanel(); } else if (State == _STATE.FREEFIGHT_GAME) { UIMgr.OpenDogFight(); } else if (State == _STATE.COLOSSEUM) { UIMgr.OpenColosseumPanel(0); } //else if (State == _STATE.MULTI_RAID) // UIMgr.OpenSpecial(); //else if (State == _STATE.RAID_GAME) // UIMgr.OpenSpecial(); //else if (State == _STATE.SPECIAL_GAME) // UIMgr.OpenSpecial(); else if (State == _STATE.MULTI_RAID || State == _STATE.RAID_GAME || State == _STATE.SPECIAL_GAME) { UIMgr.OpenDungeonPanel(); } else if (State == _STATE.TOWER_GAME) { UIMgr.OpenTowerPanel(); } else { UIMgr.OpenChapter(null); } UIBasePanel townPanel = UIMgr.GetTownBasePanel(); if (townPanel != null) { townPanel.Hide(); } //UiOpenType = UI_OPEN_TYPE.NONE; break; default: //혹시 모를 예외처리. 원하는 처리 정의 해줘야함. //UIMgr.OpenTown(); //yield return waitfor; Debug.LogError(string.Format("UnDefined type {0} please defined", Action)); break; } //< 로비 액션이 끝났을때 처리할것들 yield return(new WaitForSeconds(0.1f)); ShowLoadingTipPanel(false); IsYieldAction = false; NetData.instance.bEventPopupCheck = true; yield return(null); }