Exemple #1
0
        /// <summary>
        /// 初始化
        /// </summary>
        bool PreprocessFinished()
        {
            //MainManifest
            MainManifest = Common.LoadMainManifest();
            if (MainManifest == null)
            {
                Error(emErrorCode.LoadMainManifestFailed
                      , "Can't load MainManifest file!");
                return(false);
            }

            // ResourcesManifest
            ResourcesManifest = Common.LoadResourcesManifest();
            if (ResourcesManifest == null)
            {
                Error(emErrorCode.LoadResourcesManiFestFailed
                      , "Can't load ResourcesInfo file!");
                return(false);
            }

            // ResourcesPackages
            ResourcesPackages = Common.LoadResourcesPackages();

            //记录当前版本号
            Version = ResourcesManifest.Data.Version;
            //标记已准备好
            IsReady = ErrorCode == emErrorCode.None;

            return(true);
        }
Exemple #2
0
        /// <summary>
        ///   拷贝初始目录所有文件
        /// </summary>
        IEnumerator CopyAllInitialFiles()
        {
            //拷贝所有配置文件
            for (int i = 0; i < Common.MAIN_CONFIG_NAME_ARRAY.Length; ++i)
            {
                yield return(Common.StartCopyInitialFile(Common.MAIN_CONFIG_NAME_ARRAY[i]));
            }

            //拷贝AssetBundle文件
            ResourcesManifest resources_manifest = Common.LoadResourcesManifest();

            if (resources_manifest == null)
            {
                Debug.LogWarning("Can't load ResourcesManifest file!");
                yield break;
            }
            var itr = resources_manifest.Data.AssetBundles.GetEnumerator();

            while (itr.MoveNext())
            {
                if (itr.Current.Value.IsNative)
                {
                    string assetbundlename = itr.Current.Value.AssetBundleName;
                    string dest            = Common.GetFileFullName(assetbundlename);

                    //保证路径存在
                    string directory = Path.GetDirectoryName(dest);
                    if (!Directory.Exists(directory))
                    {
                        Directory.CreateDirectory(directory);
                    }

                    //拷贝数据
                    yield return(Common.StartCopyInitialFile(assetbundlename));
                }
            }
            itr.Dispose();
        }