private void CalculateDirection(PlayerInput.Direction newDirection)
    {
        bufferDirectionChange = 0;
        nextDirection         = PlayerInput.Direction.None;
        switch (newDirection)
        {
        case PlayerInput.Direction.Top:
            direction.x = 0;
            direction.z = 1;
            break;

        case PlayerInput.Direction.Right:
            direction.x = 1;
            direction.z = 0;
            break;

        case PlayerInput.Direction.Bottom:
            direction.x = 0;
            direction.z = -1;
            break;

        case PlayerInput.Direction.Left:
            direction.x = -1;
            direction.z = 0;
            break;
        }
        _currentDirection       = newDirection;
        transform.localRotation = Quaternion.LookRotation(direction, Vector3.up);
    }
    // Use this for initialization
    void Start()
    {
        bufferDirectionChange = 0;
        nextDirection         = PlayerInput.Direction.None;

        ChangeDirection(initialDirection);
        _currentDirection = initialDirection;

        rigidbody = GetComponent <Rigidbody>();

        Signals.Get <CharacterCreated>().Dispatch(this);
    }
Пример #3
0
    private void InputValidation(PlayerInput.Direction direction)
    {
        if (isTrafficBan)
        {
            return;
        }

        switch (direction)
        {
        case PlayerInput.Direction.Left:
            _mover.LeftMove(1);
            break;

        case PlayerInput.Direction.Right:
            _mover.RightMove(1);
            break;
        }
    }
Пример #4
0
    private void DirectionPressed(PlayerInput.Direction direction)
    {
        float mult = 0;

        switch (direction)
        {
        case PlayerInput.Direction.LEFT:
            mult = 1;
            break;

        case PlayerInput.Direction.RIGHT:
            mult = -1;
            break;
        }

        float deltaRotation = generalConfig.tubeRotationSpeed * Time.deltaTime * mult;
        float newRotation   = pipeHolder.rotation.eulerAngles.z + deltaRotation;

        SetPipeRotation(Quaternion.Euler(0, 0, newRotation));
    }
    private void ChangeDirection(PlayerInput.Direction newDirection, bool bufferInput)
    {
        if (newDirection == _currentDirection || freezed)
        {
            return;
        }

        if (!CheckCanChange())
        {
            if (bufferInput) // desconsider if this command was called from buffer
            {
                return;
            }

            nextDirection         = newDirection;
            bufferDirectionChange = sizeBufferDirectionChange;

            return;
        }
        CalculateDirection(newDirection);
    }
Пример #6
0
 private void ScreenButtonLeftOnOnHeldDown(PlayerInput.Direction direction)
 {
     SetButtonHelpersVisible(false);
     OnScreenDirectionPressed(direction);
 }
 public void ChangeDirection(PlayerInput.Direction newDirection)
 {
     ChangeDirection(newDirection, false);
 }