This commit is contained in:
ohgushiyuga
2026-08-27 12:51:15 +09:00
parent 1441c96f74
commit 52341100ed
32 changed files with 840 additions and 1076 deletions

View File

@@ -3,55 +3,56 @@ using UnityEngine.InputSystem;
public class InputManagerLR : MonoBehaviour
{
static InputManagerLR instance;
private static InputManagerLR instance;
[SerializeField]
InputActionAsset ActionAsset;
[SerializeField] private InputActionAsset actionAsset;
InputActionMap ActionMap;
InputAction m_PrimaryButtonR;
InputAction m_SecondaryButtonR;
InputAction m_PrimaryButtonL;
InputAction m_SecondaryButtonL;
private InputActionMap actionMap;
private InputAction primaryButtonR;
private InputAction secondaryButtonR;
private InputAction primaryButtonL;
private InputAction secondaryButtonL;
private void Awake()
{
if (instance != null && instance != this)
{
Destroy(gameObject);
return;
}
instance = this;
GameObject.DontDestroyOnLoad(gameObject);
ActionMap = ActionAsset.FindActionMap("Test");
m_PrimaryButtonR = ActionMap.FindAction("XR_PrimaryButtonR", throwIfNotFound: true);
m_PrimaryButtonL = ActionMap.FindAction("XR_PrimaryButtonL", throwIfNotFound: true);
m_SecondaryButtonR = ActionMap.FindAction("XR_SecondaryButtonR", throwIfNotFound: true);
m_SecondaryButtonL = ActionMap.FindAction("XR_SecondaryButtonL", throwIfNotFound: true);
DontDestroyOnLoad(gameObject);
if (actionAsset != null)
{
actionMap = actionAsset.FindActionMap("Test");
if (actionMap != null)
{
primaryButtonR = actionMap.FindAction("XR_PrimaryButtonR", throwIfNotFound: false);
primaryButtonL = actionMap.FindAction("XR_PrimaryButtonL", throwIfNotFound: false);
secondaryButtonR = actionMap.FindAction("XR_SecondaryButtonR", throwIfNotFound: false);
secondaryButtonL = actionMap.FindAction("XR_SecondaryButtonL", throwIfNotFound: false);
}
}
}
private void OnEnable()
{
ActionMap?.Enable();
}
private void OnEnable() => actionMap?.Enable();
private void OnDisable() => actionMap?.Disable();
private void OnDisable()
{
ActionMap?.Disable();
}
public static bool PrimaryButtonR() => instance?.primaryButtonR?.IsPressed() ?? false;
public static bool PrimaryButtonR_OnPress() => instance?.primaryButtonR?.WasPressedThisFrame() ?? false;
public static bool PrimaryButtonR_OnRelease() => instance?.primaryButtonR?.WasReleasedThisFrame() ?? false;
// Aボタン
public static bool PrimaryButtonR() => instance.m_PrimaryButtonR.IsPressed();
public static bool PrimaryButtonR_OnPress() => instance.m_PrimaryButtonR.WasPressedThisFrame();
public static bool PrimaryButtonR_OnRelease() => instance.m_PrimaryButtonR.WasReleasedThisFrame();
public static bool PrimaryButtonL() => instance?.primaryButtonL?.IsPressed() ?? false;
public static bool PrimaryButtonL_OnPress() => instance?.primaryButtonL?.WasPressedThisFrame() ?? false;
public static bool PrimaryButtonL_OnRelease() => instance?.primaryButtonL?.WasReleasedThisFrame() ?? false;
// Xボタン
public static bool PrimaryButtonL() => instance.m_PrimaryButtonL.IsPressed();
public static bool PrimaryButtonL_OnPress() => instance.m_PrimaryButtonL.WasPressedThisFrame();
public static bool PrimaryButtonL_OnRelease() => instance.m_PrimaryButtonL.WasReleasedThisFrame();
public static bool SecondaryButtonR() => instance?.secondaryButtonR?.IsPressed() ?? false;
public static bool SecondaryButtonR_OnPress() => instance?.secondaryButtonR?.WasPressedThisFrame() ?? false;
public static bool SecondaryButtonR_OnRelease() => instance?.secondaryButtonR?.WasReleasedThisFrame() ?? false;
// Bボタン
public static bool SecondaryButtonR() => instance.m_SecondaryButtonR.IsPressed();
public static bool SecondaryButtonR_OnPress() => instance.m_SecondaryButtonR.WasPressedThisFrame();
public static bool SecondaryButtonR_OnRelease() => instance.m_SecondaryButtonR.WasReleasedThisFrame();
// Yボタン
public static bool SecondaryButtonL() => instance.m_SecondaryButtonL.IsPressed();
public static bool SecondaryButtonL_OnPress() => instance.m_SecondaryButtonL.WasPressedThisFrame();
public static bool SecondaryButtonL_OnRelease() => instance.m_SecondaryButtonL.WasReleasedThisFrame();
}
public static bool SecondaryButtonL() => instance?.secondaryButtonL?.IsPressed() ?? false;
public static bool SecondaryButtonL_OnPress() => instance?.secondaryButtonL?.WasPressedThisFrame() ?? false;
public static bool SecondaryButtonL_OnRelease() => instance?.secondaryButtonL?.WasReleasedThisFrame() ?? false;
}