111
All checks were successful
Plugin Library CI / publish (00.BuildOriginality) (push) Successful in 3s
Plugin Library CI / publish (00.StaryEvo) (push) Successful in 8s
Plugin Library CI / publish (00.StaryEvoTools) (push) Successful in 19s
Plugin Library CI / publish (01.HybridCLR) (push) Successful in 5s
Plugin Library CI / publish (02.InformationSave) (push) Successful in 3s
Plugin Library CI / publish (03.YooAsset) (push) Successful in 33s
Plugin Library CI / publish (04.AudioCore) (push) Successful in 3s
Plugin Library CI / publish (05.TableTextConversion) (push) Successful in 4s
Plugin Library CI / publish (06.UIFarme) (push) Successful in 16s
Plugin Library CI / publish (07.RKTools) (push) Successful in 7s
Plugin Library CI / publish (08.UniTask) (push) Successful in 3s
Plugin Library CI / publish (09.CodeChecker) (push) Successful in 16s
Plugin Library CI / publish (10.StoryEditor) (push) Successful in 2s
Plugin Library CI / publish (10.XNode) (push) Successful in 3s
Plugin Library CI / publish (11.PointCloudTools) (push) Successful in 2s

This commit is contained in:
2026-04-18 12:00:41 +08:00
parent d8119b7e33
commit d04cffe387
12 changed files with 47 additions and 49 deletions

View File

@@ -16,6 +16,10 @@ namespace Stary.Evo
/// </summary>
[Sirenix.OdinInspector.ReadOnly] public string domain;
/// <summary>
/// 程序集
/// </summary>
[Sirenix.OdinInspector.ReadOnly] public string assemblyName;
/// <summary>
/// 入口命名空间
/// </summary>

View File

