/// <summary> 十字ボタンの指定方向が押されているか </summary> private static bool GetArrowDPad(GamePadRawID gpRawID, GPArrow arrow) { Vector2 dpad = GamepadInput.GamePadImpl.GetAxis(GPAxis.Dpad, gpRawID); switch (arrow) { case GPArrow.Left: return(dpad.x <= -1.0f); case GPArrow.Right: return(dpad.x >= 1.0f); case GPArrow.Up: return(dpad.y >= 1.0f); case GPArrow.Down: return(dpad.y <= -1.0f); case GPArrow.Any: return(dpad.x <= -1.0f || dpad.x >= 1.0f || dpad.y >= 1.0f || dpad.y <= -1.0f); default: return(false); } }
public float GetUpF(GPArrow arrow) => System.Convert.ToSingle(GetUp(arrow));
public float GetDownF(GPArrow arrow) => System.Convert.ToSingle(GetDown(arrow));
public abstract bool GetUp(GPArrow arrow);
public abstract bool GetDown(GPArrow arrow);
public override bool GetUp(GPArrow arrow) => Arrows.Any(i => i.Get(arrow));
public override bool GetUp(GPArrow arrow) => UInput.GetKeyUp(Corresponds[arrow]);
public override bool GetDown(GPArrow arrow) => UInput.GetKeyDown(Corresponds[arrow]);
/// <summary> 十字ボタンの指定方向が押されているか </summary> public static bool GetArrowDPad(GamePadID gpID, GPArrow arrow) => GetArrowDPad(gpID.ToRawID(), arrow);
/// <summary> 十字ボタンの指定方向が押されているか </summary> public static bool GetArrowDPad(PlayerID plID, GPArrow arrow) => GetArrowDPad(plID.ToRawID(), arrow);
/// <summary> 十字ボタンの指定方向が押されているか </summary> /// <returns> 押されている:1f, 押されていない:0f </returns> private static float GetArrowKeyAsFloat(GamePadRawID gpRawID, GPArrow arrow) { return(System.Convert.ToSingle(GamepadInput.GamePadImpl.GetArrowKey(arrow, gpRawID))); }
/// <summary> 十字ボタンの指定方向が押されているか </summary> /// <returns> 押されている:1f, 押されていない:0f </returns> private static float GetArrow(GamePadRawID gpRawID, GPArrow arrow) { // true -> 1f / false -> 0f return(System.Convert.ToSingle(GamepadInput.GamePadImpl.GetArrowKey(arrow, gpRawID))); }