Пример #1
0
        private void SendReconnect()
        {
            CBReconnectRequest msg = new CBReconnectRequest();

            msg.SessionID = "";//TODO:LAST SESSION ID
            msg.Token     = serverInfo.Token;
            SendMessage <CBReconnectRequest, CBReconnectReply>(msg, (rep) =>
            {
                if (rep.RoomState == (int)RoomData.State.Dismiss)
                {
                    room.SetState(0, rep.RoomState, 0);
                    MessageBox.Show("房间已解散", "点击确认,退出房间!", MessageBoxStyle.OK, (res) =>
                    {
                        GF.GetProxy <HallProxy>().CancelReconnect(1, 1);
                        GF.ChangeState <HallState>();
                    });
                    return;
                }

                Reset();
                isLogin = true;

                room.SetData(rep.RoomInfo);
                room.SetCards(rep.Cards);
                room.SetPlayers(rep.PlayerInfos);
                room.SetState(rep.WhoseTurn, rep.RoomState, rep.LeftCardCount);

                SendEvent(EventDef.SOS.Reconnected);
            });
        }
Пример #2
0
 void OnMatchSuccess(CMMatchSuccess msg)
 {
     battleServerInfo = msg.BattleServerInfo;
     SendEvent(EventDef.MatchSuccess);
     needReconnectBattle = false;
     GF.ChangeState <BattleLoadingState>();
 }
Пример #3
0
 void OnClickExit()
 {
     if (roomData.state != Data.SOS.RoomData.State.End)
     {
         Toast.instance.Show("当前状态不能退出房间");
         return;
     }
     GF.ChangeState <HallState>();
 }
Пример #4
0
 public override void Enter(params object[] param)
 {
     GF.ShowView <LoadingView>();
     GF.Send(EventDef.HallLoading, new LoadingStatus(LTKey.LOADING_UI, 0));
     GF.Send(EventDef.HallLoading, new LoadingStatus(LTKey.LOADING_UI, 50));
     Task.WaitFor(0.5f, () =>
     {
         GF.ChangeState <BattleLoginState>();
     });
     UIManager.instance.Load("Battle/Battle");
 }
Пример #5
0
        public override void Update()
        {
            if (!m_lastConnected && GF.GetProxy <SosProxy>().isConnected)
            {
                GF.Send(EventDef.HallLoading, new LoadingStatus(LTKey.LOADING_WAIT_LOGIN, 70));
            }
            m_lastConnected = GF.GetProxy <SosProxy>().isConnected;

            if (!m_lastLogin && GF.GetProxy <SosProxy>().isLogin)
            {
                GF.Send(EventDef.HallLoading, new LoadingStatus(LTKey.GENRAL_START, 98));
                Task.WaitFor(1f, () =>
                {
                    GF.ChangeState <BattleState>();
                });
            }
            m_lastLogin = GF.GetProxy <SosProxy>().isLogin;
        }
Пример #6
0
 private void ReconnectToBattle()
 {
     needReconnectBattle = true;
     GF.ChangeState <BattleLoadingState>();
 }
Пример #7
0
 private void OnLoadFinished()
 {
     GF.ChangeState <HallLoginState>();
 }