public GamepadHelperEventArgs(int x, int y, GamepadThumbs side, AnalogConfig analog)
 {
     XPosition    = x;
     YPosition    = y;
     Side         = side;
     AnalogConfig = analog;
 }
Esempio n. 2
0
 public OffsetResult(AnalogConfig.AoutRange range, double avgOffset, int channel)
 {
     Offset = avgOffset;
     Range = range;
     NominalOffset = AnalogConfig.FindOffset(range);
     Channel = channel;
 }
Esempio n. 3
0
//! \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);
        }
Esempio n. 4
0
        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);
        }
Esempio n. 5
0
//! \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();
        }
Esempio n. 6
0
        // -------------------
        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();
        }
Esempio n. 7
0
        // -----------------------
        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);
            }
        }