Пример #1
0
    private PREFAB_EXIST_INFO CheckProjectWithoutPrefab(AtlasProject project)
    {
        PREFAB_EXIST_INFO prefabInfo = PREFAB_EXIST_INFO.PREFAB_FILE_EXIST_IN_SEARCHDIR;

        if (null == project)
        {
            return(prefabInfo);
        }

        if (!File.Exists(project.DescribePath))
        {
            prefabInfo = PREFAB_EXIST_INFO.PREFAB_FILE_NOT_EXIST;
        }
        else
        {
            if (!project.DescribePath.Contains(m_inputInfo.AtlasPrefabDir))
            {
                prefabInfo = PREFAB_EXIST_INFO.PREFAB_FILE_EXIST_NOTIN_SEARCHDIR;
            }
            else
            {
                prefabInfo = PREFAB_EXIST_INFO.PREFAB_FILE_EXIST_IN_SEARCHDIR;
            }
        }

        return(prefabInfo);
    }
Пример #2
0
    private CONSISTENCY_ANALYSE_ERROR_TYPE CheckProjectConsistencyInfo(AtlasProject project, out AtlasConsistencyAnalyseResult analyseResult)
    {
        CONSISTENCY_ANALYSE_ERROR_TYPE errorType = CONSISTENCY_ANALYSE_ERROR_TYPE.CONSISTENCY_ANALYSE_ERROR_NONE;

        analyseResult = new AtlasConsistencyAnalyseResult();

        if (null == project)
        {
            return(CONSISTENCY_ANALYSE_ERROR_TYPE.CONSISTENCY_ANALYSE_ERROR_TARGETPROJECT_ERROR);
        }

        PREFAB_EXIST_INFO prefabInfo = PREFAB_EXIST_INFO.PREFAB_FILE_EXIST_IN_SEARCHDIR;

        prefabInfo = CheckProjectWithoutPrefab(project);

        if (PREFAB_EXIST_INFO.PREFAB_FILE_NOT_EXIST == prefabInfo)
        {//Prefab不存在
            AtlasConsistencyInfo consistencyInfo = new AtlasConsistencyInfo();

            consistencyInfo.ConsistencyType = ATLASCONSISTENCY_TYPE.ATLAS_UNCONSISTENT_FOR_PREFAB_NOT_EXIST;
            consistencyInfo.AtlasFilePath   = project.Path;

            analyseResult.AnalyseResult = ANALYSERESULT_TYPE.ANALYSERESULT_UNCONSISTENT;
            analyseResult.ConsistencyInfo.Add(consistencyInfo);
        }
        else
        {//prefab存在
            bool isSpriteConsistent = true;
            List <SpriteConsistencyInfo> spriteConsistencyInfoTbl = null;

            CheckUnConsistentSpriteInProject(project, out isSpriteConsistent, out spriteConsistencyInfoTbl);
            if (isSpriteConsistent)
            {     //sprite一致
                if (PREFAB_EXIST_INFO.PREFAB_FILE_EXIST_NOTIN_SEARCHDIR == prefabInfo)
                { //Prefab不在查找目录内
                    AtlasConsistencyInfo consistencyInfo = new AtlasConsistencyInfo();

                    consistencyInfo.ConsistencyType = ATLASCONSISTENCY_TYPE.ATLAS_CONSISTENT_WITH_PREFAB_NOTIN_SEARCHPATH_WARNING;
                    consistencyInfo.AtlasFilePath   = project.Path;

                    analyseResult.AnalyseResult = ANALYSERESULT_TYPE.ANALYSERESULT_CONSISTENT_WITH_WARNING;
                    analyseResult.ConsistencyInfo.Add(consistencyInfo);
                }
                else
                {
                    analyseResult.AnalyseResult = ANALYSERESULT_TYPE.ANALYSERESULT_CONSISTENT;
                }
            }
            else
            {//Sprite不一致
                AtlasConsistencyInfo consistencyInfo = new AtlasConsistencyInfo();

                if (PREFAB_EXIST_INFO.PREFAB_FILE_EXIST_NOTIN_SEARCHDIR == prefabInfo)
                {//Prefab不在查找目录内
                    consistencyInfo.ConsistencyType = ATLASCONSISTENCY_TYPE.ATLAS_UNCONSISTENT_FOR_SPRITE_NOT_SAME_WITH_PREFAB_NOTIN_SEARCHPATH_WARNING;
                }
                else
                {//Prefab在查找目录内
                    consistencyInfo.ConsistencyType = ATLASCONSISTENCY_TYPE.ATLAS_UNCONSISTENT_FOR_SPRITE_NOT_SAME;
                }
                consistencyInfo.AtlasFilePath            = project.Path;
                consistencyInfo.SpriteConsistencyInfoTbl = spriteConsistencyInfoTbl;

                analyseResult.AnalyseResult = ANALYSERESULT_TYPE.ANALYSERESULT_UNCONSISTENT;
                analyseResult.ConsistencyInfo.Add(consistencyInfo);
            }
        }

        return(errorType);
    }