Example #1
0
        public bool Enabled(TCP2_Config config)
        {
            var enabled = true;

            if (requiresOr != null)
            {
                enabled  = false;
                enabled |= config.HasFeaturesAny(requiresOr);
            }
            if (excludesAll != null)
            {
                enabled &= !config.HasFeaturesAll(excludesAll);
            }
            if (requires != null)
            {
                enabled &= config.HasFeaturesAll(requires);
            }
            if (excludes != null)
            {
                enabled &= !config.HasFeaturesAny(excludes);
            }

            if (wasEnabled != enabled)
            {
                OnEnabledChangedState(config, enabled);
            }
            wasEnabled = enabled;

            return(enabled);
        }