public override void OnRoomListUpdate(List <RoomInfo> roomList) { foreach (RoomInfo roomInfo in roomList) { if (roomListings.FirstOrDefault(x => x.roomInfo.Equals(roomInfo)) == null) { if (!roomInfo.RemovedFromList && roomInfo.PlayerCount != roomInfo.MaxPlayers) { RoomListing rL = basePool.TakeObject().GetComponent <RoomListing>(); rL.Init(roomInfo, this, basePool, mainMenuController); roomListings.Add(rL); } } } roomListings.RemoveAll(x => x.roomInfo.RemovedFromList); roomListings.RemoveAll(x => x.roomInfo.PlayerCount == x.roomInfo.MaxPlayers); roomListings.ForEach((roomListing) => { roomListing.Refresh(); }); }