/// <summary> /// 处理服务器的响应或广播消息 /// </summary> /// <param name="netmsg"></param> private void _onMsgRecv(NetServerMsg netmsg) { switch (netmsg.MsgType.Name) { case "LoginInfo": _onLogin((LoginInfo)netmsg.Data); break; case "MatchInfo": _onMatchInfo((MatchInfo)netmsg.Data); break; case "PlayerInfo": _onPlayerInfo((PlayerInfo)netmsg.Data); break; default: break; } }
private void _onMsgRecv(object sender, NetServerMsg netServerMsg) { switch (netServerMsg.MsgType.Name) { case "LoginInfo": { LoginInfo loginInfo = (LoginInfo)netServerMsg.Data; if (loginInfo.IsLogin) { myuid = loginInfo.PlayerID; Login.Visibility = Visibility.Hidden; MatchButton.IsEnabled = true; } else { LoginInfoLable.Content = loginInfo.Info; } NetMsgTextBlock.Text += loginInfo.Info; } break; case "PReady": { PReady pr = (PReady)netServerMsg.Data; gameInfo.CB.Layout(CheckBroad.ConvertFromLayoutToCheInfo(pr.CheLayout, pr.PlayerInfo.Side)); }; break; case "MatchInfo": { MatchInfo matchInfo = (MatchInfo)netServerMsg.Data; if (matchInfo.HasAGame) { roomid = matchInfo.RoomID; foreach (var info in matchInfo.PlayerInfo) { if (info.UID == myuid) { myside = info.Side; return; } } } }; break; case "GameLayouting": { GameLayouting gameLayouting = (GameLayouting)netServerMsg.Data; gameStatus = GameStatus.Layouting; } break; case "GetquestError": { GetquestError getquestError = (GetquestError)netServerMsg.Data; if (getquestError.Code == 101) { Login.Visibility = Visibility.Visible; } }; break; default: break; } NetMsgTextBlock.Text += netServerMsg.MsgType.Name; }