private void ActivatePolicy(ItemPolicyConnector.PolicyData policyData) { policyData.Validator.RequirementsChanged -= new EventHandler(this.OnPolicyRequirementsChanged); policyData.Validator = (RequirementValidator)null; policyData.Policy.Activate(this._manager.Context); if (this._policyAdded == null) { return; } this._policyAdded((object)this, new PolicyAddedEventArgs(policyData.Policy)); }
private void AttemptActivatePolicy(ItemPolicy policy) { if (this._policies.ContainsKey(policy.GetType())) { return; } ItemPolicyConnector.PolicyData policyData = new ItemPolicyConnector.PolicyData(); policyData.Validator = new RequirementValidator(this._manager, policy.GetType()); policyData.Policy = policy; this._policies[policy.GetType()] = policyData; if (policyData.Validator.MeetsRequirements) { this.ActivatePolicy(policyData); } else { policyData.Validator.RequirementsChanged += new EventHandler(this.OnPolicyRequirementsChanged); } }