示例#1
0
    void gatherProjectFolders()
    {
        projectFolders.Clear();
#if (UNITY_WEBGL) && !UNITY_EDITOR
        projectFolders.AddRange(WebGL_FileSystem.GetDirectories(rootFolder));
#else
        if (new DirectoryInfo(rootFolder).Exists)
        {
            projectFolders.AddRange(Directory.GetDirectories(rootFolder));
        }

        if (!new DirectoryInfo(rootFolder).Exists)
        {
            string altProjectFolder = Application.persistentDataPath + "/" + rootFolder;
            if (new DirectoryInfo(altProjectFolder).Exists)
            {
                projectFolders.AddRange(Directory.GetDirectories(altProjectFolder));
            }

            altProjectFolder = Application.streamingAssetsPath + "/" + rootFolder;
            if (new DirectoryInfo(altProjectFolder).Exists)
            {
                projectFolders.AddRange(Directory.GetDirectories(altProjectFolder));
            }
            else
            {
#if UNITY_ANDROID
                if (ZIP_AndroidAssets.isUrl(altProjectFolder))
                {
                    string[] dirList = ZIP_AndroidAssets.retrieveProjectFolders(altProjectFolder);
                    foreach (string dir in dirList)
                    {
                        projectFolders.Add(altProjectFolder + "/" + dir);
                    }
                }
#endif
            }
        }
#endif
    }