Exemplo n.º 1
0
 internal IResponse registerNewPlayer()
 {
     if (game.status == Status.FINISHED)
     {
         this.game = new Game(this.game.id + 1);
         BroadcastHandler.getBroadcastHandler().removeAllWebsockets();
         return(registerPlayer());
     }
     if (game.allowedToRegister(config.maxUsers))
     {
         return(registerPlayer());
     }
     else
     {
         return(new ErrorResponse("Game not open for registration or max user count reached!"));
     }
 }
Exemplo n.º 2
0
        internal void unregisterPlayer(long playerID)
        {
            Player player = game.players.Find(x =>
                                              x.id == playerID
                                              );

            if (player == null)
            {
                log.Info($"No player with ID {playerID} found");
                return;
            }
            log.Info($"Removing player {player.id} from the game");
            if (player.isAdmin)
            {
                log.Info("Player is admin, removing all players");
                BroadcastHandler broadcastHandler = BroadcastHandler.getBroadcastHandler();
                broadcastHandler.sendResponseToAll(new GameClosedResponse());
                game.close();
                timer.Stop();
            }
            game.players.Remove(player);
        }