Example #1
0
        public void PushTouchesEventMsg(Vector3 cursorInfo, bool bDrag, MouseEvent.E_Buttons mouseevent,
                                        bool move = false)
        {
            MouseEvent mouseEvent = MouseEvent.None;

            if (move)
            {
                mouseEvent = m_mouseTranslator.MouseMove(mouseevent, cursorInfo);
            }
            else
            {
                if (bDrag)
                {
                    mouseEvent = m_mouseTranslator.MouseDown(mouseevent, cursorInfo);
                }
                else
                {
                    mouseEvent = m_mouseTranslator.MouseUp(mouseevent, cursorInfo);
                }
            }

            if (CallBackMouseEvent != null && mouseEvent != MouseEvent.None)
            {
                CallBackMouseEvent(mouseEvent);
            }
        }
        public MouseEvent MouseUp(MouseEvent.E_Buttons e, Vector2 currentpos)
        {
            MouseEvent.MouseInfo mouseInfo = new MouseEvent.MouseInfo(false, false, currentpos);
            InheritButtonStatesFromPreviousMouseEvent(ref mouseInfo);

            if (e == MouseEvent.E_Buttons.Left)
            {
                mouseInfo.leftButton = false;
                MouseEvent mouseEvent = new MouseEvent(MouseEvent.E_EventState.LUp, mouseInfo,
                                                       m_previousEvent.Info.position);
                m_previousEvent = mouseEvent;
                return(mouseEvent);
            }
            else if (e == MouseEvent.E_Buttons.Middle)
            {
                mouseInfo.middleButton = false;
                MouseEvent mouseEvent = new MouseEvent(MouseEvent.E_EventState.MUp, mouseInfo,
                                                       m_previousEvent.Info.position);
                m_previousEvent = mouseEvent;
                return(mouseEvent);
            }
            else if (e == MouseEvent.E_Buttons.Right)
            {
                mouseInfo.rightButton = false;
                MouseEvent mouseEvent = new MouseEvent(MouseEvent.E_EventState.RUp, mouseInfo,
                                                       m_previousEvent.Info.position);
                m_previousEvent = mouseEvent;
                return(mouseEvent);
            }

            return(MouseEvent.None);
        }
        public MouseEvent MouseMove(MouseEvent.E_Buttons e, Vector2 currentpos)
        {
            MouseEvent.MouseInfo mouseInfo = new MouseEvent.MouseInfo(false, false, currentpos);
            InheritButtonStatesFromPreviousMouseEvent(ref mouseInfo);

            MouseEvent mouseEvent = new MouseEvent(MouseEvent.E_EventState.Move, mouseInfo,
                                                   m_previousEvent.Info.position);

            m_previousEvent = mouseEvent;
            return(mouseEvent);
        }
Example #4
0
        private void MouseUpdate()
        {
            if (EditMouseUpdate == false)
            {
                return;
            }

            float scroll = UInput.GetAxis("Mouse ScrollWheel");

            if (scroll != 0.0f)
            {
                Vector2 mousePos   = UInput.mousePosition;
                Rect    gameScreen = new Rect(0.0f, 0.0f, Screen.width, Screen.height);
                if (gameScreen.Contains(mousePos))
                {
                    MouseEvent mouseEvent = m_mouseTranslator.MouseWheel(mousePos, -scroll);
                    if (CallBackMouseEvent != null && mouseEvent != MouseEvent.None)
                    {
                        CallBackMouseEvent(mouseEvent);
                    }
                }
            }

            bool updateRaycast = false;

            for (int i = 0; i < 3; ++i)
            {
                if (UInput.GetMouseButton(i) || UInput.GetMouseButtonUp(i) || m_mouseDown)
                {
                    updateRaycast = true;
                    break;
                }
            }

            Vector3 mouseposition;

            if (updateRaycast)
            {
                mouseposition = UInput.mousePosition;
            }
            else
            {
                return;
            }

            MouseEvent.E_Buttons eventbutton = MouseEvent.E_Buttons.Left;
            for (int i = 0; i < 3; ++i)
            {
                bool pressed   = UInput.GetMouseButtonDown(i);
                bool unpressed = UInput.GetMouseButtonUp(i);
                //bool pressing = Input.GetMouseButton(i);

                //E_MOUSE_EVENT dowingEvent = E_MOUSE_EVENT.LDOWNING;


                if (i == 0)
                {
                    eventbutton = MouseEvent.E_Buttons.Left;
                    //dowingEvent = E_MOUSE_EVENT.LDOWNING;
                }
                else if (i == 1)
                {
                    eventbutton = MouseEvent.E_Buttons.Right;
                    //dowingEvent = E_MOUSE_EVENT.RDOWNING;
                }
                else if (i == 2)
                {
                    eventbutton = MouseEvent.E_Buttons.Middle;
                    //dowingEvent = E_MOUSE_EVENT.MDOWNING;
                }


                if (pressed)
                {
                    PushTouchesEventMsg(mouseposition, true, eventbutton);
                    m_mouseDown = true;
                }

                if (unpressed)
                {
                    PushTouchesEventMsg(mouseposition, false, eventbutton);
                    m_mouseDown = false;
                }
            }


            bool Moved = UInput.GetAxis("Mouse X") != 0.0f || UInput.GetAxis("Mouse Y") != 0.0f;

            if (Moved)
            {
                PushTouchesEventMsg(mouseposition, false, eventbutton, true);
            }
        }