Beispiel #1
0
        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);
 }
Beispiel #3
0
        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;
        }