using System;
using System.Collections;
using System.Collections.Generic;
using System.IO;
using UnityEngine;
namespace YooAsset.Editor
{
///
/// 构建报告
///
[Serializable]
public class BuildReport
{
///
/// 汇总信息
///
public ReportSummary Summary = new ReportSummary();
///
/// 资源对象列表
///
public List AssetInfos = new List();
///
/// 资源包列表
///
public List BundleInfos = new List();
///
/// 冗余的资源列表
///
public List RedundancyInfos = new List();
///
/// 获取资源包信息类
///
public ReportBundleInfo GetBundleInfo(string bundleName)
{
foreach (var bundleInfo in BundleInfos)
{
if (bundleInfo.BundleName == bundleName)
return bundleInfo;
}
throw new Exception($"Not found bundle : {bundleName}");
}
///
/// 获取资源信息类
///
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(jsonData);
return report;
}
}
}