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); var endIndex = Mathf.Max(endIndex1, endIndex2);
return path[..endIndex]; 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 namespace Tools.ExcelResolver.Editor
{ {
[InlineEditor(InlineEditorObjectFieldModes.CompletelyHidden)] [InlineEditor(InlineEditorObjectFieldModes.CompletelyHidden)]
// [CreateAssetMenu(fileName = "ExcelResolverEditorConfig", menuName = "ExcelResolver/ExcelResolverEditorConfig")]
public sealed class ExcelResolverEditorConfig : ScriptableObject public sealed class ExcelResolverEditorConfig : ScriptableObject
{ {
[LabelText("Excel路径"), FolderPath] [LabelText("Excel路径"), FolderPath]
public string ExcelPathRoot = "Assets/ExcelResolver/Excel"; 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()")] [LabelText("C#代码路径"), ValueDropdown("@Tools.Editor.DirectoryUtil.GetFilePaths()")]
public string CodePathRoot = "Assets/Scripts/Generator/Excel"; public string CodePathRoot = "Assets/Scripts/Generator/Excel";
[LabelText("SO存放路径"), ValueDropdown("@Tools.Editor.DirectoryUtil.GetFilePaths()")] [LabelText("SO存放路径"), ValueDropdown("@Tools.Editor.DirectoryUtil.GetFilePaths()")]
@ -19,12 +16,9 @@ namespace Tools.ExcelResolver.Editor
[LabelText("生成代码命名空间")] [LabelText("生成代码命名空间")]
public string GenerateDataClassNameSpace = "Tools.ExcelResolver"; public string GenerateDataClassNameSpace = "Tools.ExcelResolver";
[HideInInspector] public bool isInit;
public void MakeSureDirectory() public void MakeSureDirectory()
{ {
DirectoryUtil.MakeSureDirectory(ExcelPathRoot); DirectoryUtil.MakeSureDirectory(ExcelPathRoot);
DirectoryUtil.MakeSureDirectory(JsonPathRoot);
DirectoryUtil.MakeSureDirectory(SOPathRoot); DirectoryUtil.MakeSureDirectory(SOPathRoot);
DirectoryUtil.MakeSureDirectory(CodePathRoot); DirectoryUtil.MakeSureDirectory(CodePathRoot);
} }

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

@ -1,8 +1,8 @@
using System;
using Sirenix.OdinInspector; using Sirenix.OdinInspector;
using Sirenix.OdinInspector.Editor; using Sirenix.OdinInspector.Editor;
using Sirenix.Utilities; using Sirenix.Utilities;
using Sirenix.Utilities.Editor; using Sirenix.Utilities.Editor;
using Tools.Editor;
using UnityEditor; using UnityEditor;
using UnityEngine; 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] [OnInspectorGUI]
private void DrawGenerateButton() 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(); private void GenerateCode() => ReadExcel();
[Button(ButtonSizes.Gigantic), HorizontalGroup("Split", 0.5f)] [ButtonGroup("Generate")]
private void GenerateSO() => WriteSOData(); private void GenerateSO() => WriteSOData();
} }
} }
Loading…
Cancel
Save