red-sim-light-volumesudon/VRCLightVolumes/LightVolumeDataSorter.cs
2025-09-17 01:38:27 +01:00

31 lines
No EOL
932 B
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.CompilerServices;
namespace VRCLightVolumes
{
public static class LightVolumeDataSorter
{
public static LightVolumeInstance[] GetData(List<LightVolumeData> sortedData)
{
int count = sortedData.Count;
LightVolumeInstance[] lightVolumeInstance = new LightVolumeInstance[count];
for (int i = 0; i < count; i++)
{
lightVolumeInstance[i] = sortedData[i].LightVolumeInstance;
}
return lightVolumeInstance;
}
public static List<LightVolumeData> SortData(List<LightVolumeData> lightVolumeDataList)
{
lightVolumeDataList.RemoveAll((LightVolumeData item) => item.LightVolumeInstance == null);
List<LightVolumeData> list = (
from item in lightVolumeDataList
orderby item.LightVolumeInstance.IsAdditive descending, item.Weight descending
select item).ToList<LightVolumeData>();
return list;
}
}
}