diff --git a/UnityProject/Assets/Editor/TEngineSettingsProvider.meta b/UnityProject/Assets/Editor/TEngineSettingsProvider.meta new file mode 100644 index 00000000..fd9d1249 --- /dev/null +++ b/UnityProject/Assets/Editor/TEngineSettingsProvider.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: cace8d5078f400048a8afde10e2bf41d +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/UnityProject/Assets/Editor/TEngineSettingsProvider/TEngineSettingsProvider.cs b/UnityProject/Assets/Editor/TEngineSettingsProvider/TEngineSettingsProvider.cs new file mode 100644 index 00000000..9e87336b --- /dev/null +++ b/UnityProject/Assets/Editor/TEngineSettingsProvider/TEngineSettingsProvider.cs @@ -0,0 +1,36 @@ +using TEngine; +using UnityEditor; + +public static class TEngineSettingsProvider +{ + [MenuItem("TEngine/Settings/TEngine UpdateSettings", priority = -1)] + public static void OpenSettings() => SettingsService.OpenProjectSettings("Project/TEngine/UpdateSettings"); + + private const string SettingsPath = "Project/TEngine/UpdateSettings"; + + [SettingsProvider] + public static SettingsProvider CreateMySettingsProvider() + { + return new SettingsProvider(SettingsPath, SettingsScope.Project) + { + label = "TEngine/UpdateSettings", + guiHandler = (searchContext) => + { + var settings = Settings.UpdateSetting; + var serializedObject = new SerializedObject(settings); + + EditorGUILayout.PropertyField(serializedObject.FindProperty("projectName")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("HotUpdateAssemblies")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("AOTMetaAssemblies")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("LogicMainDllName")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("AssemblyTextAssetExtension")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("AssemblyTextAssetPath")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("UpdateStyle")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("ResDownLoadPath")); + EditorGUILayout.PropertyField(serializedObject.FindProperty("FallbackResDownLoadPath")); + serializedObject.ApplyModifiedProperties(); + }, + keywords = new[] { "TEngine", "Settings", "Custom" } + }; + } +} diff --git a/UnityProject/Assets/Editor/TEngineSettingsProvider/TEngineSettingsProvider.cs.meta b/UnityProject/Assets/Editor/TEngineSettingsProvider/TEngineSettingsProvider.cs.meta new file mode 100644 index 00000000..0750eb5a --- /dev/null +++ b/UnityProject/Assets/Editor/TEngineSettingsProvider/TEngineSettingsProvider.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: f1c738d23f551c84e9e12af687389aeb +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/UnityProject/Assets/Editor/TEngineSettingsProvider/TEngineUISettingsProvider.cs b/UnityProject/Assets/Editor/TEngineSettingsProvider/TEngineUISettingsProvider.cs new file mode 100644 index 00000000..de6a7ab6 --- /dev/null +++ b/UnityProject/Assets/Editor/TEngineSettingsProvider/TEngineUISettingsProvider.cs @@ -0,0 +1,32 @@ +using TEngine.Editor.UI; +using UnityEditor; + +public static class TEngineUISettingsProvider +{ + [MenuItem("TEngine/Settings/TEngineUISettings", priority = -1)] + public static void OpenSettings() => SettingsService.OpenProjectSettings("Project/TEngine/UISettings"); + + private const string SettingsPath = "Project/TEngine/UISettings"; + + [SettingsProvider] + public static SettingsProvider CreateMySettingsProvider() + { + return new SettingsProvider(SettingsPath, SettingsScope.Project) + { + label = "TEngine/UISettings", + guiHandler = (searchContext) => + { + var scriptGeneratorSetting = ScriptGeneratorSetting.Instance; + var scriptGenerator = new SerializedObject(scriptGeneratorSetting); + + EditorGUILayout.PropertyField(scriptGenerator.FindProperty("_codePath")); + EditorGUILayout.PropertyField(scriptGenerator.FindProperty("_namespace")); + EditorGUILayout.PropertyField(scriptGenerator.FindProperty("_widgetName")); + EditorGUILayout.PropertyField(scriptGenerator.FindProperty("CodeStyle")); + EditorGUILayout.PropertyField(scriptGenerator.FindProperty("scriptGenerateRule")); + scriptGenerator.ApplyModifiedProperties(); + }, + keywords = new[] { "TEngine", "Settings", "Custom" } + }; + } +} diff --git a/UnityProject/Assets/Editor/TEngineSettingsProvider/TEngineUISettingsProvider.cs.meta b/UnityProject/Assets/Editor/TEngineSettingsProvider/TEngineUISettingsProvider.cs.meta new file mode 100644 index 00000000..6cf578e8 --- /dev/null +++ b/UnityProject/Assets/Editor/TEngineSettingsProvider/TEngineUISettingsProvider.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 2672376ad13242bcb6869e90c4def052 +timeCreated: 1742814408 \ No newline at end of file