From 2fd798e6313c396d06428e34596caa42ae694c72 Mon Sep 17 00:00:00 2001 From: DCFApixels <99481254+DCFApixels@users.noreply.github.com> Date: Fri, 4 Apr 2025 17:43:05 +0800 Subject: [PATCH] add MetaIDGenerator --- .../Editors/DeepDebuggerWindow.cs | 2 +- src/Tools/MetaIDgenerator.meta | 8 ++++ src/Tools/MetaIDgenerator/Editors.meta | 8 ++++ .../Editors/MetaIDGenerator.cs | 42 +++++++++++++++++++ .../Editors/MetaIDGenerator.cs.meta | 2 + 5 files changed, 61 insertions(+), 1 deletion(-) create mode 100644 src/Tools/MetaIDgenerator.meta create mode 100644 src/Tools/MetaIDgenerator/Editors.meta create mode 100644 src/Tools/MetaIDgenerator/Editors/MetaIDGenerator.cs create mode 100644 src/Tools/MetaIDgenerator/Editors/MetaIDGenerator.cs.meta diff --git a/src/Tools/DeepDebugger/Editors/DeepDebuggerWindow.cs b/src/Tools/DeepDebugger/Editors/DeepDebuggerWindow.cs index 1bf3be5..e23c2a4 100644 --- a/src/Tools/DeepDebugger/Editors/DeepDebuggerWindow.cs +++ b/src/Tools/DeepDebugger/Editors/DeepDebuggerWindow.cs @@ -9,7 +9,7 @@ namespace DCFApixels.DragonECS.Unity.Editors { internal class DeepDebuggerWindow : EditorWindow { - public const string TITLE = "DeepDebuggerWindow"; + public const string TITLE = nameof(DeepDebuggerWindow); #if DRAGONECS_DEEP_DEBUG [MenuItem("Tools/" + EcsConsts.FRAMEWORK_NAME + "/" + TITLE)] diff --git a/src/Tools/MetaIDgenerator.meta b/src/Tools/MetaIDgenerator.meta new file mode 100644 index 0000000..1a70133 --- /dev/null +++ b/src/Tools/MetaIDgenerator.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 97fdad78c98d48c43a73aeecf2083cbb +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/src/Tools/MetaIDgenerator/Editors.meta b/src/Tools/MetaIDgenerator/Editors.meta new file mode 100644 index 0000000..c914f38 --- /dev/null +++ b/src/Tools/MetaIDgenerator/Editors.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d73207c0a0e08c3479a7101a2090e17c +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/src/Tools/MetaIDgenerator/Editors/MetaIDGenerator.cs b/src/Tools/MetaIDgenerator/Editors/MetaIDGenerator.cs new file mode 100644 index 0000000..6138ef7 --- /dev/null +++ b/src/Tools/MetaIDgenerator/Editors/MetaIDGenerator.cs @@ -0,0 +1,42 @@ +#if UNITY_EDITOR +using UnityEditor; +using UnityEngine; + +namespace DCFApixels.DragonECS.Unity.Editors +{ + + internal class MetaIDGenerator : EditorWindow + { + public const string TITLE = nameof(MetaIDGenerator); + + [MenuItem("Tools/" + EcsConsts.FRAMEWORK_NAME + "/" + TITLE)] + static void Open() + { + var wnd = GetWindow(); + wnd.titleContent = new GUIContent(TITLE); + wnd.minSize = new Vector2(100f, 120f); + wnd.Show(); + } + + + private string _lastID; + private string _lastIDAttribute; + private string _template; + + private void OnGUI() + { + EditorGUILayout.TextField("MetaID", _lastID); + EditorGUILayout.TextField("Attribute", _lastIDAttribute); + EditorGUILayout.TextField("Template Type", _template); + + if (GUILayout.Button("Generate new MetaID")) + { + _lastID = MetaID.GenerateNewUniqueID(); + _lastIDAttribute = MetaID.IDToAttribute(_lastID); + _template = "Tempalte" + MetaID.ConvertIDToTypeName(_lastID); + GUI.FocusControl(null); + } + } + } +} +#endif \ No newline at end of file diff --git a/src/Tools/MetaIDgenerator/Editors/MetaIDGenerator.cs.meta b/src/Tools/MetaIDgenerator/Editors/MetaIDGenerator.cs.meta new file mode 100644 index 0000000..9bf7e9d --- /dev/null +++ b/src/Tools/MetaIDgenerator/Editors/MetaIDGenerator.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 63d0e9c5d1c44844abb3e6dc3c863668 \ No newline at end of file