Browse Source

删除C#脚本和SO功能

master
coffee 5 months ago
parent
commit
183953eb63
  1. 15
      Assets/Unity-Tools/Core/Editor/DirectoryUtil.cs
  2. 6
      Assets/Unity-Tools/Core/ExcelResolver/Editor/ExcelResolverEditorConfig.cs
  3. 19
      Assets/Unity-Tools/Core/ExcelResolver/Editor/ExcelResolverEditorWindow.cs

15
Assets/Unity-Tools/Core/Editor/DirectoryUtil.cs

@ -64,5 +64,20 @@ namespace Tools.Editor
var endIndex = Mathf.Max(endIndex1, endIndex2);
return path[..endIndex];
}
/// <summary>
/// 删除目录下所有子目录和文件。
/// </summary>
/// <param name="path"></param>
/// <returns></returns>
public static bool DeleteDirectory(string path)
{
if (!Directory.Exists(path))
{
return false;
}
Directory.Delete(path, true);
return true;
}
}
}

6
Assets/Unity-Tools/Core/ExcelResolver/Editor/ExcelResolverEditorConfig.cs

@ -5,13 +5,10 @@ using UnityEngine;
namespace Tools.ExcelResolver.Editor
{
[InlineEditor(InlineEditorObjectFieldModes.CompletelyHidden)]
// [CreateAssetMenu(fileName = "ExcelResolverEditorConfig", menuName = "ExcelResolver/ExcelResolverEditorConfig")]
public sealed class ExcelResolverEditorConfig : ScriptableObject
{
[LabelText("Excel路径"), FolderPath]
public string ExcelPathRoot = "Assets/ExcelResolver/Excel";
[LabelText("Json路径"), ValueDropdown("@Tools.Editor.DirectoryUtil.GetFilePaths()")]
public string JsonPathRoot = "Assets/ExcelResolver/Json";
[LabelText("C#代码路径"), ValueDropdown("@Tools.Editor.DirectoryUtil.GetFilePaths()")]
public string CodePathRoot = "Assets/Scripts/Generator/Excel";
[LabelText("SO存放路径"), ValueDropdown("@Tools.Editor.DirectoryUtil.GetFilePaths()")]
@ -19,12 +16,9 @@ namespace Tools.ExcelResolver.Editor
[LabelText("生成代码命名空间")]
public string GenerateDataClassNameSpace = "Tools.ExcelResolver";
[HideInInspector] public bool isInit;
public void MakeSureDirectory()
{
DirectoryUtil.MakeSureDirectory(ExcelPathRoot);
DirectoryUtil.MakeSureDirectory(JsonPathRoot);
DirectoryUtil.MakeSureDirectory(SOPathRoot);
DirectoryUtil.MakeSureDirectory(CodePathRoot);
}

19
Assets/Unity-Tools/Core/ExcelResolver/Editor/ExcelResolverEditorWindow.cs

@ -1,8 +1,8 @@
using System;
using Sirenix.OdinInspector;
using Sirenix.OdinInspector.Editor;
using Sirenix.Utilities;
using Sirenix.Utilities.Editor;
using Tools.Editor;
using UnityEditor;
using UnityEngine;
@ -30,6 +30,18 @@ namespace Tools.ExcelResolver.Editor
}
}
[FoldoutGroup("Hide Setting")]
[Button(SdfIconType.ExclamationDiamond, "删除所有生成的代码和SO"), GUIColor(1f, 0f, 0f)]
public void DeleteAllScriptsAndSO()
{
if (EditorUtility.DisplayDialog("警告", "确定要删除所有生成的代码和SO吗?", "确定", "取消"))
{
DirectoryUtil.DeleteDirectory(excelResolverConfig.CodePathRoot);
DirectoryUtil.DeleteDirectory(excelResolverConfig.SOPathRoot);
AssetDatabase.Refresh();
}
}
[OnInspectorGUI]
private void DrawGenerateButton()
{
@ -37,10 +49,11 @@ namespace Tools.ExcelResolver.Editor
}
[Button(ButtonSizes.Gigantic), HorizontalGroup("Split", 0.5f)]
[Button(ButtonSizes.Gigantic)]
[ButtonGroup("Generate")]
private void GenerateCode() => ReadExcel();
[Button(ButtonSizes.Gigantic), HorizontalGroup("Split", 0.5f)]
[ButtonGroup("Generate")]
private void GenerateSO() => WriteSOData();
}
}
Loading…
Cancel
Save