12345678910111213141516171819202122232425262728293031323334353637 |
- #if UNITY_EDITOR
- using System.Reflection;
- namespace YooAsset
- {
- internal static class EditorSimulateModeHelper
- {
- private static System.Type _classType;
- public static string SimulateBuild()
- {
- _classType = Assembly.Load("YooAsset.Editor").GetType("YooAsset.Editor.AssetBundleSimulateBuilder");
- InvokePublicStaticMethod(_classType, "SimulateBuild");
- return GetPatchManifestFilePath();
- }
- private static string GetPatchManifestFilePath()
- {
- return (string)InvokePublicStaticMethod(_classType, "GetPatchManifestPath");
- }
- private static object InvokePublicStaticMethod(System.Type type, string method, params object[] parameters)
- {
- var methodInfo = type.GetMethod(method, BindingFlags.Public | BindingFlags.Static);
- if (methodInfo == null)
- {
- UnityEngine.Debug.LogError($"{type.FullName} not found method : {method}");
- return null;
- }
- return methodInfo.Invoke(null, parameters);
- }
- }
- }
- #else
- internal static class EditorSimulateModeHelper
- {
- public static string SimulateBuild() { throw new System.Exception("Only support in unity editor !"); }
- }
- #endif
|