mirror of
https://github.com/tuyoogame/YooAsset.git
synced 2026-05-23 17:20:12 +00:00
update AssetArtScanner
配置和报告容错性检测
This commit is contained in:
@@ -29,9 +29,9 @@ namespace YooAsset.Editor
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 报告标题
|
||||
/// 报告名称
|
||||
/// </summary>
|
||||
public string ReportTitle;
|
||||
public string ReportName;
|
||||
|
||||
/// <summary>
|
||||
/// 报告介绍
|
||||
@@ -41,7 +41,7 @@ namespace YooAsset.Editor
|
||||
/// <summary>
|
||||
/// 报告的标题列表
|
||||
/// </summary>
|
||||
public List<ReportHeader> HeaderTitles = new List<ReportHeader>();
|
||||
public List<ReportHeader> ReportHeaders = new List<ReportHeader>();
|
||||
|
||||
/// <summary>
|
||||
/// 扫描的元素列表
|
||||
@@ -49,23 +49,70 @@ namespace YooAsset.Editor
|
||||
public List<ReportElement> ReportElements = new List<ReportElement>();
|
||||
|
||||
|
||||
public ScanReport(string reportTitle, string reportDesc)
|
||||
public ScanReport(string reportName, string reportDesc)
|
||||
{
|
||||
ReportTitle = reportTitle;
|
||||
ReportName = reportName;
|
||||
ReportDesc = reportDesc;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 添加标题
|
||||
/// </summary>
|
||||
public ReportHeader AddHeader(string headerTitle, int width)
|
||||
{
|
||||
var reportHeader = new ReportHeader(headerTitle, width);
|
||||
HeaderTitles.Add(reportHeader);
|
||||
ReportHeaders.Add(reportHeader);
|
||||
return reportHeader;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 添加标题
|
||||
/// </summary>
|
||||
public ReportHeader AddHeader(string headerTitle, int width, int minWidth, int maxWidth)
|
||||
{
|
||||
var reportHeader = new ReportHeader(headerTitle, width, minWidth, maxWidth);
|
||||
HeaderTitles.Add(reportHeader);
|
||||
ReportHeaders.Add(reportHeader);
|
||||
return reportHeader;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 检测错误
|
||||
/// </summary>
|
||||
public void CheckError()
|
||||
{
|
||||
// 检测标题
|
||||
Dictionary<string, ReportHeader> headerMap = new Dictionary<string, ReportHeader>();
|
||||
foreach (var header in ReportHeaders)
|
||||
{
|
||||
string headerTitle = header.HeaderTitle;
|
||||
if (headerMap.ContainsKey(headerTitle))
|
||||
throw new Exception($"The header title {headerTitle} already exists !");
|
||||
else
|
||||
headerMap.Add(headerTitle, header);
|
||||
}
|
||||
|
||||
// 检测扫描元素
|
||||
HashSet<string> elementMap = new HashSet<string>();
|
||||
foreach (var element in ReportElements)
|
||||
{
|
||||
if (string.IsNullOrEmpty(element.GUID))
|
||||
throw new Exception($"The report element GUID is null or empty !");
|
||||
|
||||
if (elementMap.Contains(element.GUID))
|
||||
throw new Exception($"The report element GUID already exists ! {element.GUID}");
|
||||
else
|
||||
elementMap.Add(element.GUID);
|
||||
|
||||
foreach (var scanInfo in element.ScanInfos)
|
||||
{
|
||||
if (headerMap.ContainsKey(scanInfo.HeaderTitle) == false)
|
||||
throw new Exception($"The report element header {scanInfo.HeaderTitle} is missing !");
|
||||
|
||||
// 检测数值有效性
|
||||
var header = headerMap[scanInfo.HeaderTitle];
|
||||
header.CheckValueValid(scanInfo.ScanInfo);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user