UnityEngine.EventSystems.PointerInputModule.StateForMouseButton C# (CSharp) Method

StateForMouseButton() protected method

Given a mouse button return the current state for the frame.

protected StateForMouseButton ( int buttonId ) : PointerEventData.FramePressState
buttonId int Mouse Button id.
return PointerEventData.FramePressState
        protected PointerEventData.FramePressState StateForMouseButton(int buttonId)
        {
            bool mouseButtonDown = base.input.GetMouseButtonDown(buttonId);
            bool mouseButtonUp = base.input.GetMouseButtonUp(buttonId);
            if (mouseButtonDown && mouseButtonUp)
            {
                return PointerEventData.FramePressState.PressedAndReleased;
            }
            if (mouseButtonDown)
            {
                return PointerEventData.FramePressState.Pressed;
            }
            if (mouseButtonUp)
            {
                return PointerEventData.FramePressState.Released;
            }
            return PointerEventData.FramePressState.NotChanged;
        }

Usage Example

コード例 #1
0
        /// <summary>
        ///
        /// <para>
        /// Return the current MouseState.
        /// </para>
        ///
        /// </summary>
        /// <param name="id"/>
        protected virtual PointerInputModule.MouseState GetMousePointerEventData(int id)
        {
            PointerEventData data1;
            bool             pointerData = this.GetPointerData(-1, out data1, true);

            data1.Reset();
            if (pointerData)
            {
                data1.position = (Vector2)Input.mousePosition;
            }
            Vector2 vector2 = (Vector2)Input.mousePosition;

            data1.delta       = vector2 - data1.position;
            data1.position    = vector2;
            data1.scrollDelta = Input.mouseScrollDelta;
            data1.button      = PointerEventData.InputButton.Left;
            this.eventSystem.RaycastAll(data1, this.m_RaycastResultCache);
            RaycastResult firstRaycast = BaseInputModule.FindFirstRaycast(this.m_RaycastResultCache);

            data1.pointerCurrentRaycast = firstRaycast;
            this.m_RaycastResultCache.Clear();
            PointerEventData data2;

            this.GetPointerData(-2, out data2, true);
            this.CopyFromTo(data1, data2);
            data2.button = PointerEventData.InputButton.Right;
            PointerEventData data3;

            this.GetPointerData(-3, out data3, true);
            this.CopyFromTo(data1, data3);
            data3.button = PointerEventData.InputButton.Middle;
            this.m_MouseState.SetButtonState(PointerEventData.InputButton.Left, PointerInputModule.StateForMouseButton(0), data1);
            this.m_MouseState.SetButtonState(PointerEventData.InputButton.Right, PointerInputModule.StateForMouseButton(1), data2);
            this.m_MouseState.SetButtonState(PointerEventData.InputButton.Middle, PointerInputModule.StateForMouseButton(2), data3);
            return(this.m_MouseState);
        }