/////////////////////////////////////////////////////
// FTileLODEntryDetails
FTileLODEntryDetails::FTileLODEntryDetails()
	// Initialize properties with default values from FWorldTileLODInfo
	: LODIndex(0)
	, Distance(FWorldTileLODInfo().RelativeStreamingDistance)
	, DetailsPercentage(FWorldTileLODInfo().GenDetailsPercentage)
	, MaxDeviation(FWorldTileLODInfo().GenMaxDeviation)
{
}
void UWorldTileDetails::SetInfo(const FWorldTileInfo& Info, ULevel* Level)
{
	ParentPackageName	= FName(*Info.ParentTilePackageName);
	Position			= Info.Position;
	AbsolutePosition	= Info.AbsolutePosition;
	Layer				= Info.Layer;
	Bounds				= Info.Bounds;
	ZOrder				= Info.ZOrder;
	bHideInTileView		= Info.bHideInTileView;

	// Sync LOD settings
	NumLOD				= Info.LODList.Num();
	FTileLODEntryDetails* LODEntries[WORLDTILE_LOD_MAX_INDEX] = {&LOD1, &LOD2, &LOD3, &LOD4};

	for (int32 i = 0; i < WORLDTILE_LOD_MAX_INDEX; ++i)
	{
		if (Info.LODList.IsValidIndex(i))
		{
			LODEntries[i]->Distance = Info.LODList[i].RelativeStreamingDistance;
			LODEntries[i]->SimplificationDetails = Level ? Level->LevelSimplification[i] : FLevelSimplificationDetails();
		}
		else
		{
			LODEntries[i]->Distance = FWorldTileLODInfo().RelativeStreamingDistance;
			LODEntries[i]->SimplificationDetails = FLevelSimplificationDetails();
		}
	}
}
/////////////////////////////////////////////////////
// FTileLODEntryDetails
FTileLODEntryDetails::FTileLODEntryDetails()
	// Initialize properties with default values from FWorldTileLODInfo
	: LODIndex(0)
	, Distance(FWorldTileLODInfo().RelativeStreamingDistance)
{
}