Exemple #1
0
    //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();
    }
Exemple #2
0
    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);
    }