Пример #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);
                }
            }
        }