Unity Mouse Input на Linux не работает с новой системой ввода в редакторе - PullRequest
0 голосов
/ 25 февраля 2020

Когда я блокирую мышь в моем скрипте C# и пытаюсь получить доступ к значению прокрутки (в моем случае scroll.y), я всегда получаю 0. Когда я нажимаю esc и разблокирую мышь, значение отображается правильно ( -1 или 1) когда я использую колесо. Это также работает, если я собираю игру.

Я создал InputData для управления своим вводом:

using UnityEngine;
using UnityEngine.InputSystem;

[CreateAssetMenu]
public class InputData : ScriptableObject
{

    public InputAction MovementAction;
    public InputAction LookAction;
    public InputAction ScrollAction;

    private void OnEnable()
    {
        MovementAction.Enable();
        LookAction.Enable();
        ScrollAction.Enable();
    }

    private void OnDisable()
    {
        MovementAction.Disable();
        LookAction.Disable();
        ScrollAction.Disable();
    }
}

В этом скрипте я получаю дельту прокрутки:

using UnityEngine;

public class weaponSwitching : MonoBehaviour
{

    private int selectedWeapon = 0;

    public InputData actions;

    private float prevVal = 0;

    void Start()
    {
        SelectWeapon();
    }

    void Update()
    {
        Vector2 scroll = actions.ScrollAction.ReadValue<Vector2>();
        Debug.Log(scroll.y);
        if (scroll.y > 0f)
        {
            selectedWeapon++;
            SelectWeapon();
        }
        else if (scroll.y < 0f)
        {

        }
    }

Спасибо за любую помощь! :)

...