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); }
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); }