public static Vector3 GetJoystickPosition(JoystickRelativeDirect direct, Vector3 basePosition) { switch (direct) { case JoystickRelativeDirect.Direct_Left: return(basePosition + new Vector3(-JoystickRelativePosition.x, 0, 0)); case JoystickRelativeDirect.Direct_LeftUp: return(basePosition + new Vector3(-JoystickRelativePosition.x, JoystickRelativePosition.y, 0)); case JoystickRelativeDirect.Direct_Up: return(basePosition + new Vector3(0, JoystickRelativePosition.y, 0)); case JoystickRelativeDirect.Direct_UpRight: return(basePosition + new Vector3(JoystickRelativePosition.x, JoystickRelativePosition.y, 0)); case JoystickRelativeDirect.Direct_Right: return(basePosition + new Vector3(JoystickRelativePosition.x, 0, 0)); case JoystickRelativeDirect.Direct_RightDown: return(basePosition + new Vector3(JoystickRelativePosition.x, -JoystickRelativePosition.y, 0)); case JoystickRelativeDirect.Direct_Down: return(basePosition + new Vector3(0, -JoystickRelativePosition.y, 0)); case JoystickRelativeDirect.Direct_DownLeft: return(basePosition + new Vector3(-JoystickRelativePosition.x, -JoystickRelativePosition.y, 0)); default: return(basePosition); } }
public static Vector3 GetJoystickPosition(Vector3 basePosition) { JoystickRelativeDirect direct = JoystickRelativeDirect.Direct_Left; if (InputDevice.ButtonPressLeft) { if (InputDevice.ButtonPressUp) { direct = JoystickRelativeDirect.Direct_LeftUp; } else if (InputDevice.ButtonPressDown) { direct = JoystickRelativeDirect.Direct_DownLeft; } else { direct = JoystickRelativeDirect.Direct_Left; } } else if (InputDevice.ButtonPressUp) { if (InputDevice.ButtonPressLeft) { direct = JoystickRelativeDirect.Direct_LeftUp; } else if (InputDevice.ButtonPressRight) { direct = JoystickRelativeDirect.Direct_UpRight; } else { direct = JoystickRelativeDirect.Direct_Up; } } else if (InputDevice.ButtonPressRight) { if (InputDevice.ButtonPressUp) { direct = JoystickRelativeDirect.Direct_UpRight; } else if (InputDevice.ButtonPressDown) { direct = JoystickRelativeDirect.Direct_RightDown; } else { direct = JoystickRelativeDirect.Direct_Right; } } else if (InputDevice.ButtonPressDown) { if (InputDevice.ButtonPressRight) { direct = JoystickRelativeDirect.Direct_RightDown; } else if (InputDevice.ButtonPressLeft) { direct = JoystickRelativeDirect.Direct_DownLeft; } else { direct = JoystickRelativeDirect.Direct_Down; } } return(GetJoystickPosition(direct, basePosition)); }