private void ReadyButton_Click(object sender, RoutedEventArgs e) { Ready ready = new Ready() { RoomID = roomid, CheLayout = CheckBroad.ConvertFromCheInfoToLayout(gameInfo.CB.GetCurrentChesses()) }; GameTCP.SendAsync(ready); }
public MyRoom() { Cb = new CheckBroad(GameMode.SiAn); PlayersInfo = new Dictionary <OfSide, PlayerInfo>(4); }
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; }