Example #1
0
        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
            });
        }
Example #2
0
        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
                    });
                }
            }
        }
Example #3
0
        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());
        }
Example #4
0
        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
            });
        }