using System.IO; using UnityEditor; using UnityEngine; using UnityEngine.Rendering; namespace TexturePacker { internal class TextureMapIndex : ScriptableObject { public SerializedDictionary ResultGuid2TextureMap; public SerializedDictionary TextureGuid2TextureMap; public SerializedDictionary 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(TextureMapIndexPath); } else { instance = ScriptableObject.CreateInstance(); AssetDatabase.CreateAsset(instance, TextureMapIndexPath); } } return instance; } } } }