From 702e29177e510a14f6aca4d04195d513339463aa Mon Sep 17 00:00:00 2001
From: ALEXTANG <574809918@qq.com>
Date: Mon, 29 Aug 2022 14:54:19 +0800
Subject: [PATCH] HybirdCLRInjector
HybirdCLRInjector
---
.../AssetBundleBuild/HybirdCLRInjector.meta | 8 ++++
.../HybirdCLRInjector/HybirdCLRInjector.cs | 42 +++++++++++++++++++
.../HybirdCLRInjector.cs.meta | 11 +++++
.../Editor/HybridCLR/BuildConfig_Custom.cs | 11 +----
4 files changed, 63 insertions(+), 9 deletions(-)
create mode 100644 Assets/TEngine/Scripts/Editor/AssetBundleBuild/HybirdCLRInjector.meta
create mode 100644 Assets/TEngine/Scripts/Editor/AssetBundleBuild/HybirdCLRInjector/HybirdCLRInjector.cs
create mode 100644 Assets/TEngine/Scripts/Editor/AssetBundleBuild/HybirdCLRInjector/HybirdCLRInjector.cs.meta
diff --git a/Assets/TEngine/Scripts/Editor/AssetBundleBuild/HybirdCLRInjector.meta b/Assets/TEngine/Scripts/Editor/AssetBundleBuild/HybirdCLRInjector.meta
new file mode 100644
index 00000000..a3eda735
--- /dev/null
+++ b/Assets/TEngine/Scripts/Editor/AssetBundleBuild/HybirdCLRInjector.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 5441af6e690e22643970bc4bafba0eb9
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/TEngine/Scripts/Editor/AssetBundleBuild/HybirdCLRInjector/HybirdCLRInjector.cs b/Assets/TEngine/Scripts/Editor/AssetBundleBuild/HybirdCLRInjector/HybirdCLRInjector.cs
new file mode 100644
index 00000000..62feda42
--- /dev/null
+++ b/Assets/TEngine/Scripts/Editor/AssetBundleBuild/HybirdCLRInjector/HybirdCLRInjector.cs
@@ -0,0 +1,42 @@
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.IO;
+using HybridCLR.Editor;
+using TEngine.Runtime;
+using UnityEditor;
+using UnityEngine;
+
+namespace TEngine.Editor
+{
+ ///
+ /// HybirdCLR 热更新 打包插入管线
+ ///
+ public static class HybirdCLRInjectorEditor
+ {
+ [TEngineBuilderInjector(BuilderInjectorMoment.BeforeCollect_AssetBundle)]
+ public static void BeforeCollectAssetBundle()
+ {
+ CompileDllHelper.CompileDllActiveBuildTarget();
+ Log.Warning("CompileDllHelper.CompileDllActiveBuildTarget()");
+
+ var target = EditorUserBuildSettings.activeBuildTarget;
+ var dllDir = Constant.Setting.AssetRootPath+"/Dll";
+
+ string hotfixDllSrcDir = BuildConfig.GetHotFixDllsOutputDirByTarget(target);
+ foreach (var dll in BuildConfig.HotUpdateAssemblies)
+ {
+ string dllPath = $"{hotfixDllSrcDir}/{dll}";
+ string dllBytesPath = $"{dllDir}/{dll}.bytes";
+ try
+ {
+ File.Copy(dllPath, dllBytesPath, true);
+ }
+ catch (Exception e)
+ {
+ Log.Fatal(e.Message);
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/Assets/TEngine/Scripts/Editor/AssetBundleBuild/HybirdCLRInjector/HybirdCLRInjector.cs.meta b/Assets/TEngine/Scripts/Editor/AssetBundleBuild/HybirdCLRInjector/HybirdCLRInjector.cs.meta
new file mode 100644
index 00000000..2a13e902
--- /dev/null
+++ b/Assets/TEngine/Scripts/Editor/AssetBundleBuild/HybirdCLRInjector/HybirdCLRInjector.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: b0d3fa47cdbec26468b426ee8e23e245
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/TEngine/Scripts/Editor/HybridCLR/BuildConfig_Custom.cs b/Assets/TEngine/Scripts/Editor/HybridCLR/BuildConfig_Custom.cs
index 16676171..e2c6a7d2 100644
--- a/Assets/TEngine/Scripts/Editor/HybridCLR/BuildConfig_Custom.cs
+++ b/Assets/TEngine/Scripts/Editor/HybridCLR/BuildConfig_Custom.cs
@@ -1,11 +1,4 @@
-using System;
-using System.Collections.Generic;
-using System.IO;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using UnityEditor;
-using UnityEngine;
+using System.Collections.Generic;
namespace HybridCLR.Editor
{
@@ -17,8 +10,8 @@ namespace HybridCLR.Editor
///
public static List HotUpdateAssemblies { get; } = new List
{
+ "TEngine.Runtime.dll",
"HotFix.dll",
- "HotFix2.dll",
};
public static List AOTMetaAssemblies { get; } = new List()