@@ -1,6 +1,6 @@
{
"name": "com.staryevo.main",
"version": "2.1.12",
"version": "2.1.13",
"displayName": "00.StaryEvo",
"description": "This is an Framework package(后台服务器版本端口9527)",
"unity": "2021.3",

View File

@@ -1,7 +1,10 @@
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
#if !UNITY_WEBGL
using HybridCLR.Editor.Commands;
#endif
using Newtonsoft.Json;
using Sirenix.OdinInspector;
using UnityEditor;
@@ -38,10 +41,12 @@ namespace Stary.Evo.Editor
/// <param name="oneKeyBuildEntities"></param>
public static void OneClickMark(List<OneKeyBuildEntity> oneKeyBuildEntities)
{
#if !UNITY_WEBGL
//打dll
CompileDllCommand.CompileDllActiveBuildTarget();
//拷贝dll
MarkAdressable.AddHotfixAddressableDllAll(oneKeyBuildEntities);
#endif
//标记全部资源
MarkAdressable.AddMarkAll(oneKeyBuildEntities);
}

View File

@@ -11,8 +11,6 @@ using System.Collections.Generic;
using System.IO;
using System.IO.Compression;
using System.Threading.Tasks;
using HybridCLR.Editor;
using HybridCLR.Editor.Commands;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using Sirenix.OdinInspector;

View File

@@ -2,8 +2,10 @@ using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
#if !UNITY_WEBGL
using HybridCLR.Editor;
using HybridCLR.Editor.Settings;
#endif
using Sirenix.OdinInspector;
using Sirenix.OdinInspector.Editor;
using UnityEditor;
@@ -174,16 +176,7 @@ namespace Stary.Evo.Editor
domainClassName = domainClassName.Replace('.', '_');
string architectureClassName = $"{domain}Architecture";
architectureClassName = architectureClassName.Replace('.', '_');
//模块配置资源
DomainConfig moduleConfig = CreateInstance<DomainConfig>();
moduleConfig.domain = domain;
moduleConfig.className = domainClassName;
moduleConfig.mainPrefab = "Prefabs_" + gameObj.name;
moduleConfig.@namespace = domain;
AssetDatabase.CreateAsset(moduleConfig, $"Assets/Domain/{domain}/AddressableRes/Config/DomainConfig.asset");
//
//编辑器配置资源
BuildAssetDataSetting buildAssetDataSetting = CreateInstance<BuildAssetDataSetting>();
buildAssetDataSetting.packageName = domain;
@@ -196,6 +189,17 @@ namespace Stary.Evo.Editor
string configPath = $"Assets/Domain/{domain}/HotUpdate/{hotfixDomain}.asmdef";
AssemblyDefinitionAsset assemblyDefinitionAsset =
AssetDatabase.LoadAssetAtPath<AssemblyDefinitionAsset>(configPath);
//模块配置资源
DomainConfig moduleConfig = CreateInstance<DomainConfig>();
moduleConfig.domain = domain;
moduleConfig.assemblyName = assemblyDefinitionAsset.name;
moduleConfig.className = domainClassName;
moduleConfig.mainPrefab = "Prefabs_" + gameObj.name;
moduleConfig.@namespace = domain;
AssetDatabase.CreateAsset(moduleConfig, $"Assets/Domain/{domain}/AddressableRes/Config/DomainConfig.asset");
//
#if !UNITY_WEBGL
if (domain != "Main")
{
// 将程序集定义添加到 HybridCLR 热更列表
@@ -220,6 +224,7 @@ namespace Stary.Evo.Editor
HybridCLRSettings.Instance.hotUpdateAssemblyDefinitions = assemblies.ToArray();
HybridCLRSettings.Save();
}
#endif
AssetDatabase.SaveAssets();

View File

@@ -1,8 +1,6 @@
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using HybridCLR.Editor.Commands;
using Newtonsoft.Json;
using Sirenix.OdinInspector;
using Sirenix.OdinInspector.Editor;
using UnityEditor;

View File

@@ -2,8 +2,9 @@ using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
#if !UNITY_WEBGL
using HybridCLR.Editor;
using HybridCLR.Editor.Commands;
#endif
using UnityEditor;
using UnityEditor.U2D;
using UnityEngine;
@@ -34,7 +35,7 @@ namespace Stary.Evo.Editor
{
get { return Application.dataPath + "/Domain"; }
}
#if !UNITY_WEBGL
public static void AddHotfixAddressableDll()
{
CopyDllHotUpdateAssembly(BuildAssetWindow.GetBuildPackageName(),
@@ -104,7 +105,7 @@ namespace Stary.Evo.Editor
FileUtility.Copy(hotfixDllPath, hotfixDllPathTarget, true);
}
}
#endif
public static void AddMarkAll(List<OneKeyBuildEntity> oneKeyBUildEntities)
{
foreach (var oneKeyBUildEntity in oneKeyBUildEntities)

View File

@@ -5,18 +5,17 @@
"com.staryevo.tools.runtime",
"com.stary.evo.editor",
"com.stary.evo.runtime",
"HybridCLR.Runtime",
"HybridCLR.Editor",
"com.stary.buildoriginality.editor",
"com.stary.buildoriginality.runtime",
"YooAsset",
"YooAsset.Editor",
"com.audiocore.runtime",
"DOTween.Modules",
"ImmersalSDK",
"Informationsave.runtime",
"UniTask",
"Unity.ScriptableBuildPipeline.Editor"
"Unity.ScriptableBuildPipeline.Editor",
"HybridCLR.Editor",
"HybridCLR.Runtime"
],
"includePlatforms": [
"Editor"

View File

@@ -3,7 +3,9 @@ using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using Cysharp.Threading.Tasks;
#if !UNITY_WEBGL
using HybridCLR;
#endif
using UnityEngine;
using YooAsset;
@@ -230,11 +232,6 @@ namespace Stary.Evo
}
}
public override UniTask OnEnterAsync()
{
return UniTask.CompletedTask;
}
private Type IsAssetLoaded(string assemblyName)
{
var assemblies = AppDomain.CurrentDomain.GetAssemblies();
@@ -253,26 +250,9 @@ namespace Stary.Evo
#region
// //补充元数据dll的列表
// //通过RuntimeApi.LoadMetadataForAOTAssembly()函数来补充AOT泛型的原始元数据
// private List<string> AOTMetaAssemblyFiles { get; } =new()
// {
// "Android_mscorlib.dll", "Android_System.dll", "Android_System.Core.dll",
// };
private readonly List<TextAsset> _sAssetDatas = new();
// public byte[] ReadBytesFromStreamingAssets(string dllName)
// {
// if (_sAssetDatas.ContainsKey(dllName))
// {
// return _sAssetDatas[dllName].bytes;
// }
//
// return Array.Empty<byte>();
// }
/// <summary>
/// 为aot assembly加载原始metadata 这个代码放aot或者热更新都行。
@@ -280,6 +260,7 @@ namespace Stary.Evo
/// </summary>
private void LoadMetadataForAOTAssemblies()
{
#if !UNITY_WEBGL
var mode = HomologousImageMode.SuperSet;
// foreach (var aotDllName in AOTGenericReferences.PatchedAOTAssemblyList)
foreach (var aotDll in _sAssetDatas)
@@ -300,6 +281,7 @@ namespace Stary.Evo
Debug.Log($"UnityEvo:【补元】{aotDll.name} 加载结果: {err} 字节数: {dllBytes.Length}");
}
#endif
}
#endregion

View File

@@ -20,7 +20,14 @@ namespace Stary.Evo
if (AppConfig.DeveloperMode)
{
domainConfig = param1 as DomainConfig;
#if UNITY_WEBGL
string typeName = $"{domainConfig.@namespace}.{domainConfig.className},{domainConfig.assemblyName}"; // 完整命名空间
Type type = Type.GetType(typeName);
#else
Type type = param2 as Type;
#endif
GameObject mainPrefab = null;

View File

@@ -5,12 +5,11 @@
"UniTask",
"com.audiocore.runtime",
"com.stary.evo.runtime",
"HybridCLR.Runtime",
"ImmersalSDK",
"Informationsave.runtime",
"DOTween.Modules",
"com.stary.buildoriginality.runtime",
"YooAsset"
"YooAsset",
"HybridCLR.Runtime"
],
"includePlatforms": [],
"excludePlatforms": [],

View File

@@ -1,6 +1,6 @@
{
"name": "com.staryevo.tools",
"version": "1.4.13",
"version": "1.4.14",
"displayName": "00.StaryEvo.Tools",
"description": "This is an Framework package(后台服务器版本端口9527)",
"unity": "2021.3",