Files
plugin-library/Assets/00.ARMazTools/Editor/CreatDomainDirectory.cs

57 lines
1.7 KiB
C#
Raw Normal View History

2025-11-26 17:22:41 +08:00
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEditor;
using UnityEngine;
[InitializeOnLoad]
public static class CreatDomainDirectory
{
static CreatDomainDirectory()
{
// 注意 因为这个构造函数会被重复调用,
//所以为了防止quitting和update两个回调被重复添加需要先移除后添加
EditorApplication.quitting -= OnEditorQuit;
EditorApplication.quitting += OnEditorQuit;
Debug.Log(" 自动运行 ");
if (!EditorPrefs.HasKey("StartUp"))
{
// 通过标记记录是否已经执行过该方法
OnEditorStartUp();
EditorPrefs.SetInt("StartUp", 1);
if (EditorPrefs.GetInt("CreatDomainDirectory") == 0)
{
EditorPrefs.SetInt("CreatDomainDirectory", 1);
bool isOk = EditorUtility.DisplayDialog("提示", "发现目录存在缺失,是否检索并创建缺失目录", "是", "否");
if (isOk)
{
var DomainAll = EvoArtFolderCreator.RefreshModuleList();
foreach (var domain in DomainAll)
{
EvoArtFolderCreator.CreateFolders(domain);
}
}
}
}
}
/// <summary>
/// UnityEditor 关闭时取消标记
/// </summary>
private static void OnEditorQuit()
{
EditorPrefs.DeleteKey("StartUp");
}
/// <summary>
/// 只会在UnityEditor启动时执行一次
/// </summary>
static void OnEditorStartUp()
{
Debug.Log(" UnityEditor 启动 ");
}
}