Unity New Input System, не может включить элементы управления после их отключения - PullRequest
1 голос
/ 23 апреля 2019

Я пробую новую систему ввода Unity , и пока она отлично работает. Тем не менее, я столкнулся с небольшой загадкой. Я хочу реализовать систему «паузы». Когда игра поставлена ​​на паузу, управление игроком должно быть отключено. И когда игра возобновится, управление игроками должно вернуться в рабочее состояние. Эта половина работает. Я успешно отключаю элементы управления игрока, когда игра приостановлена, но когда игра возобновляется, элементы управления все еще не работают.

Часть класса, ответственная за движение:

public class ShapeMover : MonoBehaviour
{
    public InputManager controls;

    private       float        _lastFallTime;
    private       float        _fallSpeed;
    private       ShapeSpawner _spawn;
    private       GameObject   _shapeToMove;
    private       Transform    _shapeToMoveTransform;
    private       bool         _isGameOver;
    private const float        _leftRotationAngle  = (float) -1.57079633;
    private const float        _rightRotationAngle = (float) 1.57079633;


    private void Awake()
    {
        _spawn        = FindObjectOfType<ShapeSpawner>();
        _lastFallTime = 0f;
        _fallSpeed    = GameGrid.Instance.GetFallSpeed();
        _isGameOver   = false;

        controls.Player.Movement.performed += ctx => Movement(ctx.ReadValue<Vector2>());
        controls.Player.Drop.performed     += ctx => Drop();
        controls.Menu.Reset.performed      += ctx => Restart();
        controls.Menu.Pause.performed      += ctx => PauseToggle();

        SetShapeToMove();
    }

Функция паузы в том же классе:

private void PauseToggle()
{
    var currentPauseState = GameGrid.Instance.IsPaused;
    //If not paused, will pause
    if (!currentPauseState)
    {
        controls.Player.Disable();
        GameGrid.Instance.IsPaused = true;
    }
    else
    {
        controls.Player.Enable();
        GameGrid.Instance.IsPaused = false;
    }
}

Я что-то не так делаю? Как мне добиться желаемого поведения?

1 Ответ

0 голосов
/ 06 мая 2019

Кажется, проблема решена в новой версии Системы ввода. Для решения проблемы необходимо обновить систему ввода до 0.2.8 +

При обновлении можно столкнуться с этой проблемой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...