From 94b314e91f43181d4906c93e946afd9bc13e726e Mon Sep 17 00:00:00 2001 From: ALEXTANG <574809918@qq.com> Date: Fri, 18 Aug 2023 13:06:08 +0800 Subject: [PATCH] =?UTF-8?q?TEngine=E8=AE=BE=E7=BD=AE=E9=9D=A2=E6=9D=BF?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=BB=8EHybrid=E5=90=8C=E6=AD=A5AOT=E4=B8=8E?= =?UTF-8?q?=E7=83=AD=E6=9B=B4=E7=A8=8B=E5=BA=8F=E9=9B=86=E7=9A=84=E6=8C=89?= =?UTF-8?q?=E9=92=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit TEngine设置面板增加从Hybrid同步AOT与热更程序集的按钮 --- .../Editor/GameSettings/SynAssemblysContent.cs | 15 +++++++++++++++ .../GameSettings/SynAssemblysContent.cs.meta | 11 +++++++++++ .../GameSettings/TEngineSettingsProvider.cs | 11 ++++++++++- .../TEngine/Runtime/GameSettings/SettingsUtils.cs | 2 +- 4 files changed, 37 insertions(+), 2 deletions(-) create mode 100644 Assets/TEngine/Editor/GameSettings/SynAssemblysContent.cs create mode 100644 Assets/TEngine/Editor/GameSettings/SynAssemblysContent.cs.meta diff --git a/Assets/TEngine/Editor/GameSettings/SynAssemblysContent.cs b/Assets/TEngine/Editor/GameSettings/SynAssemblysContent.cs new file mode 100644 index 00000000..3bf253b8 --- /dev/null +++ b/Assets/TEngine/Editor/GameSettings/SynAssemblysContent.cs @@ -0,0 +1,15 @@ +using UnityEditor; +using UnityEngine; + +public static class SyncAssemblyContent +{ + public static void RefreshAssembly() + { + SettingsUtils.SetHybridCLRHotUpdateAssemblies(HybridCLR.Editor.SettingsUtil.HotUpdateAssemblyFilesIncludePreserved); + SettingsUtils.SetHybridCLRAOTMetaAssemblies(HybridCLR.Editor.SettingsUtil.AOTAssemblyNames); + SettingsUtils.HybridCLRCustomGlobalSettings.Enable = HybridCLR.Editor.SettingsUtil.Enable; + AssetDatabase.Refresh(); + AssetDatabase.SaveAssets(); + Debug.Log("同步AOT和HotUpdate程序集 HybridCLR到TEngineSettings成功。"); + } +} \ No newline at end of file diff --git a/Assets/TEngine/Editor/GameSettings/SynAssemblysContent.cs.meta b/Assets/TEngine/Editor/GameSettings/SynAssemblysContent.cs.meta new file mode 100644 index 00000000..fcdafeab --- /dev/null +++ b/Assets/TEngine/Editor/GameSettings/SynAssemblysContent.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 04407344026702f4ebd61f63c8a35c69 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/TEngine/Editor/GameSettings/TEngineSettingsProvider.cs b/Assets/TEngine/Editor/GameSettings/TEngineSettingsProvider.cs index 703223cc..3f05bafb 100644 --- a/Assets/TEngine/Editor/GameSettings/TEngineSettingsProvider.cs +++ b/Assets/TEngine/Editor/GameSettings/TEngineSettingsProvider.cs @@ -2,6 +2,7 @@ using UnityEditor; using UnityEngine.UIElements; using System.Collections.Generic; +using UnityEngine; public class TEngineSettingsProvider : SettingsProvider { @@ -30,6 +31,14 @@ public class TEngineSettingsProvider : SettingsProvider base.OnGUI(searchContext); using var changeCheckScope = new EditorGUI.ChangeCheckScope(); EditorGUILayout.PropertyField(m_CustomSettings.FindProperty("m_FrameworkGlobalSettings")); + + if ( GUILayout.Button( "Refresh HotUpdateAssemblies" ) ) + { + SyncAssemblyContent.RefreshAssembly(); + m_CustomSettings.ApplyModifiedPropertiesWithoutUndo(); + m_CustomSettings = null; + m_CustomSettings = GetSerializedSettings(); + } EditorGUILayout.PropertyField(m_CustomSettings.FindProperty("m_BybridCLRCustomGlobalSettings")); EditorGUILayout.Space(20); if (!changeCheckScope.changed) return; @@ -51,7 +60,7 @@ public class TEngineSettingsProvider : SettingsProvider } else { - UnityEngine.Debug.LogError($"Open GameFramework Settings error,Please Create Game Framework/GameFrameworkSettings.assets File in Path GameMain/Resources/Settings"); + UnityEngine.Debug.LogError($"Open TEngine Settings error,Please Create TEngine TEngineGlobalSettings.assets File in Path TEngine/ResRaw/Resources/"); } return null; diff --git a/Assets/TEngine/Runtime/GameSettings/SettingsUtils.cs b/Assets/TEngine/Runtime/GameSettings/SettingsUtils.cs index 05ab8ccb..a49789e1 100644 --- a/Assets/TEngine/Runtime/GameSettings/SettingsUtils.cs +++ b/Assets/TEngine/Runtime/GameSettings/SettingsUtils.cs @@ -208,7 +208,7 @@ public static class SettingsUtils { return FrameworkGlobalSettings.ScriptGenerateRule; } - + public static string GetUINameSpace() { return FrameworkGlobalSettings.NameSpace;