97 lines
2.6 KiB
C#
97 lines
2.6 KiB
C#
//------------------------------------------------------------
|
|
// Game Framework
|
|
// Copyright © 2013-2021 Jiang Yin. All rights reserved.
|
|
// Homepage: https://gameframework.cn/
|
|
// Feedback: mailto:ellan@gameframework.cn
|
|
//------------------------------------------------------------
|
|
|
|
using System.Collections.Generic;
|
|
|
|
namespace UnityGameFramework.Editor.ResourceTools
|
|
{
|
|
public sealed class DependencyData
|
|
{
|
|
private List<Resource> m_DependencyResources;
|
|
private List<Asset> m_DependencyAssets;
|
|
private List<string> m_ScatteredDependencyAssetNames;
|
|
|
|
public DependencyData()
|
|
{
|
|
m_DependencyResources = new List<Resource>();
|
|
m_DependencyAssets = new List<Asset>();
|
|
m_ScatteredDependencyAssetNames = new List<string>();
|
|
}
|
|
|
|
public int DependencyResourceCount
|
|
{
|
|
get
|
|
{
|
|
return m_DependencyResources.Count;
|
|
}
|
|
}
|
|
|
|
public int DependencyAssetCount
|
|
{
|
|
get
|
|
{
|
|
return m_DependencyAssets.Count;
|
|
}
|
|
}
|
|
|
|
public int ScatteredDependencyAssetCount
|
|
{
|
|
get
|
|
{
|
|
return m_ScatteredDependencyAssetNames.Count;
|
|
}
|
|
}
|
|
|
|
public void AddDependencyAsset(Asset asset)
|
|
{
|
|
if (!m_DependencyResources.Contains(asset.Resource))
|
|
{
|
|
m_DependencyResources.Add(asset.Resource);
|
|
}
|
|
|
|
m_DependencyAssets.Add(asset);
|
|
}
|
|
|
|
public void AddScatteredDependencyAsset(string dependencyAssetName)
|
|
{
|
|
m_ScatteredDependencyAssetNames.Add(dependencyAssetName);
|
|
}
|
|
|
|
public Resource[] GetDependencyResources()
|
|
{
|
|
return m_DependencyResources.ToArray();
|
|
}
|
|
|
|
public Asset[] GetDependencyAssets()
|
|
{
|
|
return m_DependencyAssets.ToArray();
|
|
}
|
|
|
|
public string[] GetScatteredDependencyAssetNames()
|
|
{
|
|
return m_ScatteredDependencyAssetNames.ToArray();
|
|
}
|
|
|
|
public void RefreshData()
|
|
{
|
|
m_DependencyResources.Sort(DependencyResourcesComparer);
|
|
m_DependencyAssets.Sort(DependencyAssetsComparer);
|
|
m_ScatteredDependencyAssetNames.Sort();
|
|
}
|
|
|
|
private int DependencyResourcesComparer(Resource a, Resource b)
|
|
{
|
|
return a.FullName.CompareTo(b.FullName);
|
|
}
|
|
|
|
private int DependencyAssetsComparer(Asset a, Asset b)
|
|
{
|
|
return a.Name.CompareTo(b.Name);
|
|
}
|
|
}
|
|
}
|