Files

68 lines
2.2 KiB
C#
Raw Permalink Normal View History

2025-10-24 11:11:59 +08:00
using System;
using System.Collections.Generic;
using System.IO;
using EditorFramework;
using Sirenix.OdinInspector;
using UnityEditor;
namespace Stary.Evo.Editor
{
[Serializable]
2025-10-24 11:50:03 +08:00
public class CreatArtDomainEntity
2025-10-24 11:11:59 +08:00
{
2025-10-24 11:50:03 +08:00
private List<CreatArtDomainEntity> domainList;
2025-10-24 11:11:59 +08:00
[HorizontalGroup] [ReadOnly] public string DomainName;
[ReadOnly]
public string domainPath;
2025-10-24 11:50:03 +08:00
public CreatArtDomainEntity(List<CreatArtDomainEntity> domainList)
2025-10-24 11:11:59 +08:00
{
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)
{
2025-11-04 16:26:50 +08:00
// 获取或创建ArtServerManageWindow面板
ArtServerManageWindow window = EditorWindow.GetWindow<ArtServerManageWindow>();
if (window != null)
{
window.CreateDomainDirectory(DomainName);
}
2025-10-24 11:11:59 +08:00
}
}
[HorizontalGroup(Width = 60)]
[Button("", Icon = SdfIconType.XCircle, IconAlignment = IconAlignment.RightEdge)]
public void CloseDomain()
{
if (DomainName == "Main")
{
EditorUtility.DisplayDialog("提示", "主包Main作用域无法删除", "确定");
return;
}
2025-10-24 11:50:03 +08:00
bool isOk = EditorUtility.DisplayDialog("提示", "是否删除此Art", "是", "否");
2025-10-24 11:11:59 +08:00
if (isOk)
{
BuildArtAssetWindow.RemoveBuildAssetWindow();
EditorFrameworkUtils.DeleteAllChild(domainPath, FileAttributes.Normal);
2025-11-04 16:26:50 +08:00
domainList.Remove(this);
2025-10-24 11:11:59 +08:00
AssetDatabase.Refresh();
AssetDatabase.SaveAssets();
}
}
}
}