/// <summary> /// called on profile reset /// </summary> internal void Reset() { _boundRotaryControl = null; _pulsesSinceBinding = 0d; _lastAngle = 0d; _initialInputValue = null; }
private void ClaimControlIfAvailable(HeliosActionEventArgs e) { if (!_parent.TryClaimControl(out HeliosVisual visual)) { return; } _boundRotaryControl = visual as IRotaryControl; _boundPulsedControl = visual as IPulsedControl; _controlName.SetValue(new BindingValue(visual.Name), false); _initialAngle = _boundRotaryControl?.ControlAngle ?? 0d; _lastAngle = _initialAngle; _initialInputValue = e.Value; _pulsesSinceBinding = 0d; _pulseMode = PulseSwitches && (visual is IRotarySwitch); }