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> /// </summary>
[Sirenix.OdinInspector.ReadOnly] public string domain; [Sirenix.OdinInspector.ReadOnly] public string domain;
/// <summary>
/// 程序集
/// </summary>
[Sirenix.OdinInspector.ReadOnly] public string assemblyName;
/// <summary> /// <summary>
/// 入口命名空间 /// 入口命名空间
/// </summary> /// </summary>

View File

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

View File

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

View File

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

View File

@@ -2,8 +2,10 @@ using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.IO; using System.IO;
using System.Linq; using System.Linq;
#if !UNITY_WEBGL
using HybridCLR.Editor; using HybridCLR.Editor;
using HybridCLR.Editor.Settings; using HybridCLR.Editor.Settings;
#endif
using Sirenix.OdinInspector; using Sirenix.OdinInspector;
using Sirenix.OdinInspector.Editor; using Sirenix.OdinInspector.Editor;
using UnityEditor; using UnityEditor;
@@ -174,15 +176,6 @@ namespace Stary.Evo.Editor
domainClassName = domainClassName.Replace('.', '_'); domainClassName = domainClassName.Replace('.', '_');
string architectureClassName = $"{domain}Architecture"; string architectureClassName = $"{domain}Architecture";
architectureClassName = architectureClassName.Replace('.', '_'); 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 buildAssetDataSetting = CreateInstance<BuildAssetDataSetting>();
@@ -196,6 +189,17 @@ namespace Stary.Evo.Editor
string configPath = $"Assets/Domain/{domain}/HotUpdate/{hotfixDomain}.asmdef"; string configPath = $"Assets/Domain/{domain}/HotUpdate/{hotfixDomain}.asmdef";
AssemblyDefinitionAsset assemblyDefinitionAsset = AssemblyDefinitionAsset assemblyDefinitionAsset =
AssetDatabase.LoadAssetAtPath<AssemblyDefinitionAsset>(configPath); 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") if (domain != "Main")
{ {
// 将程序集定义添加到 HybridCLR 热更列表 // 将程序集定义添加到 HybridCLR 热更列表
@@ -220,6 +224,7 @@ namespace Stary.Evo.Editor
HybridCLRSettings.Instance.hotUpdateAssemblyDefinitions = assemblies.ToArray(); HybridCLRSettings.Instance.hotUpdateAssemblyDefinitions = assemblies.ToArray();
HybridCLRSettings.Save(); HybridCLRSettings.Save();
} }
#endif
AssetDatabase.SaveAssets(); AssetDatabase.SaveAssets();

View File

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

View File

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

View File

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

View File

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

View File

@@ -20,7 +20,14 @@ namespace Stary.Evo
if (AppConfig.DeveloperMode) if (AppConfig.DeveloperMode)
{ {
domainConfig = param1 as DomainConfig; 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; Type type = param2 as Type;
#endif
GameObject mainPrefab = null; GameObject mainPrefab = null;

View File

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

View File

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