34 lines
1.2 KiB
C#
34 lines
1.2 KiB
C#
using System.Collections.Generic;
|
|
using XED.Util;
|
|
using XED.Asset;
|
|
using System.Linq;
|
|
using XED.HierarchyTree;
|
|
|
|
namespace XED.Service
|
|
{
|
|
public class AssetDataService
|
|
{
|
|
public List<AssetData> SortAssetDatas(List<ConnectedAsset> connectedAssets)
|
|
{
|
|
return connectedAssets
|
|
.Where(asset => asset.hierarchyItem.linkedObject.activeSelf)
|
|
.OrderBy(asset => asset.hierarchyItem.layerNum)
|
|
.ThenBy(asset => asset.hierarchyItem.GetSiblingIndex())
|
|
.Select(asset => CreateAssetData(asset.hierarchyItem))
|
|
.ToList();
|
|
}
|
|
|
|
public AssetData CreateAssetData(HierarchyItem hierarchyItem)
|
|
{
|
|
return new AssetData(
|
|
hierarchyItem.linkedObject.GetInstanceID(),
|
|
hierarchyItem.name,
|
|
new SaveVector3(hierarchyItem.linkedObject.transform.position),
|
|
new SaveVector3(hierarchyItem.linkedObject.transform.eulerAngles),
|
|
new SaveVector3(hierarchyItem.linkedObject.transform.localScale),
|
|
hierarchyItem.children.Select(x => x.linkedObject.GetInstanceID()).ToList()
|
|
);
|
|
}
|
|
}
|
|
}
|