Ejemplo n.º 1
0
    static string[] GetGUIDS(Package package, string localRootPath)
    {
        var includeProjectSettings = package.IsCompleteProjects && !s_SkipProjectSettings;
        var str1  = "Assets" + (localRootPath ?? string.Empty);
        var chars = new[] { (char)47 };
        var path1 = str1.Trim(chars);

        string[] guidArray       = null;
        object[] assetsItemArray = null;

        if (typeof(DebugUtils).Assembly.GetType("UnityEditor.AssetServer") != null)
        {
            assetsItemArray = AssetServer.BuildExportPackageAssetListAssetsItems(AssetServer.CollectAllChildren(AssetDatabase.AssetPathToGUID(path1), new string[0]), true);
        }
        else
        {
            guidArray = Packager.BuildExportPackageAssetListGuids(Packager.CollectAllChildren(AssetDatabase.AssetPathToGUID(path1), new string[0]), true);
        }
        var list = new List <string>();
        var str2 = path1.ToLower();

        if (assetsItemArray != null)
        {
            foreach (var assetsItem in assetsItemArray)
            {
                var assetGuid = assetsItem.GetFieldValue <string>("guid");
                var str3      = AssetDatabase.GUIDToAssetPath(assetGuid).ToLower();
                if (str3.StartsWith("assets/plugins") || str3.Contains("standard assets") || str3.StartsWith(str2))
                {
                    list.Add(assetGuid);
                }
            }
        }
        else
        {
            foreach (var guid in guidArray)
            {
                var str3 = AssetDatabase.GUIDToAssetPath(guid).ToLower();
                if (str3.StartsWith("assets/plugins") || str3.Contains("standard assets") || str3.StartsWith(str2))
                {
                    list.Add(guid);
                }
            }
        }
        if (includeProjectSettings)
        {
            foreach (var path2 in Directory.GetFiles("ProjectSettings"))
            {
                var str3 = AssetDatabase.AssetPathToGUID(path2);
                if (str3.Length > 0)
                {
                    list.Add(str3);
                }
            }
        }
        var array = new string[list.Count];

        list.CopyTo(array);
        return(array);
    }
Ejemplo n.º 2
0
    private string[] GetGUIDS(bool includeProjectSettings)
    {
        string[] collection = new string[0];
        string   text       = ("Assets" + (this.m_LocalRootPath ?? string.Empty)).Trim(new char[]
        {
            '/'
        });
        string guid = AssetDatabase.AssetPathToGUID(text);

        string[]      guids = Packager.CollectAllChildren(guid, collection);
        string[]      array = Packager.BuildExportPackageAssetListGuids(guids, true);
        List <string> list  = new List <string>();
        string        value = text.ToLower();

        string[] array2 = array;
        for (int i = 0; i < array2.Length; i++)
        {
            string text2 = array2[i];
            string text3 = AssetDatabase.GUIDToAssetPath(text2).ToLower();
            if (text3.StartsWith("assets/plugins") || text3.Contains("standard assets") || text3.StartsWith(value))
            {
                list.Add(text2);
            }
        }
        if (includeProjectSettings)
        {
            string[] files  = Directory.GetFiles("ProjectSettings");
            string[] array3 = files;
            for (int j = 0; j < array3.Length; j++)
            {
                string text4 = array3[j];
                string text5 = AssetDatabase.AssetPathToGUID(text4);
                if (text5.Length > 0)
                {
                    list.Add(text5);
                }
            }
        }
        string[] array4 = new string[list.Count];
        list.CopyTo(array4);
        return(array4);
    }
    private string[] GetGUIDS(bool includeProjectSettings)
    {
        string[] strArrays = new string[0];
        string   str       = string.Concat("Assets", this.m_LocalRootPath ?? string.Empty).Trim(new char[] { '/' });

        string[]      strArrays1 = Packager.CollectAllChildren(AssetDatabase.AssetPathToGUID(str), strArrays);
        string[]      strArrays2 = Packager.BuildExportPackageAssetListGuids(strArrays1, true);
        List <string> strs       = new List <string>();
        string        lower      = str.ToLower();

        string[] strArrays3 = strArrays2;
        for (int i = 0; i < (int)strArrays3.Length; i++)
        {
            string str1   = strArrays3[i];
            string lower1 = AssetDatabase.GUIDToAssetPath(str1).ToLower();
            if (lower1.StartsWith("assets/plugins") || lower1.Contains("standard assets") || lower1.StartsWith(lower))
            {
                strs.Add(str1);
            }
        }
        if (includeProjectSettings)
        {
            string[] files = Directory.GetFiles("ProjectSettings");
            for (int j = 0; j < (int)files.Length; j++)
            {
                string gUID = AssetDatabase.AssetPathToGUID(files[j]);
                if (gUID.Length > 0)
                {
                    strs.Add(gUID);
                }
            }
        }
        string[] strArrays4 = new string[strs.Count];
        strs.CopyTo(strArrays4);
        return(strArrays4);
    }