| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 | 
							- using System.IO;
 
- using UnityEditor;
 
- using UnityEngine;
 
- using XCharts.Runtime;
 
- namespace XCharts.Editor
 
- {
 
-     internal static class XChartsDaemon
 
-     {
 
-         public class XChartsAssetPostprocessor : AssetPostprocessor
 
-         {
 
-             static void OnPostprocessAllAssets(string[] importedAssets, string[] deletedAssets, string[] movedAssets,
 
-                 string[] movedFromAssetsPaths)
 
-             {
 
-                 foreach (var assetPath in importedAssets)
 
-                 {
 
-                     CheckAddedAsset(assetPath);
 
-                 }
 
-                 foreach (var assetPath in deletedAssets)
 
-                 {
 
-                     CheckDeletedAsset(assetPath);
 
-                 }
 
-             }
 
-         }
 
-         public static void CheckAddedAsset(string assetPath)
 
-         {
 
-             var fileName = Path.GetFileName(assetPath);
 
-             if (fileName.Equals("XCSettings.asset"))
 
-             {
 
-                 CheckAsmdef();
 
-                 XCThemeMgr.ReloadThemeList();
 
-             }
 
-             else if (IsThemeAsset(assetPath))
 
-             {
 
-                 var theme = AssetDatabase.LoadAssetAtPath<Theme>(assetPath);
 
-                 if (XCSettings.AddCustomTheme(theme))
 
-                 {
 
-                     XCThemeMgr.ReloadThemeList();
 
-                 }
 
-             }
 
-         }
 
-         public static void CheckAsmdef()
 
-         {
 
- #if UNITY_2017_1_OR_NEWER
 
- #if dUI_TextMeshPro
 
-             XChartsEditor.CheckAsmdefTmpReference(true);
 
- #else
 
-             XChartsEditor.CheckAsmdefTmpReference(false);
 
- #endif
 
- #elif UNITY_2019_1_OR_NEWER
 
- #if INPUT_SYSTEM_ENABLED
 
-             XChartsEditor.CheckAsmdefInputSystemReference(true);
 
- #else
 
-             XChartsEditor.CheckAsmdefInputSystemReference(false);
 
- #endif
 
- #endif
 
-         }
 
-         public static void CheckDeletedAsset(string assetPath)
 
-         {
 
-             if (!IsThemeAsset(assetPath)) return;
 
-             if (XCSettings.Instance == null) return;
 
-             var themes = XCSettings.customThemes;
 
-             var changed = false;
 
-             for (int i = themes.Count - 1; i >= 0; i--)
 
-             {
 
-                 if (themes[i] == null)
 
-                 {
 
-                     themes.RemoveAt(i);
 
-                     changed = true;
 
-                 }
 
-             }
 
-             if (changed)
 
-             {
 
-                 XCThemeMgr.ReloadThemeList();
 
-             }
 
-         }
 
-         private static bool IsThemeAsset(string assetPath)
 
-         {
 
-             if (!assetPath.EndsWith(".asset")) return false;
 
-             var assetName = Path.GetFileNameWithoutExtension(assetPath);
 
-             if (!assetName.StartsWith(XCSettings.THEME_ASSET_NAME_PREFIX)) return false;
 
-             return true;
 
-         }
 
-     }
 
- }
 
 
  |