public ActiveTriggers( string characterName, [NotNull] ISoundManager soundManager, [NotNull] ITrayPopups trayPopups, [NotNull] IWurmApi wurmApi, [NotNull] ILogger logger, [NotNull] IActionQueueConditions actionQueueConditions, [NotNull] TriggersDataContext triggersDataContext, [NotNull] ITelemetry telemetry) { if (soundManager == null) { throw new ArgumentNullException(nameof(soundManager)); } if (trayPopups == null) { throw new ArgumentNullException(nameof(trayPopups)); } if (wurmApi == null) { throw new ArgumentNullException(nameof(wurmApi)); } if (logger == null) { throw new ArgumentNullException(nameof(logger)); } if (actionQueueConditions == null) { throw new ArgumentNullException(nameof(actionQueueConditions)); } if (triggersDataContext == null) { throw new ArgumentNullException(nameof(triggersDataContext)); } CharacterName = characterName; this.soundManager = soundManager; this.trayPopups = trayPopups; this.wurmApi = wurmApi; this.logger = logger; this.actionQueueConditions = actionQueueConditions; this.telemetry = telemetry ?? throw new ArgumentNullException(nameof(telemetry)); this.triggersConfig = triggersDataContext.CharacterTriggersConfigs.GetOrCreate(characterName); foreach (var entity in triggersConfig.TriggerEntities.Values) { try { triggers.Add(entity.TriggerId, BuildTrigger(entity)); } catch (Exception exception) { logger.Error(exception, string.Format("Error initializing trigger id {0}, name: {1}", entity.TriggerId, entity.Name)); } } }
public ActionQueueTriggerConfig(ActionQueueTrigger actionQueueTrigger, [NotNull] IActionQueueConditions conditions) { if (conditions == null) { throw new ArgumentNullException("conditions"); } this.actionQueueTrigger = actionQueueTrigger; this.conditions = conditions; InitializeComponent(); NotificationDelayInput.Value = ((decimal)this.actionQueueTrigger.NotificationDelay).ConstrainToRange(0, 1000); }
public ActionQueueTrigger(TriggerEntity triggerEntity, ISoundManager soundManager, ITrayPopups trayPopups, IWurmApi wurmApi, ILogger logger, [NotNull] IActionQueueConditions conditionsManager, ITelemetry telemetry) : base(triggerEntity, soundManager, trayPopups, wurmApi, logger, telemetry) { if (logger == null) { throw new ArgumentNullException("logger"); } if (conditionsManager == null) { throw new ArgumentNullException("conditionsManager"); } this.logger = logger; this.conditionsManager = conditionsManager; LockedLogTypes = new[] { LogType.Event }; lastActionFinished = DateTime.Now; lastActionStarted = DateTime.Now; lastEventLine = string.Empty; }