private bool IsAnalserFailed(CONSISTENCY_ANALYSE_ERROR_TYPE errorType) { bool bRet = false; if (errorType != CONSISTENCY_ANALYSE_ERROR_TYPE.CONSISTENCY_ANALYSE_ERROR_NONE) { bRet = true; } return(bRet); }
public CONSISTENCY_ANALYSE_ERROR_TYPE AnalyseSingleAtlasConsistent(AtlasProject project, out AtlasConsistencyAnalyseResult analyseResult) { CONSISTENCY_ANALYSE_ERROR_TYPE errorType = CONSISTENCY_ANALYSE_ERROR_TYPE.CONSISTENCY_ANALYSE_ERROR_NONE; analyseResult = null; if (null == project) { return(CONSISTENCY_ANALYSE_ERROR_TYPE.CONSISTENCY_ANALYSE_ERROR_TARGETPROJECT_ERROR); } errorType = CheckProjectConsistencyInfo(project, out analyseResult); return(errorType); }
private CONSISTENCY_ANALYSE_ERROR_TYPE CheckPrefabConsistencyInfo(out bool isConsistent, out List <AtlasConsistencyInfo> consistencyInfoTbl) { CONSISTENCY_ANALYSE_ERROR_TYPE errorType = CONSISTENCY_ANALYSE_ERROR_TYPE.CONSISTENCY_ANALYSE_ERROR_NONE; isConsistent = false; consistencyInfoTbl = new List <AtlasConsistencyInfo>(); if (null == m_inputInfo) { return(CONSISTENCY_ANALYSE_ERROR_TYPE.CONSISTENCY_ANALYSE_ERROR_INPUTINFO_ERROR); } if (string.IsNullOrEmpty(m_inputInfo.AtlasPrefabDir)) { return(CONSISTENCY_ANALYSE_ERROR_TYPE.CONSISTENCY_ANALYSE_ERROR_INPUTINFO_PREFABPATH_ERROR); } List <string> prefabPathTbl = GetAllAtlasPrefabFilePath(m_inputInfo.AtlasPrefabDir); foreach (var item in m_projectTable) { string fullPath = Path.GetFullPath(item.DescribePath); fullPath = fullPath.Replace(@"\", @"/"); prefabPathTbl.Remove(fullPath); } if (prefabPathTbl.Count != 0) { foreach (var item in prefabPathTbl) { AtlasConsistencyInfo newConsistencyInfo = new AtlasConsistencyInfo(); newConsistencyInfo.ConsistencyType = ATLASCONSISTENCY_TYPE.ATLAS_UNCONSISTENT_FOR_PROJECT_NOT_EXIST; newConsistencyInfo.AtlasFilePath = item; consistencyInfoTbl.Add(newConsistencyInfo); } if (0 == consistencyInfoTbl.Count) { isConsistent = true; } } return(errorType); }
public AtlasConsistencyAnalyser(AtlasConsistencyInputInfo inputInfo, out CONSISTENCY_ANALYSE_ERROR_TYPE errorType) { errorType = CONSISTENCY_ANALYSE_ERROR_TYPE.CONSISTENCY_ANALYSE_ERROR_NONE; do { errorType = CheckInputInfo(inputInfo); if (IsAnalserFailed(errorType)) { break; } m_inputInfo = inputInfo; m_projectTable = inputInfo.ProjectTable; } while (false); }
private CONSISTENCY_ANALYSE_ERROR_TYPE CheckInputInfo(AtlasConsistencyInputInfo inputInfo) { CONSISTENCY_ANALYSE_ERROR_TYPE errorType = CONSISTENCY_ANALYSE_ERROR_TYPE.CONSISTENCY_ANALYSE_ERROR_NONE; do { if (null == inputInfo) { errorType = CONSISTENCY_ANALYSE_ERROR_TYPE.CONSISTENCY_ANALYSE_ERROR_INPUTINFO_ERROR; break; } if (string.IsNullOrEmpty(inputInfo.SourceSpriteDir)) { errorType = CONSISTENCY_ANALYSE_ERROR_TYPE.CONSISTENCY_ANALYSE_ERROR_INPUTINFO_SOURCEAB_ERROR; break; } }while(false); return(errorType); }
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); }
public CONSISTENCY_ANALYSE_ERROR_TYPE AnalyseAtlasConsistent(bool isNeedCheckPrefab, out AtlasConsistencyAnalyseResult analyseResult) { CONSISTENCY_ANALYSE_ERROR_TYPE errorType = CONSISTENCY_ANALYSE_ERROR_TYPE.CONSISTENCY_ANALYSE_ERROR_NONE; analyseResult = new AtlasConsistencyAnalyseResult(); InitProgresser(isNeedCheckPrefab); int count = 1; foreach (var item in m_projectTable) { AtlasConsistencyAnalyseResult singleAnalyseResult = null; AnalyseConsistencyProgresser.GetInstance().UpdateProgress(count++); errorType = CheckProjectConsistencyInfo(item, out singleAnalyseResult); if (IsAnalserFailed(errorType)) { continue; } if (singleAnalyseResult.AnalyseResult != ANALYSERESULT_TYPE.ANALYSERESULT_CONSISTENT) { analyseResult.ConsistencyInfo.AddRange(singleAnalyseResult.ConsistencyInfo); } } if (isNeedCheckPrefab) { bool isPrefabConsistent = false; List <AtlasConsistencyInfo> prefabWithoutProjectInfo = null; errorType = CheckPrefabConsistencyInfo(out isPrefabConsistent, out prefabWithoutProjectInfo); if (!IsAnalserFailed(errorType)) { if (!isPrefabConsistent) { analyseResult.ConsistencyInfo.AddRange(prefabWithoutProjectInfo); } } } foreach (var item in analyseResult.ConsistencyInfo) { if (ATLASCONSISTENCY_TYPE.ATLAS_CONSISTENT == item.ConsistencyType) { continue; } else if (ATLASCONSISTENCY_TYPE.ATLAS_CONSISTENT_WITH_PREFAB_NOTIN_SEARCHPATH_WARNING == item.ConsistencyType) { analyseResult.AnalyseResult = ANALYSERESULT_TYPE.ANALYSERESULT_CONSISTENT_WITH_WARNING; } else { analyseResult.AnalyseResult = ANALYSERESULT_TYPE.ANALYSERESULT_UNCONSISTENT; break; } } AnalyseConsistencyProgresser.GetInstance().UpdateProgress(count++); return(errorType); }