| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 | 
							- using System;
 
- using System.Collections.Generic;
 
- using System.IO;
 
- using System.Linq;
 
- using System.Text;
 
- using System.Threading.Tasks;
 
- using UnityEditor;
 
- using UnityEngine;
 
- namespace HybridCLR
 
- {
 
-     public static partial class BuildConfig
 
-     {
 
- #if !UNITY_IOS
 
-         [InitializeOnLoadMethod]
 
-         private static void Setup()
 
-         {
 
-             ///
 
-             /// unity允许使用UNITY_IL2CPP_PATH环境变量指定il2cpp的位置,因此我们不再直接修改安装位置的il2cpp,
 
-             /// 而是在本地目录
 
-             ///
 
-             var localIl2cppDir = LocalIl2CppDir;
 
-             if (!Directory.Exists(localIl2cppDir))
 
-             {
 
-                 Debug.LogError($"本地il2cpp目录:{localIl2cppDir} 不存在,未安装本地il2cpp。请手动执行一次 {HybridCLRDataDir} 目录下的 init_local_il2cpp_data.bat 或者 init_local_il2cpp_data.sh 文件");
 
-             }
 
-             Environment.SetEnvironmentVariable("UNITY_IL2CPP_PATH", localIl2cppDir);
 
-         }
 
- #endif
 
-         public static string ProjectDir => Directory.GetParent(Application.dataPath).ToString();
 
-         public static string ScriptingAssembliesJsonFile { get; } = "ScriptingAssemblies.json";
 
-         public static string HybridCLRBuildCacheDir => Application.dataPath + "/HybridCLRBuildCache";
 
-         public static string HotFixDllsOutputDir => $"{HybridCLRDataDir}/HotFixDlls";
 
-         public static string AssetBundleOutputDir => $"{HybridCLRBuildCacheDir}/AssetBundleOutput";
 
-         public static string AssetBundleSourceDataTempDir => $"{HybridCLRBuildCacheDir}/AssetBundleSourceData";
 
-         public static string HybridCLRDataDir { get; } = $"{ProjectDir}/HybridCLRData";
 
-         public static string AssembliesPostIl2CppStripDir => $"{HybridCLRDataDir}/AssembliesPostIl2CppStrip";
 
-         public static string LocalIl2CppDir => $"{HybridCLRDataDir}/LocalIl2CppData/il2cpp";
 
-         public static string MethodBridgeCppDir => $"{LocalIl2CppDir}/libil2cpp/hybridclr/interpreter";
 
-         public static string Il2CppBuildCacheDir { get; } = $"{ProjectDir}/Library/Il2cppBuildCache";
 
-         public static string GetHotFixDllsOutputDirByTarget(BuildTarget target)
 
-         {
 
-             return $"{HotFixDllsOutputDir}/{target}";
 
-         }
 
-         public static string GetAssembliesPostIl2CppStripDir(BuildTarget target)
 
-         {
 
-             return $"{AssembliesPostIl2CppStripDir}/{target}";
 
-         }
 
-         public static string GetOriginBuildStripAssembliesDir(BuildTarget target)
 
-         {
 
- #if UNITY_2021_1_OR_NEWER
 
- #if UNITY_STANDALONE_WIN
 
-             return $"{ProjectDir}/Library/Bee/artifacts/WinPlayerBuildProgram/ManagedStripped";
 
- #elif UNITY_ANDROID
 
-             return $"{ProjectDir}/Library/Bee/artifacts/Android/ManagedStripped";
 
- #elif UNITY_IOS
 
-             return $"{ProjectDir}/Library/PlayerDataCache/iOS/Data/Managed";
 
- #elif UNITY_WEBGL
 
-             return $"{ProjectDir}/Library/Bee/artifacts/WebGL/ManagedStripped";
 
- #else
 
-             throw new NotSupportedException("GetOriginBuildStripAssembliesDir");
 
- #endif
 
- #else
 
-             return target == BuildTarget.Android ?
 
-                 $"{ProjectDir}/Temp/StagingArea/assets/bin/Data/Managed" :
 
-                 $"{ProjectDir}/Temp/StagingArea/Data/Managed/";
 
- #endif
 
-         }
 
-         public static string GetAssetBundleOutputDirByTarget(BuildTarget target)
 
-         {
 
-             return $"{AssetBundleOutputDir}/{target}";
 
-         }
 
-         public static string GetAssetBundleTempDirByTarget(BuildTarget target)
 
-         {
 
-             return $"{AssetBundleSourceDataTempDir}/{target}";
 
-         }
 
-     }
 
- }
 
 
  |