示例#1
0
    private void UpdateForGamepadManager()
    {
        _state = GamepadManager.Instance.GetAssignedGamepad(0);

        if (!_state.IsConnected())
        {
            return;
        }

        float h = GamepadInput.GetAxis("Horizontal", _state.Type, _state.Id);
        float v = GamepadInput.GetAxis("Vertical", _state.Type, _state.Id);

        _player.SetMoveValue(h, v);

        if (GamepadInput.GetButtonDown("Fire1", _state.Type, _state.Id))
        {
            _player.SetRunValue(true);
        }

        if (GamepadInput.GetButtonUp("Fire1", _state.Type, _state.Id))
        {
            _player.SetRunValue(true);
        }

        switch (currentShootType)
        {
        case ShootType.WithButtons:


            if (GamepadInput.GetButtonDown("Fire4", _state.Type, _state.Id))
            {
                _player.InitShootAttack();
            }

            if (GamepadInput.GetButton("Fire4", _state.Type, _state.Id))
            {
                _player.UpdateShootAttack();
            }

            if (GamepadInput.GetButtonUp("Fire4", _state.Type, _state.Id))
            {
                _player.FinalizeShootAttack();
            }
            break;
        }
    }
    private void UpdateForGamepadManager()
    {
        _state = GamepadManager.Instance.GetAssignedGamepad(0);

        if (!_state.IsConnected())
        {
            return;
        }

        float h = GamepadInput.GetAxis("Horizontal", _state.Type, _state.Id);
        float v = GamepadInput.GetAxis("Vertical", _state.Type, _state.Id);

        _player.SetMoveValue(h, v);

        float lt = GamepadInput.GetAxis("LeftTrigger", _state.Type, _state.Id);

        if (lt > 0f && _prevLT == 0f)  // LT Down
        {
            _player.SetRunValue(true);
        }
        else if (lt == 0f && _prevLT > 0f) // LT Up
        {
            _player.SetRunValue(false);
        }
        _prevLT = lt;

        switch (currentShootType)
        {
        case ShootType.WithTriggers:
            float rt = GamepadInput.GetAxis("RightTrigger", _state.Type, _state.Id);
            if (rt > 0f && _prevRT == 0f)      // RT Down
            {
                _player.InstantShootAttack();
            }
            else if (rt > 0f && _prevRT > 0f)     // RT Stay
            {
                _player.InstantShootAttack();
            }
            _prevRT = rt;

            if (GamepadInput.GetButtonDown("Fire6", _state.Type, _state.Id))
            {
                _player.InitShootAttack();
            }

            if (GamepadInput.GetButton("Fire6", _state.Type, _state.Id))
            {
                _player.UpdateShootAttack();
            }

            if (GamepadInput.GetButtonUp("Fire6", _state.Type, _state.Id))
            {
                _player.FinalizeShootAttack();
            }
            break;

        case ShootType.WithStick:
            float ah = GamepadInput.GetAxis("AltHorizontal", _state.Type, _state.Id);
            float av = GamepadInput.GetAxis("AltVertical", _state.Type, _state.Id);
            _player.InstantShootAttack(ah, av);
            break;
        }
    }