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); }
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!"); }