Exemplo n.º 1
0
        private void RefreshConfigs()
        {
            checkerFileInfos = CheckerUtility.ReadCheckerFileInfos();

            selectedCheckerFileInfo = null;
            checkerDrawer           = null;

            if (configListView != null)
            {
                configListView.Clear();
            }
            else
            {
                configListView = new EasyListView();
                configListView.HeaderContent    = "Checker File List";
                configListView.OnSelectedChange = (selected) =>
                {
                    SetSelected((CheckerFileInfo)selected);
                };
            }
            foreach (var cfi in checkerFileInfos)
            {
                configListView.AddItem(Path.GetFileNameWithoutExtension(cfi.filePath), cfi);
            }
        }
Exemplo n.º 2
0
        static void OnPostprocessAllAssets(string[] importedAssets, string[] deletedAssets, string[] movedAssets, string[] movedFromAssetPaths)
        {
            List <CheckerFileInfo> checkerFiles = CheckerUtility.ReadCheckerFileInfos();
            CheckerResultInfo      resultInfo   = CheckerUtility.ReadCheckerResultInfo();

            if (importedAssets != null && importedAssets.Length > 0)
            {
                foreach (var assetPath in importedAssets)
                {
                    if (AssetDatabase.IsValidFolder(assetPath) && !CheckerUtility.ReadSetting().isFolderAsAsset)
                    {
                        continue;
                    }

                    CheckerFileInfo cfi = checkerFiles.FirstOrDefault((cFileInfo) =>
                    {
                        return(cFileInfo.checker.enable && cFileInfo.checker.IsMatch(assetPath));
                    });

                    if (cfi == null)
                    {
                        resultInfo.AddPassedResult(assetPath);
                    }
                    else
                    {
                        Checker checker   = cfi.checker;
                        int     errorCode = 0;
                        if (checker.DoAnalyse(assetPath, ref errorCode))
                        {
                            checker.DoOperate(assetPath);

                            resultInfo.RemoveAsset(assetPath);
                        }
                        else
                        {
                            resultInfo.AddFailedResult(assetPath, errorCode);
                        }
                    }
                }
            }

            if (deletedAssets != null && deletedAssets.Length > 0)
            {
                foreach (var assetPath in deletedAssets)
                {
                    resultInfo.RemoveAsset(assetPath);
                }
            }

            CheckerUtility.SaveCheckerResultInfo();
        }