public Player AddPlayer(long id) { var player = GetPlayer(id); if (player != null) { if (player.RoomId < 0) { goto update; } return(player); } update: player = GameDAO.GetPlayerInfo(id); if (player == null) { throw new PlayerNotFoundException(); } _players.AddOrUpdate(id, player, (k, v) => player); return(player); }