Example #1
0
        void DoCheckPointer()
        {
            bool isOver = false;

            if (pointerId.IsNone)
            {
                isOver = EventSystem.current.IsPointerOverGameObject();
            }
            else
            {
                if (EventSystem.current.currentInputModule is PointerInputModule)
                {
                    PointerInputModule _module = EventSystem.current.currentInputModule as PointerInputModule;
                    isOver = _module.IsPointerOverGameObject(pointerId.Value);
                }
            }

            isPointerOverUI.Value = isOver;

            if (isOver)
            {
                Fsm.Event(pointerOverUI);
            }
            else
            {
                Fsm.Event(pointerNotOverUI);
            }
        }
        protected override PointerInputModule.MouseState GetMousePointerEventData(int id)
        {
            PointerEventData pointerEventData;
            var pointerData = GetPointerData(-1, out pointerEventData, true);

            pointerEventData.Reset();
            if (pointerData)
            {
                pointerEventData.position = Input.mousePosition;
            }
            Vector2 vector = Input.mousePosition;

            if (Cursor.lockState == CursorLockMode.Locked)
            {
                pointerEventData.position = -Vector2.one;
                pointerEventData.delta    = Vector2.zero;
            }
            else
            {
                pointerEventData.delta    = vector - pointerEventData.position;
                pointerEventData.position = vector;
            }
            pointerEventData.scrollDelta = Input.mouseScrollDelta;
            pointerEventData.button      = PointerEventData.InputButton.Left;
            base.eventSystem.RaycastAll(pointerEventData, m_RaycastResultCache);
            RaycastResult pointerCurrentRaycast = BaseInputModule.FindFirstRaycast(m_RaycastResultCache);

            pointerEventData.pointerCurrentRaycast = pointerCurrentRaycast;
            m_RaycastResultCache.Clear();

            _mouseState.SetButtonState(PointerEventData.InputButton.Left, PointerInputModule.StateForMouseButton(0), pointerEventData);

            if (_useRightMouseButton)
            {
                PointerEventData pointerEventData2;
                GetPointerData(-2, out pointerEventData2, true);
                CopyFromTo(pointerEventData, pointerEventData2);
                pointerEventData2.button = PointerEventData.InputButton.Right;
                _mouseState.SetButtonState(PointerEventData.InputButton.Right, PointerInputModule.StateForMouseButton(1), pointerEventData2);
            }
            if (_useMiddleMouseButton)
            {
                PointerEventData pointerEventData3;
                GetPointerData(-3, out pointerEventData3, true);
                CopyFromTo(pointerEventData, pointerEventData3);
                pointerEventData3.button = PointerEventData.InputButton.Middle;
                _mouseState.SetButtonState(PointerEventData.InputButton.Middle, PointerInputModule.StateForMouseButton(2), pointerEventData3);
            }
            return(_mouseState);
        }
Example #3
0
    void UpdateState(bool enabled)
    {
        // First re-enable all systems
        for (int i = 0; i < disabled.Count; i++)
        {
            if (disabled[i])
            {
                disabled[i].enabled = true;
            }
        }

        disabled.Clear();

        EventSystem es = EventSystem.current;

        if (es == null)
        {
            return;
        }

        es.sendNavigationEvents = enabled;

        if (!enabled)
        {
            // Find all PointerInputModules and disable them
            PointerInputModule[] pointerInput = es.GetComponents <PointerInputModule>();
            if (pointerInput != null)
            {
                for (int i = 0; i < pointerInput.Length; i++)
                {
                    PointerInputModule pim = pointerInput[i];
                    if (pim.enabled)
                    {
                        pim.enabled = false;
                        // Keep a list of disabled ones
                        disabled.Add(pim);
                    }
                }
            }

            // Cause EventSystem to update it's list of modules
            es.enabled = false;
            es.enabled = true;
        }
    }
Example #4
0
    public static int IsPointerOverGameObject(IntPtr l)
    {
        int result;

        try
        {
            PointerInputModule pointerInputModule = (PointerInputModule)LuaObject.checkSelf(l);
            int pointerId;
            LuaObject.checkType(l, 2, out pointerId);
            bool b = pointerInputModule.IsPointerOverGameObject(pointerId);
            LuaObject.pushValue(l, true);
            LuaObject.pushValue(l, b);
            result = 2;
        }
        catch (Exception e)
        {
            result = LuaObject.error(l, e);
        }
        return(result);
    }
 public static ReadOnlyPointerInputModule AsReadOnly(this PointerInputModule self) => self.IsTrulyNull() ? null : new ReadOnlyPointerInputModule(self);