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); }