#if UNITY_EDITOR using HybridCLR.Editor; using HybridCLR.Editor.Settings; using UnityEditor; using UnityEngine; namespace AOT.Editor.HybridCLR { /// /// 将 HotUpdate.Runtime 登记为 HybridCLR 热更程序集。 /// public static class ConfigureHotUpdateAssemblies { const string HotUpdateAsmdef = "Assets/HotUpdate/Scripts/HotUpdate.Runtime.asmdef"; [MenuItem("AIGame/HybridCLR/Configure HotUpdate Assemblies")] public static string Configure() { var asmdef = AssetDatabase.LoadAssetAtPath(HotUpdateAsmdef); if (asmdef == null) return $"missing asmdef: {HotUpdateAsmdef}"; var settings = HybridCLRSettings.Instance; settings.hotUpdateAssemblyDefinitions = new[] { asmdef }; HybridCLRSettings.Save(); AssetDatabase.SaveAssets(); return $"ok HotUpdateAssemblies=[{asmdef.name}] enable={settings.enable}"; } public static string Status() { var settings = HybridCLRSettings.Instance; int n = settings.hotUpdateAssemblyDefinitions?.Length ?? 0; string names = n == 0 ? "(none)" : string.Join(",", System.Array.ConvertAll(settings.hotUpdateAssemblyDefinitions, a => a != null ? a.name : "null")); return $"enable={settings.enable} count={n} defs=[{names}]"; } } } #endif