public static CactbotEventSourceConfig LoadConfig(IPluginConfig pluginConfig)
        {
            var result = new CactbotEventSourceConfig();

            if (pluginConfig.EventSourceConfigs.ContainsKey("CactbotESConfig"))
            {
                var obj = pluginConfig.EventSourceConfigs["CactbotESConfig"];

                if (obj.TryGetValue("OverlayData", out JToken value))
                {
                    result.OverlayData = value.ToObject <Dictionary <string, string> >();
                }

                if (obj.TryGetValue("RemoteVersionSeen", out value))
                {
                    result.RemoteVersionSeen = value.ToString();
                }

                if (obj.TryGetValue("UserConfigFile", out value))
                {
                    result.UserConfigFile = value.ToString();
                }

                if (obj.TryGetValue("WatchFileChanges", out value))
                {
                    result.WatchFileChanges = value.ToObject <bool>();
                }
            }

            return(result);
        }
        public static CactbotEventSourceConfig LoadConfig(IPluginConfig pluginConfig, RainbowMage.OverlayPlugin.ILogger logger)
        {
            var result = new CactbotEventSourceConfig();

            if (pluginConfig.EventSourceConfigs.ContainsKey("CactbotESConfig"))
            {
                var obj = pluginConfig.EventSourceConfigs["CactbotESConfig"];

                // TODO: add try/catch here
                if (obj.TryGetValue("OverlayData", out JToken value))
                {
                    try {
                        result.OverlayData = value.ToObject <Dictionary <string, JToken> >();
                    } catch (Exception e) {
                        logger.Log(LogLevel.Error, "Failed to load OverlayData setting: {0}", e.ToString());
                    }
                }

                if (obj.TryGetValue("RemoteVersionSeen", out value))
                {
                    result.RemoteVersionSeen = value.ToString();
                }
            }

            return(result);
        }
Example #3
0
        public async void DoUpdateCheck(CactbotEventSourceConfig config)
        {
            var pluginDirectory = GetCactbotDirectory();

            if (pluginDirectory == "")
            {
                logger_.LogError(Strings.UnableUpdateDueToUnknownDirectoryErrorMessage);
                return;
            }

            if (Directory.Exists(Path.Combine(pluginDirectory, ".git")))
            {
                logger_.LogInfo(Strings.IgnoreUpdateDueToDotGitDirectoryMessage);
                return;
            }

            var options = new UpdaterOptions
            {
                project         = "cactbot",
                pluginDirectory = pluginDirectory,
                lastCheck       = config.LastUpdateCheck,
                currentVersion  = GetCactbotVersion(),
                checkInterval   = TimeSpan.FromMinutes(5),
                repo            = kRepo,
                downloadUrl     = kDownloadUrl,
                strippedDirs    = 2,
                actPluginId     = 78,
            };

            await Updater.RunAutoUpdater(options);

            config.LastUpdateCheck = options.lastCheck;
        }
Example #4
0
        public static CactbotEventSourceConfig LoadConfig(IPluginConfig pluginConfig, RainbowMage.OverlayPlugin.ILogger logger)
        {
            var result = new CactbotEventSourceConfig();

            if (pluginConfig.EventSourceConfigs.ContainsKey("CactbotESConfig"))
            {
                var obj = pluginConfig.EventSourceConfigs["CactbotESConfig"];

                if (obj.TryGetValue("OverlayData", out JToken value))
                {
                    try {
                        result.OverlayData = value.ToObject <Dictionary <string, JToken> >();
                    } catch (Exception e) {
                        logger.Log(LogLevel.Error, Strings.LoadOverlayDataSettingsFailed, e.ToString());
                    }
                }

                if (obj.TryGetValue("LastUpdateCheck", out value))
                {
                    try {
                        result.LastUpdateCheck = value.ToObject <DateTime>();
                    } catch (Exception e) {
                        logger.Log(LogLevel.Error, Strings.LoadLastUpdateCheckSettingsFailed, e.ToString());
                    }
                }
            }

            return(result);
        }
Example #5
0
        public async void DoUpdateCheck(CactbotEventSourceConfig config)
        {
            var pluginDirectory = GetCactbotDirectory();

            if (pluginDirectory == "")
            {
                logger_.LogError("Unable to auto-update due to unknown cactbot directory");
                return;
            }

            if (Directory.Exists(Path.Combine(pluginDirectory, ".git")))
            {
                logger_.LogInfo("Ignoring auto-update due to cactbot directory being a .git repo.");
                return;
            }

            var options = new UpdaterOptions
            {
                project         = "cactbot",
                pluginDirectory = pluginDirectory,
                lastCheck       = config.LastUpdateCheck,
                currentVersion  = GetCactbotVersion(),
                checkInterval   = TimeSpan.FromMinutes(15),
                repo            = kRepo,
                downloadUrl     = kDownloadUrl,
                strippedDirs    = 2,
            };

            await Updater.RunAutoUpdater(options);

            config.LastUpdateCheck = options.lastCheck;
        }
Example #6
0
 public override void LoadConfig(IPluginConfig config)
 {
     Config = CactbotEventSourceConfig.LoadConfig(config, logger);
     if (Config.OverlayData == null)
     {
         Config.OverlayData = new Dictionary <string, JToken>();
     }
 }
Example #7
0
        public CactbotEventSourceConfigPanel(CactbotEventSource source)
        {
            InitializeComponent();

            this.source = source;
            this.config = source.Config;

            SetupControlProperties();
            SetupConfigEventHandlers();
        }
Example #8
0
        public override void LoadConfig(IPluginConfig config)
        {
            Config = CactbotEventSourceConfig.LoadConfig(config, logger);
            if (Config.OverlayData == null)
            {
                Config.OverlayData = new Dictionary <string, JToken>();
            }

            Config.WatchFileChangesChanged += (o, e) => {
                if (Config.WatchFileChanges)
                {
                    StartFileWatcher();
                }
                else
                {
                    StopFileWatcher();
                }
            };

            if (Config.WatchFileChanges)
            {
                StartFileWatcher();
            }
        }