2025-11-05 17:34:40 +08:00

39 lines
1.2 KiB
C#

using System.IO;
using UnityEditor;
using UnityEngine;
using UnityEngine.Rendering;
namespace TexturePacker
{
internal class TextureMapIndex : ScriptableObject
{
public SerializedDictionary<string, TextureMapInfo> ResultGuid2TextureMap;
public SerializedDictionary<string, TextureMapInfo> TextureGuid2TextureMap;
public SerializedDictionary<TextureMapInfo, string> TextureMap2TextureGuid;
public static readonly string TextureMapIndexPath = $"{TextureMapInfo.TextureMapDir}/texture_map_index.asset";
private static TextureMapIndex instance;
public static TextureMapIndex Instance
{
get
{
if(instance == null)
{
if(File.Exists(TextureMapIndexPath))
{
instance = AssetDatabase.LoadAssetAtPath<TextureMapIndex>(TextureMapIndexPath);
}
else
{
instance = ScriptableObject.CreateInstance<TextureMapIndex>();
AssetDatabase.CreateAsset(instance, TextureMapIndexPath);
}
}
return instance;
}
}
}
}