Example #1
0
        private static void InitChattable(IChattable source)
        {
            if (!InitdChattables.Contains(source))
            {
                string sourceStr = source.ToString(true);

                var config = (JObject)AppStatusConfig.Config;
                config.Add(new JProperty(sourceStr, new JObject()), false);

                var sourceConfig = (JObject)config[sourceStr];
                var newConfig    = new JObject();
                var apps         = AppUtilities.GetApps(source);

                foreach (AppBase app in apps)
                {
                    if (app.CanDisable)
                    {
                        newConfig.Add(sourceConfig.ContainsKey(app.Name) ? new JProperty(app.Name, sourceConfig[app.Name]) : new JProperty(app.Name, app.IsEnabledByDefault));
                    }
                }

                sourceConfig.Replace(newConfig);

                AppStatusConfig.Save();
                InitdChattables.Add(source);
            }
        }
Example #2
0
 internal bool IsEnabled(IChattable source) => !CanDisable || AppStatusConfig.Config[source.ToString(true)][Name].ToObject <bool>();