protected override bool ProcessEventInternal(string cmd, string com, int idx, int val) { if (!"MOTORFADER".Equals(com, StringComparison.InvariantCultureIgnoreCase)) { return(false); } bool ret = true; switch (cmd?.ToUpperInvariant()) { default: ret = false; break; case "UPDATED": if (_value != (ushort)val) { _value = (ushort)val; ValueChanged?.Invoke(this, new FaderChangedEventArgs(_value)); } break; case "TOUCHED": if (!Touched) { Touched = true; TouchedChanged?.Invoke(this, new ButtonChangedEventArgs(Touched)); } break; case "RELEASED": if (Touched) { Touched = false; TouchedChanged?.Invoke(this, new ButtonChangedEventArgs(Touched)); } break; } return(ret); }
protected override bool ProcessEventInternal(string cmd, string com, int idx, int val) { if ("ENCODER".Equals(com, StringComparison.InvariantCultureIgnoreCase)) { bool ret = true; switch (cmd?.ToUpperInvariant()) { default: ret = false; break; case "TURNED_RIGHT": TurnedRight?.Invoke(this, EventArgs.Empty); break; case "TURNED_LEFT": TurnedLeft?.Invoke(this, EventArgs.Empty); break; } return(ret); } if ("BUTTON".Equals(com, StringComparison.InvariantCultureIgnoreCase)) { var old = idx == TouchIndex ? Touched : Pressed; bool ret = true; switch (cmd?.ToUpperInvariant()) { default: ret = false; break; case "PRESSED": if (idx == TouchIndex) { Touched = true; } else { Pressed = true; } break; case "RELEASED": if (idx == TouchIndex) { Touched = false; } else { Pressed = false; } break; } if (ret) { if (idx == TouchIndex) { if (old != Touched) { TouchedChanged?.Invoke(this, new ButtonChangedEventArgs(Touched)); } } else if (old != Pressed) { PressedChanged?.Invoke(this, new ButtonChangedEventArgs(Pressed)); } } return(ret); } return(false); }
protected override void Saved() { touched = false; TouchedChanged?.BeginInvoke(null, null); }
//public void SaveIfTouched() //{ // if (!touched) // return; // Save(); //} public void Touch() { touched = true; TouchedChanged?.BeginInvoke(null, null); }