| 123456789101112131415161718192021222324252627282930313233343536373839 | using HybridCLR.Editor;using HybridCLR.Editor.Commands;using Obfuz.Settings;using Obfuz4HybridCLR;using System.Collections;using System.Collections.Generic;using System.IO;using UnityEditor;using UnityEngine;public static class BuildCommand{    [MenuItem("Build/CompileAndObfuscateAndCopyToStreamingAssets")]    public static void CompileAndObfuscateAndCopyToStreamingAssets()    {        BuildTarget target = EditorUserBuildSettings.activeBuildTarget;        CompileDllCommand.CompileDll(target);        string obfuscatedHotUpdateDllPath = PrebuildCommandExt.GetObfuscatedHotUpdateAssemblyOutputPath(target);        ObfuscateUtil.ObfuscateHotUpdateAssemblies(target, obfuscatedHotUpdateDllPath);        Directory.CreateDirectory(Application.streamingAssetsPath);        string hotUpdateDllPath = $"{SettingsUtil.GetHotUpdateDllsOutputDirByTarget(target)}";        List<string> obfuscationRelativeAssemblyNames = ObfuzSettings.Instance.assemblySettings.GetObfuscationRelativeAssemblyNames();        foreach (string assName in SettingsUtil.HotUpdateAssemblyNamesIncludePreserved)        {            string srcDir = obfuscationRelativeAssemblyNames.Contains(assName) ? obfuscatedHotUpdateDllPath : hotUpdateDllPath;            string srcFile = $"{srcDir}/{assName}.dll";            string dstFile = $"{Application.streamingAssetsPath}/{assName}.dll.bytes";            if (File.Exists(srcFile))            {                File.Copy(srcFile, dstFile, true);                Debug.Log($"[CompileAndObfuscate] Copy {srcFile} to {dstFile}");            }        }    }}
 |