public Player Login(string playerName, string clientId) { var player = _service.GetPlayerByName(playerName); if (player == null) { throw new InvalidOperationException(String.Format("'{0}' isn't anybody I know.", playerName)); } if (!player.Online) { player.Online = true; } player.ClientIds.Add(clientId); GetRoom(player.RoomReference).PlayerReferences.Add(player); _players.AddOrUpdate(player, player, (key, oldValue) => player); return(player); }