public GamepadHelperEventArgs(int x, int y, GamepadThumbs side, AnalogConfig analog) { XPosition = x; YPosition = y; Side = side; AnalogConfig = analog; }
public OffsetResult(AnalogConfig.AoutRange range, double avgOffset, int channel) { Offset = avgOffset; Range = range; NominalOffset = AnalogConfig.FindOffset(range); Channel = channel; }
//! \endcond // ------------------- public TouchSteeringWheel() : base() { this.analogConfig = new AnalogConfig(); this.analogConfig.analogDeadZone = 0.3f; this.centerWhenFollowing = false; this.pressBinding = new DigitalBinding(); this.analogTurnBinding = new AxisBinding("Horizontal", false); this.turnLeftBinding = new DigitalBinding(KeyCode.None, true, "Horizontal", true, false); this.turnRightBinding = new DigitalBinding(KeyCode.None, true, "Horizontal", false, false); }
public RangeResult(AnalogConfig.AoutRange range, double min, double max, int channel) { //Save provided values Range = range; Min = min; Max = max; Channel = channel; //Get bounds double nMin, nMax; AnalogConfig.FindRangeBounds(range, out nMin, out nMax); NominalMin = nMin; NominalMax = nMax; //Calculate error ErrorMax = 100 * ((max - nMax) / nMax); ErrorMin = 100 * ((min - nMin) / nMin); }
//! \endcond // ------------------- public TouchSteeringWheel() : base() { this.analogConfig = new AnalogConfig(); this.analogConfig.analogDeadZone = 0.0f; this.touchSmoothing = 0.1f; this.centerOnDirectTouch = false; this.centerWhenFollowing = false; this.wheelMode = WheelMode.Swipe; this.pressBinding = new DigitalBinding(); this.analogTurnBinding = new AxisBinding("Horizontal", false); this.turnLeftBinding = new DigitalBinding(KeyCode.None, true, "Horizontal", true, false); this.turnRightBinding = new DigitalBinding(KeyCode.None, true, "Horizontal", false, false); this.emulateTouchPressure = true; this.touchPressureBinding = new AxisBinding(); }
// ------------------- public void DrawGUI(AnalogConfig target) { EditorGUILayout.BeginVertical(); if (!string.IsNullOrEmpty(this.titleContent.text)) { //EditorGUILayout.LabelField("Fodable: " + this.isFoldable + " Folded:" + this.isFoldedOut); if (this.isFoldable) { InspectorUtils.DrawSectionHeader(this.titleContent, ref this.isFoldedOut); } else { EditorGUILayout.LabelField(this.titleContent, CFEditorStyles.Inst.boldText, GUILayout.ExpandWidth(true), GUILayout.MinWidth(30)); this.isFoldedOut = true; } } else { this.isFoldedOut = true; } if (this.isFoldedOut) { CFGUI.BeginIndentedVertical(CFEditorStyles.Inst.transpSunkenBG); JoystickConfig joyConfig = target as JoystickConfig; if (joyConfig != null) { this.DrawJoystickConfigGUI(joyConfig); } this.DrawAnalogConfigGUI(target); CFGUI.EndIndentedVertical(); } EditorGUILayout.EndVertical(); EditorGUILayout.Space(); }
// ----------------------- protected void DrawAnalogConfigGUI(AnalogConfig target) { float analogDeadZone = target.analogDeadZone, analogEndZone = target.analogEndZone, analogRangeStartValue = target.analogRangeStartValue, digitalEnterThresh = target.digitalEnterThresh, digitalLeaveThresh = target.digitalLeaveThresh; //digitalMagnet = target.digitalMagnetStrength; bool useRamp = target.useRamp; AnimationCurve ramp = target.ramp; CFGUI.MinMaxSlider(new GUIContent("Analog range", "Analog deadzone and end-zone."), ref analogDeadZone, ref analogEndZone, 0, 1, 100); //GUILayout.MinWidth(30)); useRamp = EditorGUILayout.ToggleLeft(new GUIContent("Use Ramp", "Use custom ramp for this joystick."), useRamp, GUILayout.ExpandWidth(true)); if (useRamp) { ramp = EditorGUILayout.CurveField(new GUIContent("Ramp", "Ramp curve."), target.ramp, GUILayout.ExpandWidth(true)); } else { analogRangeStartValue = CFGUI.Slider(new GUIContent("Start Value", "Analog Range Start Value.\n\n" + "If raw analog value is below the Deadzone, returned value equals zero." + " Otherwise, returned value will be interpolated between this value (at analog deadzone) and 1.0 (analog endzone).\n\n" + "Default value is zero."), analogRangeStartValue, 0, 1, 100); } if (this.drawDigitalSection) { CFGUI.MinMaxSlider(new GUIContent("Digital Thresholds", "Max value is the digital \"enter threshold\" and minimal value is the \"Leave Threshold\""), ref digitalLeaveThresh, ref digitalEnterThresh, 0.01f, 0.99f, 100); } if ((useRamp != target.useRamp) || (ramp != target.ramp) || //(circularClamp != target.circularClamp) || (analogDeadZone != target.analogDeadZone) || (analogRangeStartValue != target.analogRangeStartValue) || (analogEndZone != target.analogEndZone) || (digitalEnterThresh != target.digitalEnterThresh) || (digitalLeaveThresh != target.digitalLeaveThresh)) //((joyConfig != null) && (digitalFreeDirChangeZone != joyConfig.digitalFreeDirChangeZone))) //(digitalMagnet != target.digitalMagnetStrength) ) { CFGUI.CreateUndo("Analog Config modification", this.undoObject); target.analogDeadZone = analogDeadZone; target.analogEndZone = analogEndZone; target.analogRangeStartValue = analogRangeStartValue; target.digitalLeaveThresh = digitalLeaveThresh; target.digitalEnterThresh = digitalEnterThresh; //target.digitalMagnetStrength= digitalMagnet; target.useRamp = useRamp; target.ramp = ramp; // if (joyConfig != null) // joyConfig.digitalFreeDirChangeZone = digitalFreeDirChangeZone; CFGUI.EndUndo(this.undoObject); } }