Esempio n. 1
0
        public ProjectValidatorCache()
        {
            _validators = new List <BaseProjectValidator>();

            // Make sure any overriden disabled types are not included
            var overrideConfig = AssetValidatorOverrideConfig.FindOrCreate();

            // Get and add all field validators, excluding override disabled ones.
            var pvs = ReflectionUtility.GetAllDerivedInstancesOfTypeWithAttribute <BaseProjectValidator, ValidatorTargetAttribute>().ToArray();

            for (var index = 0; index < pvs.Length; index++)
            {
                AssetValidatorOverrideConfig.OverrideItem item = null;
                var projectValidator = pvs[index];
                if (overrideConfig.TryGetOverrideConfigItem(projectValidator.GetType(), out item))
                {
                    if (item.enabled)
                    {
                        _validators.Add(projectValidator);
                    }
                }
                else
                {
                    _validators.Add(projectValidator);
                }
            }
        }
Esempio n. 2
0
        public CrossSceneValidatorCache()
        {
            var validators = ReflectionUtility.GetAllDerivedInstancesOfType <BaseCrossSceneValidator>().ToArray();

            _validators = new List <BaseCrossSceneValidator>();

            // Make sure any overriden disabled types are not included
            var overrideConfig = AssetValidatorOverrideConfig.FindOrCreate();

            for (var index = 0; index < validators.Length; index++)
            {
                AssetValidatorOverrideConfig.OverrideItem item = null;
                var baseCrossSceneValidator = validators[index];
                if (overrideConfig.TryGetOverrideConfigItem(baseCrossSceneValidator.GetType(), out item))
                {
                    if (item.enabled)
                    {
                        _validators.Add(baseCrossSceneValidator);
                    }
                }
                else
                {
                    _validators.Add(baseCrossSceneValidator);
                }
            }
        }
        public InstanceValidatorCache()
        {
            _validators = new List <AbstractInstanceValidator>();

            // Make sure any overriden disabled types are not included
            var overrideConfig = AssetValidatorOverrideConfig.FindOrCreate();

            // Get and add all field validators, excluding override disabled ones.
            var fieldValidators = ReflectionUtility.GetAllDerivedInstancesOfType <BaseFieldValidator>().ToArray();

            for (var index = 0; index < fieldValidators.Length; index++)
            {
                AssetValidatorOverrideConfig.OverrideItem item = null;
                var vFieldValidator = fieldValidators[index];
                if (overrideConfig.TryGetOverrideConfigItem(vFieldValidator.GetType(), out item))
                {
                    if (item.enabled)
                    {
                        _validators.Add(vFieldValidator);
                    }
                }
                else
                {
                    _validators.Add(vFieldValidator);
                }
            }

            // Get and add all object validators, excluding override disabled ones.
            var objectValidators = ReflectionUtility.GetAllDerivedInstancesOfType <BaseObjectValidator>().ToArray();

            for (var index = 0; index < objectValidators.Length; index++)
            {
                AssetValidatorOverrideConfig.OverrideItem item = null;
                var vObjectValidator = objectValidators[index];
                if (overrideConfig.TryGetOverrideConfigItem(vObjectValidator.GetType(), out item))
                {
                    if (item.enabled)
                    {
                        _validators.Add(vObjectValidator);
                    }
                }
                else
                {
                    _validators.Add(vObjectValidator);
                }
            }
        }
        public AssetValidatorRunner(AssetValidatorLogger logger, SceneValidationMode vmode)
        {
            _scenePaths = AssetValidatorUtility.GetScenePaths(vmode);

            _logger = logger;

            _cache = new ClassTypeCache();

            // Ensure any unit test types do not get picked up for validation.
            _cache.IgnoreType <Monobehavior2>();
            _cache.IgnoreAttribute <OnlyIncludeInTestsAttribute>();

            // Find all objects for validation
            _cache.AddTypeWithAttribute <MonoBehaviour, ValidateAttribute>();

            // Add all disabled logs for this run
            AssetValidatorOverrideConfig.FindOrCreate().AddDisabledLogs(logger);

            _isRunning   = true;
            _runningTime = EditorApplication.timeSinceStartup;
        }