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); }
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); } }