Files
TuanTuan-Engine/Assets/GameFramework/Editor/CopyHotDll.cs

61 lines
2.6 KiB
C#
Raw Normal View History

2025-11-03 12:03:21 +08:00
using UnityEditor;
using UnityEngine;
using System.IO;
2025-11-12 07:04:31 +08:00
namespace Tuan.GameFramework
2025-11-03 12:03:21 +08:00
{
2025-11-12 07:04:31 +08:00
public class CopyHotDll
2025-11-03 12:03:21 +08:00
{
2025-11-12 07:04:31 +08:00
[MenuItem("Tools/更新生成PreloadDll")]
public static void CopyPreloadDll2Byte()
2025-11-03 12:03:21 +08:00
{
2025-11-12 07:04:31 +08:00
HybridCLR.Editor.Commands.CompileDllCommand.CompileDllActiveBuildTarget();
string sourceDir = $"{Application.dataPath.Replace("/Assets", "")}/HybridCLRData/HotUpdateDlls/{UnityEditor.EditorUserBuildSettings.activeBuildTarget}/GameScripts.Preload.dll";
string destDir = $"{Application.dataPath}/GameRes/Preload/HotUpdateDll/GameScripts.Preload.bytes";
if (File.Exists(destDir))
{
File.Delete(destDir);
}
File.Copy(sourceDir, destDir);
AssetDatabase.Refresh();
Debug.Log($"copy {sourceDir} to {destDir}");
2025-11-03 12:03:21 +08:00
}
2025-11-12 07:04:31 +08:00
[MenuItem("Tools/更新生成MainDll")]
public static void CopyMainDll2Byte()
2025-11-03 12:03:21 +08:00
{
2025-11-12 07:04:31 +08:00
HybridCLR.Editor.Commands.CompileDllCommand.CompileDllActiveBuildTarget();
string sourceDir = $"{Application.dataPath.Replace("/Assets", "")}/HybridCLRData/HotUpdateDlls/{UnityEditor.EditorUserBuildSettings.activeBuildTarget}/GameScripts.Main.dll";
string destDir = $"{Application.dataPath}/GameRes/Main/HotUpdateDll/GameScripts.Main.bytes";
if (File.Exists(destDir))
{
File.Delete(destDir);
}
File.Copy(sourceDir, destDir);
AssetDatabase.Refresh();
Debug.Log($"copy {sourceDir} to {destDir}");
2025-11-03 12:03:21 +08:00
}
2025-11-12 07:04:31 +08:00
[MenuItem("Tools/更新生成补充数据源")]
public static void CopyDepDll2Byte()
2025-11-03 12:03:21 +08:00
{
2025-11-12 07:04:31 +08:00
HybridCLR.Editor.Commands.CompileDllCommand.CompileDllActiveBuildTarget();
string sourceDir = $"{Application.dataPath.Replace("/Assets", "")}/HybridCLRData/AssembliesPostIl2CppStrip/{UnityEditor.EditorUserBuildSettings.activeBuildTarget}/";
string destDir = $"{Application.dataPath}/GameRes/Main/HotUpdateDll/";
foreach (string dll in HotDllLoader.Inst.DepDlls)
2025-11-03 12:03:21 +08:00
{
2025-11-12 07:04:31 +08:00
string sourcePath = $"{sourceDir}/{dll}";
string destPath = $"{destDir}/{dll}.bytes";
if (File.Exists(sourcePath))
2025-11-03 12:03:21 +08:00
{
2025-11-12 07:04:31 +08:00
if (File.Exists(destPath))
{
File.Delete(destPath);
}
File.Copy(sourcePath, destPath);
AssetDatabase.Refresh();
Debug.Log($"copy {sourcePath} to {destPath}");
2025-11-03 12:03:21 +08:00
}
}
2025-11-12 07:04:31 +08:00
Debug.Log("copy over");
2025-11-03 12:03:21 +08:00
}
}
2025-11-12 07:04:31 +08:00
}