private void CollectNearbyBuildings() { var count = 0; foreach (var building in MemoryAccess.GetCBuildings(_camera.Position, UserConfig.BuildingSearchRadius) .OrderBy(x => x.Position.DistanceTo(_camera.Position))) { if (count > Math.Min(49, UserConfig.MaxBuildingsOnScreen)) { break; } if (!UserConfig.ShowLODs && building.ModelName.Contains("_slod")) { continue; } _visibleObjects[count++] = new BuildingObjectInfo(building); if (UserConfig.ShowNearbyList && count < FastUiArray.NumTextLines) { _uiList.SetText(count, building.ModelName, $"{building.Position.DistanceTo(_camera.Position):0.###}"); } } }