public void SetPreset(Guid guid, bool State) { PresetGroup preset; if (!Presets.TryGetValue(guid, out preset) || preset.State == State) { return; } preset.SetState(State); PresetChange?.Invoke(this, new PresetChangeArgs() { preset = preset }); }
protected void OnTimerTick(object sender, EventArgs e) { DateTime now = DateTime.Now; foreach (PresetGroup preset in Presets.Values) { if (preset.UndoTime != null && preset.UndoTime < now) { preset.SetState(false); PresetChange?.Invoke(this, new PresetChangeArgs() { preset = preset }); } } }
public void RemovePreset(Guid guid) { if (!Presets.ContainsKey(guid)) { return; } var preset = Presets[guid]; if (preset.State) { preset.SetState(false); } Presets.Remove(guid); PresetChange?.Invoke(this, new PresetChangeArgs()); }
public void UpdatePreset(PresetGroup preset) { if (!Presets.ContainsKey(preset.guid)) { Presets.Add(preset.guid, preset); preset = null; // trigger full list refresh } else { var oldPreset = Presets[preset.guid]; Presets[preset.guid] = preset; if (oldPreset.State) { oldPreset.SetState(false); preset.SetState(true); } } PresetChange?.Invoke(this, new PresetChangeArgs() { preset = preset }); }