Exemple #1
0
        public static void BuildSelectedAssets()
        {
            Manifest manifest = BuilderHelper.LoadManifest();

            // Get selected assets.
            List <string> assetFiles = BuilderHelper.GetSelectedAssets();

            // Get packages.
            List <string> packageFiles = new List <string>();

            // Build packages.
            foreach (string assetFile in assetFiles)
            {
                string packageFile;
                int    packageVersion;

                if (!manifest.GetAssetPackage(assetFile, out packageFile, out packageVersion))
                {
                    Debug.LogWarningFormat("Failed to get package file: {0}", assetFile);
                }

                if (!packageFiles.Contains(packageFile))
                {
                    packageFiles.Add(packageFile);
                }
            }

            BuildPackage(packageFiles, manifest);
        }
Exemple #2
0
        public static void BuildAllAssets()
        {
            Manifest manifest = BuilderHelper.LoadManifest();

            List <string> packageFiles = manifest.GetAllPackageFiles();

            BuildPackage(packageFiles, manifest);
        }
        protected static void ExtractAsset(List <string> assetsList)
        {
            // Todo: Get version.
            Dictionary <string, int> assetsWithVersion = new Dictionary <string, int>();

            foreach (string asset in assetsList)
            {
                assetsWithVersion[asset] = Defines.DEF_RES_VERSION;
            }

            // Load current manifest.
            Manifest manifest = BuilderHelper.LoadManifest();

            // Add new asssets.
            foreach (string assetFile in assetsWithVersion.Keys)
            {
                string packageFile;
                int    packageVersion;
                double createTime;

                double seconds = BuilderHelper.GetFileCreateTime(assetFile);

                // Add new asssets.
                if (!manifest.HasAsset(assetFile))
                {
                    packageFile = manifest.CreateNewPackage(seconds);
                    //it not use the version of asset
                    manifest.AddAssetToPackage(assetFile, 0, "", packageFile);
                }
                // Update assets version.
                // TODO
                else
                {
                    manifest.GetAssetPackage(assetFile, out packageFile, out packageVersion, out createTime);
                    if (packageFile.Equals("00001"))
                    {
                        Debug.Log("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@");
                        Debug.Log("createTime:" + createTime);
                        Debug.Log("seconds:" + seconds);
                    }
                    if (createTime < seconds)
                    {
                        packageVersion += 1;
                        manifest.UpdatePackageVersion(packageFile, packageVersion);
                    }
                }
            }

            // Extract asset.
            foreach (string assetFile in assetsWithVersion.Keys)
            {
                AssetManifest.ExtractAsset(assetFile, manifest);
            }

            // Todo: Update package versions.

            // Update manifest file.
            using (StreamWriter outfile = new StreamWriter(PathUtil.CombinePath(Directory.GetCurrentDirectory(), BuilderConfig.ManifestPath), false))
            {
                outfile.Write(manifest.ToXMLString());
            }

            AssetDatabase.Refresh();

            Debug.Log("Build manifest finished!");
        }