static void GrantPermission(string addonKey, string permissionKey, bool grantOrDecline) { Dictionary <string, List <string> > targetDictionary = grantOrDecline ? grantedPermissions : declinedPermissions; if (!targetDictionary.ContainsKey(addonKey)) { targetDictionary.Add(addonKey, new List <string>()); } if (targetDictionary[addonKey] == null) { targetDictionary[addonKey] = new List <string>(); } if (targetDictionary[addonKey].Contains(permissionKey)) { return; } targetDictionary[addonKey].Add(permissionKey); Addon addon = AddonManager.Instance.GetAddon(addonKey); if (addon != null) { addon.FireAtOverlays("permission", new { granted = grantOrDecline, key = permissionKey }); } Save(); }