コード例 #1
0
ファイル: JoinGame.cs プロジェクト: webrokeit/PirateSpades
 /// <summary>
 /// Join the server represented by this serversprite
 /// </summary>
 /// <param name="s">The serversprite</param>
 private void JoinThisGame(ServerSprite s)
 {
     Contract.Requires(s != null && Regex.IsMatch(game.PlayerName, @"^[a-zA-Z0-9]{3,12}$"));
     Contract.Ensures(game.Client != null && game.PlayingGame != null && game.Host == null && game.State == GameState.InGame);
     var client = new PirateClient(game.PlayerName, s.Ip, 4939);
     var playingGame = new Game();
     game.GameName = s.ServerName;
     game.MaxPlayers = s.MaxPlayers;
     game.Client = client;
     game.Client.NameRequested += this.OnNameRequest;
     game.PlayingGame = playingGame;
     game.Client.SetGame(playingGame);
     game.Client.InitConnection();
     game.State = GameState.InGame;
 }
コード例 #2
0
ファイル: JoinGame.cs プロジェクト: webrokeit/PirateSpades
 /// <summary>
 /// Helper method for the event GameFound
 /// </summary>
 /// <param name="gameInfo">The information about the game</param>
 private void GameFound(PirateScanner.GameInfo gameInfo)
 {
     lock(servers) {
         numberOfServers++;
         var serverSprite = new ServerSprite(gameInfo.Ip, gameInfo.GameName, gameInfo.Players, gameInfo.MaxPlayers, serversRectangle, numberOfServers);
         serverSprite.LoadContent(content);
         servers.Add(serverSprite);
         Serversprites = servers.AsReadOnly();
     }
 }