Exemplo n.º 1
0
    internal static string[] BuildExportPackageAssetListGuids(string[] guids, bool dependencies)
    {
        List <string> methods = new List <string>
        {
            "UnityEditor.PackageUtility.BuildExportPackageItemsList",
            "UnityEditor.AssetServer.BuildExportPackageAssetListAssetsItems"
        };
        MethodInfo methodInfo = BackwardsCompatibilityUtility.GetMethodInfo(methods, new Type[]
        {
            typeof(string[]),
            typeof(bool)
        });

        object[] parameters = new object[]
        {
            guids,
            dependencies
        };
        object[]  array  = (object[])methodInfo.Invoke(null, parameters);
        string[]  array2 = new string[array.Length];
        FieldInfo field  = methodInfo.ReturnType.GetElementType().GetField("guid");

        for (int i = 0; i < array.Length; i++)
        {
            string text = (string)field.GetValue(array[i]);
            array2[i] = text;
        }
        return(array2);
    }
    public AssetBundleCreateRequest LoadFromMemoryAsync(byte[] bytes)
    {
        List <string> strs = new List <string>()
        {
            "UnityEngine.AssetBundle.LoadFromMemoryAsync",
            "UnityEngine.AssetBundle.CreateFromMemory"
        };
        MethodInfo methodInfo = BackwardsCompatibilityUtility.GetMethodInfo(strs, new Type[] { typeof(byte[]) });

        return((AssetBundleCreateRequest)methodInfo.Invoke(null, new object[] { bytes }));
    }
Exemplo n.º 3
0
    internal static string[] BuildExportPackageAssetListGuids(string[] guids, bool dependencies)
    {
        List <string> strs = new List <string>()
        {
            "UnityEditor.PackageUtility.BuildExportPackageItemsList",
            "UnityEditor.AssetServer.BuildExportPackageAssetListAssetsItems"
        };
        MethodInfo methodInfo = BackwardsCompatibilityUtility.GetMethodInfo(strs, new Type[] { typeof(string[]), typeof(bool) });

        object[]  objArray  = (object[])methodInfo.Invoke(null, new object[] { guids, dependencies });
        string[]  strArrays = new string[(int)objArray.Length];
        FieldInfo field     = methodInfo.ReturnType.GetElementType().GetField("guid");

        for (int i = 0; i < (int)objArray.Length; i++)
        {
            string value = (string)field.GetValue(objArray[i]);
            strArrays[i] = value;
        }

        return(strArrays);
    }
Exemplo n.º 4
0
 public static object TryStaticInvoke(List <string> methods, object[] parameters)
 {
     return(BackwardsCompatibilityUtility.GetMethodInfo(methods, null).Invoke(null, parameters));
 }