using UnityEditor;

namespace Davanci.Nexus.Editor
{
    [InitializeOnLoad]
    public static class NexusDefineSync
    {
        static NexusDefineSync() => EditorApplication.delayCall += SyncSilent;

        public static void SyncSilent()
        {
            if (NexusInstaller.SyncDefines() > 0)
                AssetDatabase.Refresh();
        }
    }

    class NexusDefineSyncPostprocessor : AssetPostprocessor
    {
        static void OnPostprocessAllAssets(string[] imported, string[] deleted, string[] moved,
            string[] movedFromAssetPaths)
        {
            if (deleted == null || deleted.Length == 0) return;
            EditorApplication.delayCall += NexusDefineSync.SyncSilent;
        }
    }
}
