自动同步UpdateSetting到HybridCLRSetting

This commit is contained in:
Alex-Rachel
2025-03-17 18:51:52 +08:00
parent 8ede4c7faa
commit b68a5a84b9
4 changed files with 44 additions and 3 deletions

View File

@@ -0,0 +1,31 @@
using HybridCLR.Editor.Settings;
using UnityEditor;
namespace TEngine.Editor
{
[CustomEditor(typeof(UpdateSetting), true)]
public class UpdateSettingEditor : UnityEditor.Editor
{
public override void OnInspectorGUI()
{
// 记录对象修改前的状态
EditorGUI.BeginChangeCheck();
// 绘制默认的 Inspector 界面
base.OnInspectorGUI();
// 检测是否有字段被修改
if (EditorGUI.EndChangeCheck())
{
// 获取当前编辑的 ScriptableObject 实例
UpdateSetting so = (UpdateSetting)target;
// 标记对象为“已修改”,确保修改能被保存
EditorUtility.SetDirty(so);
HybridCLRSettings.Instance.hotUpdateAssemblies = so.HotUpdateAssemblies.ToArray();
HybridCLRSettings.Instance.patchAOTAssemblies = so.AOTMetaAssemblies.ToArray();
}
}
}
}

View File

@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: d7ca490137b34f09b27a5564d3d246d9
timeCreated: 1742208162

View File

@@ -14,7 +14,6 @@ MonoBehaviour:
m_EditorClassIdentifier: m_EditorClassIdentifier:
projectName: Demo projectName: Demo
HotUpdateAssemblies: HotUpdateAssemblies:
- GameBase.dll
- GameProto.dll - GameProto.dll
- GameLogic.dll - GameLogic.dll
AOTMetaAssemblies: AOTMetaAssemblies:
@@ -25,5 +24,7 @@ MonoBehaviour:
LogicMainDllName: GameLogic.dll LogicMainDllName: GameLogic.dll
AssemblyTextAssetExtension: .bytes AssemblyTextAssetExtension: .bytes
AssemblyTextAssetPath: AssetRaw/DLL AssemblyTextAssetPath: AssetRaw/DLL
UpdateStyle: 2
UpdateNotice: 1
ResDownLoadPath: http://127.0.0.1:8081 ResDownLoadPath: http://127.0.0.1:8081
FallbackResDownLoadPath: http://127.0.0.1:8082 FallbackResDownLoadPath: http://127.0.0.1:8082

View File

@@ -17,12 +17,18 @@ MonoBehaviour:
hybridclrRepoURL: https://gitee.com/focus-creative-games/hybridclr hybridclrRepoURL: https://gitee.com/focus-creative-games/hybridclr
il2cppPlusRepoURL: https://gitee.com/focus-creative-games/il2cpp_plus il2cppPlusRepoURL: https://gitee.com/focus-creative-games/il2cpp_plus
hotUpdateAssemblyDefinitions: [] hotUpdateAssemblyDefinitions: []
hotUpdateAssemblies: [] hotUpdateAssemblies:
- GameProto.dll
- GameLogic.dll
preserveHotUpdateAssemblies: [] preserveHotUpdateAssemblies: []
hotUpdateDllCompileOutputRootDir: HybridCLRData/HotUpdateDlls hotUpdateDllCompileOutputRootDir: HybridCLRData/HotUpdateDlls
externalHotUpdateAssembliyDirs: [] externalHotUpdateAssembliyDirs: []
strippedAOTDllOutputRootDir: HybridCLRData/AssembliesPostIl2CppStrip strippedAOTDllOutputRootDir: HybridCLRData/AssembliesPostIl2CppStrip
patchAOTAssemblies: [] patchAOTAssemblies:
- mscorlib.dll
- System.dll
- System.Core.dll
- TEngine.Runtime.dll
outputLinkFile: HybridCLRGenerate/link.xml outputLinkFile: HybridCLRGenerate/link.xml
outputAOTGenericReferenceFile: HybridCLRGenerate/AOTGenericReferences.cs outputAOTGenericReferenceFile: HybridCLRGenerate/AOTGenericReferences.cs
maxGenericReferenceIteration: 10 maxGenericReferenceIteration: 10