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); }
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; }
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); }
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; }
public override void LoadConfig(IPluginConfig config) { Config = CactbotEventSourceConfig.LoadConfig(config, logger); if (Config.OverlayData == null) { Config.OverlayData = new Dictionary <string, JToken>(); } }
public CactbotEventSourceConfigPanel(CactbotEventSource source) { InitializeComponent(); this.source = source; this.config = source.Config; SetupControlProperties(); SetupConfigEventHandlers(); }
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(); } }