Пример #1
0
 private static void OnGameOver(PongGame game)
 {
     lock (_syncRoot)
     {
         _games.Remove(game);
     }
 }
Пример #2
0
 private static void OnGameOver(PongGame game)
 {
     lock (_syncRoot)
     {
         _games.Remove(game);
     }
 }
Пример #3
0
 public void SetGame(PongGame game)
 {
     if (_game != null)
     {
         throw new InvalidOperationException();
     }
     _game = game;
 }
Пример #4
0
 /// <summary>
 /// Добавить игрока в существующую игру или создать новую игру 
 /// </summary>
 /// <param name="player">
 /// Игро
 /// </param>
 public static void JoinPlayer(PongPlayer player)
 {
     lock (_syncRoot)
     {
         var game = _games.Where(g => g.State == GameState.WaitingForPlayer).FirstOrDefault();
         if (game == null)
         {
             game = new PongGame();
             _games.Add(game);
             game.GameOver += OnGameOver;
         }
         game.JoinPlayer(player);
     }
 }
Пример #5
0
 /// <summary>
 /// Joins new player to existing game or creates new one
 /// </summary>
 /// <param name="player"></param>
 public static void JoinPlayer(PongPlayer player)
 {
     lock (_syncRoot)
     {
         var game = _games.Where(g => g.State == GameState.WaitingForPlayer).FirstOrDefault();
         if (game == null)
         {
             game = new PongGame();
             _games.Add(game);
             game.GameOver += OnGameOver;
         }
         game.JoinPlayer(player);
     }
 }
Пример #6
0
 public void SetGame(PongGame game)
 {
     if (_game != null)
         throw new InvalidOperationException();
     _game = game;
 }