コード例 #1
0
            public float GetAxis(AxisMethodName g_input, int g_joystickNumber, JoystickAxis g_axis)
            {
                //check if it use simulator
                if (useSimulator)
                {
                    if (mySimulatorDictionary.ContainsKey(g_joystickNumber))
                    {
                        float t_value = mySimulatorDictionary [g_joystickNumber].GetAxis(g_axis);
                        if (t_value != 0)
                        {
                            return(t_value);
                        }
                    }
                }

                //get the input function
                AxisMethod t_InputFunction;

                if (g_input == AxisMethodName.Normal)
                {
                    t_InputFunction = Input.GetAxis;
                }
                else
                {
                    t_InputFunction = Input.GetAxisRaw;
                }

                //0 -> all; 1-8 -> joystick1-8
                g_joystickNumber = Mathf.Clamp(g_joystickNumber, 0, NUMBER_MAX_JOYSTICK);

                if (g_joystickNumber != 0)
                {
                    JellyJoystickInputLayout t_layout = GetInputLayout(g_joystickNumber);

                    int t_axisNumber = t_layout.GetAxisNumber(g_axis);
                    if (t_axisNumber == 0)
                    {
                        return(0);
                    }

                    int t_axisMultiplier = t_layout.GetAxisMultiplier(g_axis);

                    return(t_InputFunction("Joystick" + g_joystickNumber + "Axis" + t_axisNumber) * t_axisMultiplier);
                }
                else
                {
                    for (int i = 1; i <= NUMBER_MAX_JOYSTICK; i++)
                    {
                        float t_value = GetAxis(g_input, i, g_axis);
                        if (t_value != 0)
                        {
                            return(t_value);
                        }
                    }
                }
                return(0);
            }
コード例 #2
0
    public float GetAxis(AxisMethodName g_input, int g_joystickNumber, JoystickAxis g_axis)
    {
        //check if it use simulator
        if (useSimulator)
        {
            foreach (JellyJoystickSimulator t_simulator in myJellyJoystickSimulators)
            {
                if (t_simulator.myJoystickNumber == g_joystickNumber)
                {
                    foreach (JellyJoystickSimulator.Axis t_axis in t_simulator.myAxes)
                    {
                        if (t_axis.myJoystickAxis == g_axis)
                        {
                            float t_value = t_simulator.GetAxis(t_axis);
                            if (t_value != 0)
                            {
                                return(t_value);
                            }
                            break;
                        }
                    }
                    break;
                }
            }
        }

        //get the input function
        AxisMethod t_InputFunction;

        if (g_input == AxisMethodName.Normal)
        {
            t_InputFunction = Input.GetAxis;
        }
        else
        {
            t_InputFunction = Input.GetAxisRaw;
        }

        //0 -> all; 1-8 -> joystick1-8
        g_joystickNumber = Mathf.Clamp(g_joystickNumber, 0, NUMBER_MAX_JOYSTICK);

        if (g_joystickNumber != 0)
        {
            //get the map type
            MapType t_mapType = myMapTypes [g_joystickNumber - 1];

            if (t_mapType == MapType.PS4)
            {
                if (g_axis == JoystickAxis.LS_X)
                {
                    return(t_InputFunction("Joystick" + g_joystickNumber + "Axis1"));
                }
                if (g_axis == JoystickAxis.LS_Y)
                {
                    return(t_InputFunction("Joystick" + g_joystickNumber + "Axis2") * -1);
                }

                if (g_axis == JoystickAxis.RS_X)
                {
                    return(t_InputFunction("Joystick" + g_joystickNumber + "Axis3"));
                }
                if (g_axis == JoystickAxis.RS_Y)
                {
                    return(t_InputFunction("Joystick" + g_joystickNumber + "Axis4") * -1);
                }

                if (g_axis == JoystickAxis.LT)
                {
                    return(t_InputFunction("Joystick" + g_joystickNumber + "Axis5"));
                }
                if (g_axis == JoystickAxis.RT)
                {
                    return(t_InputFunction("Joystick" + g_joystickNumber + "Axis6"));
                }
            }
            else if (t_mapType == MapType.OSX_XBOX)
            {
                if (g_axis == JoystickAxis.LS_X)
                {
                    return(t_InputFunction("Joystick" + g_joystickNumber + "Axis1"));
                }
                if (g_axis == JoystickAxis.LS_Y)
                {
                    return(t_InputFunction("Joystick" + g_joystickNumber + "Axis2") * -1);
                }

                if (g_axis == JoystickAxis.RS_X)
                {
                    return(t_InputFunction("Joystick" + g_joystickNumber + "Axis3"));
                }
                if (g_axis == JoystickAxis.RS_Y)
                {
                    return(t_InputFunction("Joystick" + g_joystickNumber + "Axis4") * -1);
                }

                if (g_axis == JoystickAxis.LT)
                {
                    return(t_InputFunction("Joystick" + g_joystickNumber + "Axis5"));
                }
                if (g_axis == JoystickAxis.RT)
                {
                    return(t_InputFunction("Joystick" + g_joystickNumber + "Axis6"));
                }
            }
            else if (t_mapType == MapType.WIN_XBOX)
            {
                if (g_axis == JoystickAxis.LS_X)
                {
                    return(t_InputFunction("Joystick" + g_joystickNumber + "Axis1"));
                }
                if (g_axis == JoystickAxis.LS_Y)
                {
                    return(t_InputFunction("Joystick" + g_joystickNumber + "Axis2") * -1);
                }

                if (g_axis == JoystickAxis.RS_X)
                {
                    return(t_InputFunction("Joystick" + g_joystickNumber + "Axis4"));
                }
                if (g_axis == JoystickAxis.RS_Y)
                {
                    return(t_InputFunction("Joystick" + g_joystickNumber + "Axis5") * -1);
                }

                if (g_axis == JoystickAxis.LT)
                {
                    return(t_InputFunction("Joystick" + g_joystickNumber + "Axis9"));
                }
                if (g_axis == JoystickAxis.RT)
                {
                    return(t_InputFunction("Joystick" + g_joystickNumber + "Axis10"));
                }
            }
            else if (t_mapType == MapType.PS3)
            {
                if (g_axis == JoystickAxis.LS_X)
                {
                    return(t_InputFunction("Joystick" + g_joystickNumber + "Axis2"));
                }
                if (g_axis == JoystickAxis.LS_Y)
                {
                    return(t_InputFunction("Joystick" + g_joystickNumber + "Axis1") * -1);
                }

                if (g_axis == JoystickAxis.RS_X)
                {
                    return(t_InputFunction("Joystick" + g_joystickNumber + "Axis3"));
                }
                if (g_axis == JoystickAxis.RS_Y)
                {
                    return(t_InputFunction("Joystick" + g_joystickNumber + "Axis5") * -1);
                }
            }
        }
        else
        {
            for (int i = 1; i <= NUMBER_MAX_JOYSTICK; i++)
            {
                float t_value = GetAxis(g_input, i, g_axis);
                if (t_value != 0)
                {
                    return(t_value);
                }
            }
        }
        return(0);
    }