コード例 #1
0
    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);
        }
    }
コード例 #2
0
    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);
    }
コード例 #3
0
    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);
    }
コード例 #4
0
    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);
    }