public TimerDefaultSettingsForm(WurmTimer wurmTimer, [NotNull] ISoundManager soundManager) { if (soundManager == null) { throw new ArgumentNullException("soundManager"); } parentTimer = wurmTimer; this.soundManager = soundManager; InitializeComponent(); if (wurmTimer.MoreOptionsAvailable) { buttonMoreOptions.Visible = true; } this.Text = wurmTimer.Name; //set all options values this.checkBoxPopup.Checked = parentTimer.PopupNotify; this.checkBoxSound.Checked = parentTimer.SoundNotify; this.checkBoxPopupPersistent.Checked = parentTimer.PersistentPopup; this.textBoxSoundName.Text = soundManager.GetSoundById(parentTimer.SoundId).Name; this.checkBoxOnAssistantLaunch.Checked = parentTimer.PopupOnWaLaunch; int popupDurationMillis = parentTimer.PopupDurationMillis; this.numericUpDownPopupDuration.Value = (popupDurationMillis / 1000).ConstrainToRange((int)numericUpDownPopupDuration.Minimum, (int)numericUpDownPopupDuration.Maximum); isInited = true; }
public void UnloadAndDeleteTimer([NotNull] WurmTimer timer) { if (timer == null) { throw new ArgumentNullException("timer"); } persistentObjectResolver.UnloadAndDeleteData(timer); }
public WurmTimer AddNewTimer(TimerDefinition definition) { WurmTimer newTimer = timerInstances.CreateTimer(definition.Id); newTimer.Initialize(this, CharacterName, definition); activeTimerDefinitions.Add(new ActiveTimer() { DefinitionId = definition.Id, TimerId = newTimer.Id }); layoutControl.RegisterNewTimerDisplay(newTimer.View); timers.Add(newTimer); FlagAsChanged(); return(newTimer); }
internal void RemoveTimer(WurmTimer timer) { timerInstances.UnloadAndDeleteTimer(timer); timers.Remove(timer); var toRemove = activeTimerDefinitions.Where(activeTimer => activeTimer.DefinitionId == timer.TimerDefinition.Id).ToArray(); foreach (var activeTimer in toRemove) { activeTimerDefinitions.Remove(activeTimer); } FlagAsChanged(); timer.Stop(); }
private async void PerformAsyncInits() { try { await AttemptToEstablishCurrentServer(TimeSpan.FromDays(120)); if (currentServerOnTheGroup == null) { await AttemptToEstablishCurrentServer(TimeSpan.FromDays(365)); } foreach (var activeTimer in activeTimerDefinitions) { try { var definition = timerDefinitions.GetById(activeTimer.DefinitionId); WurmTimer timer = timerInstances.GetTimer(activeTimer.DefinitionId, activeTimer.TimerId); timer.Initialize(this, CharacterName, definition); layoutControl.RegisterNewTimerDisplay(timer.View); timers.Add(timer); FlagAsChanged(); } catch (Exception exception) { logger.Error(exception, "Error at InitTimers for timer " + activeTimer); FlagAsChanged(); } } layoutControl.EnableAddingTimers(); } catch (Exception _e) { logger.Error(_e, "problem updating current server group"); if (layoutControl != null) { layoutControl.SetInitializationError(); } } }
public TimerDisplayView(WurmTimer wurmTimer) : this() { this.wurmTimer = wurmTimer; SetName(wurmTimer.ShortName); }
public void StopTimer(WurmTimer wurmTimer) { layoutControl.UnregisterTimerDisplay(wurmTimer.View); }