76 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			C#
		
	
	
	
			
		
		
	
	
			76 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			C#
		
	
	
	
| using System;
 | |
| using System.Collections;
 | |
| using System.Collections.Generic;
 | |
| using System.IO;
 | |
| using UnityEngine;
 | |
| 
 | |
| namespace YooAsset.Editor
 | |
| {
 | |
|     /// <summary>
 | |
|     /// 构建报告
 | |
|     /// </summary>
 | |
|     [Serializable]
 | |
|     public class BuildReport
 | |
|     {
 | |
|         /// <summary>
 | |
|         /// 汇总信息
 | |
|         /// </summary>
 | |
|         public ReportSummary Summary = new ReportSummary();
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 资源对象列表
 | |
|         /// </summary>
 | |
|         public List<ReportAssetInfo> AssetInfos = new List<ReportAssetInfo>();
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 资源包列表
 | |
|         /// </summary>
 | |
|         public List<ReportBundleInfo> BundleInfos = new List<ReportBundleInfo>();
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 未被依赖的资源列表
 | |
|         /// </summary>
 | |
|         public List<ReportIndependAsset> IndependAssets = new List<ReportIndependAsset>();
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 获取资源包信息类
 | |
|         /// </summary>
 | |
|         public ReportBundleInfo GetBundleInfo(string bundleName)
 | |
|         {
 | |
|             foreach (var bundleInfo in BundleInfos)
 | |
|             {
 | |
|                 if (bundleInfo.BundleName == bundleName)
 | |
|                     return bundleInfo;
 | |
|             }
 | |
|             throw new Exception($"Not found bundle : {bundleName}");
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 获取资源信息类
 | |
|         /// </summary>
 | |
|         public ReportAssetInfo GetAssetInfo(string assetPath)
 | |
|         {
 | |
|             foreach (var assetInfo in AssetInfos)
 | |
|             {
 | |
|                 if (assetInfo.AssetPath == assetPath)
 | |
|                     return assetInfo;
 | |
|             }
 | |
|             throw new Exception($"Not found asset : {assetPath}");
 | |
|         }
 | |
| 
 | |
| 
 | |
|         public static void Serialize(string savePath, BuildReport buildReport)
 | |
|         {
 | |
|             if (File.Exists(savePath))
 | |
|                 File.Delete(savePath);
 | |
| 
 | |
|             string json = JsonUtility.ToJson(buildReport, true);
 | |
|             FileUtility.WriteAllText(savePath, json);
 | |
|         }
 | |
|         public static BuildReport Deserialize(string jsonData)
 | |
|         {
 | |
|             BuildReport report = JsonUtility.FromJson<BuildReport>(jsonData);
 | |
|             return report;
 | |
|         }
 | |
|     }
 | |
| } |