public bool SetState(bool State, List <Guid> Trace) { // avoid circle calls if (Trace.Contains(this.guid)) { return(false); } Trace.Add(this.guid); PresetGroup group; if (!App.presets.Presets.TryGetValue(Preset, out group)) { return(false); } group.State = State; foreach (PresetItem item in group.Items.Values) { ControlPreset CtrlItem = item as ControlPreset; if (CtrlItem != null) { CtrlItem.SetState(State, Trace); } else { item.SetState(State); } } return(true); }
public override PresetItem Clone() { ControlPreset item = new ControlPreset(); Clone(item); item.Preset = this.Preset; item.OnState = this.OnState; item.OffState = this.OffState; return(item); }
public static PresetItem New(PresetType Type) { PresetItem item = null; switch (Type) { case PresetType.Tweak: item = new TweakPreset(); break; case PresetType.Firewall: item = new FirewallPreset(); break; case PresetType.Control: item = new ControlPreset(); break; case PresetType.Custom: item = new CustomPreset(); break; default: return(null); } item.Type = Type; return(item); }