public void ClearVisibilityRule(AdditionalAccessoryVisibilityRules rule)
 {
     if (VisibilityRules == null)
     {
         return;
     }
     for (int i = VisibilityRules.Count - 1; i >= 0; i--)
     {
         AdditionalAccessoryVisibilityRuleData data = VisibilityRules[i];
         if (data.Rule.Equals(rule))
         {
             VisibilityRules.RemoveAt(i);
         }
     }
 }
        public void SetVisibilityRule(AdditionalAccessoryVisibilityRules rule, string mod, bool enabled)
        {
            if (VisibilityRules == null)
            {
                VisibilityRules = new List <AdditionalAccessoryVisibilityRuleData>();
            }

            AdditionalAccessoryVisibilityRuleData foundRule = FindVisibilityRule(rule);

            if (!enabled && foundRule != null)
            {
                VisibilityRules.Remove(foundRule);
            }
            else if (enabled)
            {
                VisibilityRules.Add(new AdditionalAccessoryVisibilityRuleData(rule, mod));
            }
        }