public FormTriggersConfig( [NotNull] TriggerManager triggerManager, [NotNull] ISoundManager soundManager, [NotNull] IWindowManager windowManager, [NotNull] IExporterFactory exporterFactory, [NotNull] IImporterFactory importerFactory) { if (triggerManager == null) throw new ArgumentNullException(nameof(triggerManager)); if (soundManager == null) throw new ArgumentNullException(nameof(soundManager)); if (windowManager == null) throw new ArgumentNullException(nameof(windowManager)); if (exporterFactory == null) throw new ArgumentNullException(nameof(exporterFactory)); if (importerFactory == null) throw new ArgumentNullException(nameof(importerFactory)); InitializeComponent(); this.triggerManager = triggerManager; this.soundManager = soundManager; this.windowManager = windowManager; this.exporterFactory = exporterFactory; this.importerFactory = importerFactory; BuildFormText(); UpdateMutedState(); TriggersListView.SetObjects(this.triggerManager.Triggers); timer1.Enabled = true; }
private string GetFilterStringFromFactory(IExporterFactory <T> factory) { return(factory.FileType + "|" + factory.FileExtension); }
public TriggerManager( [NotNull] string characterName, [NotNull] IWurmApi wurmApi, [NotNull] ISoundManager soundManager, [NotNull] ILogger logger, [NotNull] ITrayPopups trayPopups, [NotNull] IActiveTriggersFactory activeTriggersFactory, [NotNull] IWindowManager windowManager, [NotNull] TriggersDataContext triggersDataContext, [NotNull] IExporterFactory exporterFactory, [NotNull] IImporterFactory importerFactory) { if (characterName == null) { throw new ArgumentNullException(nameof(characterName)); } if (wurmApi == null) { throw new ArgumentNullException(nameof(wurmApi)); } if (soundManager == null) { throw new ArgumentNullException(nameof(soundManager)); } if (logger == null) { throw new ArgumentNullException(nameof(logger)); } if (trayPopups == null) { throw new ArgumentNullException(nameof(trayPopups)); } if (activeTriggersFactory == null) { throw new ArgumentNullException(nameof(activeTriggersFactory)); } if (windowManager == null) { throw new ArgumentNullException(nameof(windowManager)); } if (triggersDataContext == null) { throw new ArgumentNullException(nameof(triggersDataContext)); } if (exporterFactory == null) { throw new ArgumentNullException(nameof(exporterFactory)); } if (importerFactory == null) { throw new ArgumentNullException(nameof(importerFactory)); } this.CharacterName = characterName; this.wurmApi = wurmApi; this.soundManager = soundManager; this.logger = logger; this.trayPopups = trayPopups; this.activeTriggersFactory = activeTriggersFactory; this.windowManager = windowManager; this.exporterFactory = exporterFactory; this.importerFactory = importerFactory; this.triggersConfig = triggersDataContext.CharacterTriggersConfigs.GetOrCreate(characterName); activeTriggers = activeTriggersFactory.CreateActiveTriggers(CharacterName); activeTriggers.MutedEvaluator = GetMutedEvaluator(); //create control for Module UI controlUi = new UcPlayerTriggersController(); //create this notifier UI triggersConfigUi = new FormTriggersConfig(this, soundManager, windowManager, exporterFactory, importerFactory); UpdateMutedState(); controlUi.label1.Text = CharacterName; controlUi.buttonMute.Click += ToggleMute; controlUi.buttonConfigure.Click += Configure; controlUi.buttonRemove.Click += StopAndRemove; try { wurmApi.LogsMonitor.Subscribe(this.CharacterName, LogType.AllLogs, OnNewLogEvents); } catch (DataNotFoundException exception) { logger.Warn(exception, $"Unable to subscribe LogsMonitor events for character {this.CharacterName}."); } }