示例#1
0
 /// <summary>
 /// 处理道具选择
 /// </summary>
 /// <param name="callback">热键参数</param>
 private void OnItemAxisStateChanged(HotkeyCallback callback)
 {
     if (InputManager.Instance.CurrentInputDevice != InputManager.GameInputDevice.KeyboardAndMouse)
     {
         SetSelection(callback.ReadValue <Vector2>());
     }
     else
     {
         m_MouseVector = m_MouseVector + callback.ReadValue <Vector2>();
         SetSelection(m_MouseVector);
     }
 }
示例#2
0
    /// <summary>
    /// 飞船移动时
    /// </summary>
    /// <param name="info">热键状态</param>
    private void OnShipMove(HotkeyCallback info)
    {
        Vector2 dir = info.ReadValue <Vector2>();

        m_XOffset = dir.x;
        m_ZOffset = dir.y;
    }
示例#3
0
    public void OnMoveStick(HotkeyCallback obj)
    {
        var vector = obj.ReadValue <Vector2>();
        var engine = m_EngineAxis;

        m_EngineAxis   = GetDirection(vector);
        m_EngineAxis.y = engine.y;
    }
示例#4
0
    /// <summary>
    /// 手表输入方向改变时
    /// </summary>
    /// <param name="callback">热键状态</param>
    private void OnWatchDirectionStateChanged(HotkeyCallback callback)
    {
        Vector2 dir = callback.ReadValue <Vector2>();

        if (dir.x != 0 || dir.y != 0)
        {
            SetSelection(dir);
        }
    }
示例#5
0
 private void OnCameraStick(HotkeyCallback callbackContext)
 {
     m_CameraVector = callbackContext.ReadValue <Vector2>();
     if (callbackContext.control.name == "delta")
     {
         m_CameraVector *= 0.1f;
     }
     m_CameraVector.y *= -1;
 }
示例#6
0
 /// <summary>
 /// 右摇杆输入时
 /// </summary>
 /// <param name="callback"></param>
 private void OnRightStickChanged(HotkeyCallback callback)
 {
     if (m_ScrollControllers.Count > 0)
     {
         Vector2 axis = callback.ReadValue <Vector2>();
         foreach (ScrollController controller in m_ScrollControllers)
         {
             controller.Target.verticalNormalizedPosition += axis.y * controller.ScrollerMulti;
         }
     }
 }
示例#7
0
 /// <summary>
 /// 手表输入轴状态改变时
 /// </summary>
 /// <param name="callback">热键状态</param>
 private void OnWatchAxisStateChanged(HotkeyCallback callback)
 {
     if (m_WatchKeyHolding && m_LookAtState == TimeLineState.OPENED)
     {
         if (InputManager.Instance.CurrentInputDevice != InputManager.GameInputDevice.KeyboardAndMouse)
         {
             Vector2 v2 = callback.ReadValue <Vector2>();
             if (v2.x != 0 && v2.y != 0)
             {
                 SetSelection(v2);
             }
         }
         else
         {
             m_WatchMouseAxis = m_WatchMouseAxis + callback.ReadValue <Vector2>();
             if (m_WatchMouseAxis.magnitude > 10)
             {
                 SetSelection(m_WatchMouseAxis);
             }
         }
     }
 }
示例#8
0
    private void JoyStick(HotkeyCallback obj)
    {
        var vector = obj.ReadValue <Vector2>();

        if (Mathf.Abs(vector.x) < 0.1f)
        {
            vector.x = 0f;
        }
        if (Mathf.Abs(vector.y) < 0.1f)
        {
            vector.y = 0f;
        }

        m_EngineAxis.x = vector.x;
        m_EngineAxis.z = vector.y;

        //Debug.LogErrorFormat($"JoyStick vectorX:{vector.x} vectorY:{vector.y}");
    }
示例#9
0
    public void OnCameraStick(HotkeyCallback callbackContext)
    {
        switch (m_SpacecraftInputProperty.GetMotionType())
        {
        case MotionType.Mmo:
        {
            m_MouseStick = callbackContext.ReadValue <Vector2>();

            if (callbackContext.control.name == "delta")
            {
                m_MouseStick *= 0.05f;
            }
            m_MouseStick.y *= -1;

            //摇杆死区
            if (Mathf.Abs(m_MouseStick.x) < 0.1f)
            {
                m_MouseStick.x = 0;
            }

            if (Mathf.Abs(m_MouseStick.y) < 0.1f)
            {
                m_MouseStick.y = 0;
            }
        }
        break;

        case MotionType.Dof4:
        {
            if (m_SpacecraftInputProperty.IsLeap())
            {
                return;
            }
            m_MouseStick = callbackContext.ReadValue <Vector2>();
            if (callbackContext.control.name == "delta")
            {
                m_SpacecraftInputProperty.SetIsRightStick(false);
                if (m_MouseStick.sqrMagnitude < 0.01)
                {
                    m_SpacecraftInputProperty.SetMouseDelta(Vector3.zero);
                    return;
                }
                Set4DofCameraRot();
            }
            else if (callbackContext.control.name == "rightStick")
            {
                m_SpacecraftInputProperty.SetIsRightStick(true);
            }
        }
        break;

        case MotionType.Dof6:
        {
            m_MouseStick6 = callbackContext.ReadValue <Vector2>();
            if (callbackContext.control.name == "delta")
            {
                m_SpacecraftInputProperty.SetIsRightStick(false);
                Set6DofCameraRot();
            }
            else if (callbackContext.control.name == "rightStick")
            {
                m_SpacecraftInputProperty.SetIsRightStick(true);
            }
        }
        break;

        default:
            break;
        }
    }
示例#10
0
 /// <summary>
 /// 响应右摇杆
 /// </summary>
 /// <param name="callback"></param>
 private void UpdateScroll(HotkeyCallback callback)
 {
     m_RightStickValue = callback.ReadValue <Vector2>().y;
 }