using System; using System.Collections.Generic; using System.IO; using EditorFramework; using Sirenix.OdinInspector; using UnityEditor; namespace Stary.Evo.Editor { [Serializable] public class CreatDomainEntity { private List domainList; [HorizontalGroup] [ReadOnly] public string DomainName; [ReadOnly] public string domainPath; public CreatDomainEntity(List domainList) { this.domainList = domainList; } [HorizontalGroup(Width = 60)] [Button("", Icon = SdfIconType.ArrowRepeat, IconAlignment = IconAlignment.RightEdge)] public void CreatDomain() { if (DomainName == "Main") { EditorUtility.DisplayDialog("提示", "主包Main作用域无法再次创建", "确定"); return; } bool isOk = EditorUtility.DisplayDialog("提示", "是否检索并创建缺失目录", "是", "否"); if (isOk) { CreatAssetWindow.CreateDomainDirectory(DomainName); } } [HorizontalGroup(Width = 60)] [Button("", Icon = SdfIconType.XCircle, IconAlignment = IconAlignment.RightEdge)] public void CloseDomain() { if (DomainName == "Main") { EditorUtility.DisplayDialog("提示", "主包Main作用域无法删除", "确定"); return; } bool isOk = EditorUtility.DisplayDialog("提示", "是否删除此Domain", "是", "否"); if (isOk) { BuildAssetWindow.RemoveBuildAssetWindow(); EditorFrameworkUtils.DeleteAllChild(domainPath, FileAttributes.Normal); domainList.Clear(); AssetDatabase.Refresh(); AssetDatabase.SaveAssets(); } } } }