private void AnalyseNoneDependcyInfo(NoneDependencyInfo noneDependencyInfo, out List <string> csvData) { csvData = new List <string>(); if (null == noneDependencyInfo) { return; } foreach (var infoItem in noneDependencyInfo.NoneDependencyInfoTbl) { csvData.Add(infoItem.Key); if (infoItem.Value.IsAllUnUse) { csvData.Add("," + "该Atlas中所有Sprite均没有被引用"); } else { foreach (var spriteItem in infoItem.Value.NoneUseSpriteTbl) { csvData.Add("," + spriteItem); } } csvData.Add(Environment.NewLine); } }
public REFERENCE_ANALYSE_ERROR_TYPE AnalyseNoneDependency(out NoneDependencyInfo noneDependencyInfo) { REFERENCE_ANALYSE_ERROR_TYPE errorType = REFERENCE_ANALYSE_ERROR_TYPE.REFERENCE_ANALYSE_ERROR_NONE; noneDependencyInfo = new NoneDependencyInfo(); do { errorType = CheckNoneDependencyInput(); if (IsAnalserFailed(errorType)) { break; } string configDir = UIAtlasEditorConfig.ReferenceResultPath; AtlasReferenceFilter filter = new AtlasReferenceFilter(configDir); AnnalyseReferenceProgresser.GetInstance().InitProgresser(m_inputInfo.ProjectTbl.Count, "无引用导出中"); int count = 1; foreach (var item in m_inputInfo.ProjectTbl) { if (filter.CheckNoneDependencyAtlasFilter(item.Path)) { continue; } SpriteNoneRefInfo spriteInfo = new SpriteNoneRefInfo(); List <AtlasSpriteImage> spriteTbl = item.GetAllSprites(); foreach (var spriteItem in spriteTbl) { string spriteName = Path.GetFileNameWithoutExtension(spriteItem.Path); if (filter.CheckNoneDependencySpriteFilter(item.Path, spriteName)) { continue; } if (spriteItem.ReferenceTable.Count == 0) { spriteInfo.NoneUseSpriteTbl.Add(spriteName); } } if (spriteInfo.NoneUseSpriteTbl.Count == spriteTbl.Count) { spriteInfo.IsAllUnUse = true; } noneDependencyInfo.NoneDependencyInfoTbl.Add(item.Path, spriteInfo); AnnalyseReferenceProgresser.GetInstance().UpdateProgress(count++); } }while(false); return(errorType); }
public void ExportNoneDependency(string resultdir, NoneDependencyInfo noneDependencyInfo) { if ( (null == noneDependencyInfo) || string.IsNullOrEmpty(resultdir) ) { return; } List <string> csvData = null; AnalyseNoneDependcyInfo(noneDependencyInfo, out csvData); WriteNoneDependencyCSVFile(resultdir, csvData); }
public REFERENCE_ANALYSE_ERROR_TYPE AnalyseAllDependency(out AllDependencyInfo allDependencyInfo) { REFERENCE_ANALYSE_ERROR_TYPE errorType = REFERENCE_ANALYSE_ERROR_TYPE.REFERENCE_ANALYSE_ERROR_NONE; allDependencyInfo = new AllDependencyInfo(); DependencyInfo dependencyInfo = null; ReverseDependencyInfo reverseDependencyInfo = null; NoneDependencyInfo noneDependencyInfo = null; do { errorType = AnalyseDependency(out dependencyInfo); if (IsAnalserFailed(errorType)) { break; } errorType = AnalyseReverseDependency(out reverseDependencyInfo); if (IsAnalserFailed(errorType)) { break; } errorType = AnalyseNoneDependency(out noneDependencyInfo); if (IsAnalserFailed(errorType)) { break; } allDependencyInfo.AtlasDependencyInfo = dependencyInfo; allDependencyInfo.AtlasrRverseDependencyInfo = reverseDependencyInfo; allDependencyInfo.AtlasrNoneDependencyInfo = noneDependencyInfo; }while(false); return(errorType); }