private void onMouseUp(InputEventMouse e) { if (m_MouseIsDragging) { addEvent(new InputEventMouse(MouseEvent.DragEnd, e)); m_MouseIsDragging = false; } else { if (!DistanceBetweenPoints(m_LastMouseDown.Position, e.Position, MouseClickMaxDelta)) { addEvent(new InputEventMouse(MouseEvent.Click, e)); if ((m_TheTime - m_LastMouseClickTime <= Settings.UserInterface.Mouse.DoubleClickMS) && !DistanceBetweenPoints(m_LastMouseClick.Position, e.Position, MouseClickMaxDelta)) { m_LastMouseClickTime = 0f; addEvent(new InputEventMouse(MouseEvent.DoubleClick, e)); } else { m_LastMouseClickTime = m_TheTime; m_LastMouseClick = e; } } } addEvent(new InputEventMouse(MouseEvent.Up, e)); m_LastMouseDown = null; }
public InputEventMouse(MouseEvent eventType, InputEventMouse parent) : base(parent) { EventType = eventType; m_Buttons = parent.m_Buttons; m_Clicks = parent.m_Clicks; X = parent.X; Y = parent.Y; m_MouseData = parent.m_MouseData; }
public InputEventMouse(MouseEvent eventType, InputEventMouse parent) : base(parent) { m_eventType = eventType; m_button = parent.m_button; m_clicks = parent.m_clicks; m_x = parent.m_x; m_y = parent.m_y; m_mouseData = parent.m_mouseData; }
private void onMouseMove(InputEventMouse e) { addEvent(new InputEventMouse(MouseEvent.Move, e)); if (!m_MouseIsDragging && m_LastMouseDown != null) { if (DistanceBetweenPoints(m_LastMouseDown.Position, e.Position, MouseDragBeginDistance)) { addEvent(new InputEventMouse(MouseEvent.DragBegin, e)); m_MouseIsDragging = true; } } }
public bool HandleMouseEvent(MouseEvent type, MouseButton mb) { foreach (InputEvent e in m_EventsThisFrame) { if (!e.Handled && e is InputEventMouse) { InputEventMouse em = (InputEventMouse)e; if (em.EventType == type && em.Button == mb) { e.Handled = true; return(true); } } } return(false); }
/// <summary> /// Raises the MouseWheel event. Override this method to add code to handle when a mouse wheel is turned /// </summary> /// <param name="e">InputEventCM for the MouseWheel event</param> private void invokeMouseWheel(InputEventMouse e) { if (MouseWheel != null) MouseWheel(e); }
private void ClearQueuedClick() { m_QueuedEvent_InQueue = false; m_QueuedEvent = null; m_QueuedEntity = null; }
private void onMouseDown(InputEventMouse e) { m_LastMouseDown = e; m_LastMouseDownTime = m_TheTime; addEvent(m_LastMouseDown); }
private void onMouseWheel(InputEventMouse e) { addEvent(e); }
private void onMouseUp(InputEventMouse e) { if(m_MouseIsDragging) { addEvent(new InputEventMouse(MouseEvent.DragEnd, e)); m_MouseIsDragging = false; } else { if(!DistanceBetweenPoints(m_LastMouseDown.Position, e.Position, MouseClickMaxDelta)) { addEvent(new InputEventMouse(MouseEvent.Click, e)); if((m_TheTime - m_LastMouseClickTime <= Settings.World.Mouse.DoubleClickMS) && !DistanceBetweenPoints(m_LastMouseClick.Position, e.Position, MouseClickMaxDelta)) { m_LastMouseClickTime = 0f; addEvent(new InputEventMouse(MouseEvent.DoubleClick, e)); } else { m_LastMouseClickTime = m_TheTime; m_LastMouseClick = e; } } } addEvent(new InputEventMouse(MouseEvent.Up, e)); m_LastMouseDown = null; }
/// <summary> /// Raises the MouseUp event. Override this method to add code to handle when a mouse button is released /// </summary> /// <param name="e">InputEventCM for the MouseUp event</param> private void invokeMouseUp(InputEventMouse e) { MouseUp?.Invoke(e); }
/// <summary> /// Raises the MouseDown event. Override this method to add code to handle when a mouse button is pressed /// </summary> /// <param name="e">InputEventCM for the MouseDown event</param> private void invokeMouseDown(InputEventMouse e) { MouseDown?.Invoke(e); }
private void InternalQueueSingleClick(InputEventMouse e, AEntity overEntity, Vector2 overEntityPoint) { m_QueuedEvent_InQueue = true; m_QueuedEntity = overEntity; m_QueuedEntityPosition = overEntityPoint; m_QueuedEvent_DequeueAt = Settings.UserInterface.Mouse.DoubleClickMS; m_QueuedEvent = e; }
void OnMouseDown(InputEventMouse e) { m_LastMouseDown = e; m_LastMouseDownTime = m_TheTime; AddEvent(m_LastMouseDown); }
private void onMoveButton(InputEventMouse e) { if(e.EventType == MouseEvent.Down) { // keep moving as long as the move button is down. ContinuousMouseMovementCheck = true; } else if(e.EventType == MouseEvent.Up) { // If the movement mouse button has been released, stop moving. ContinuousMouseMovementCheck = false; } e.Handled = true; }
private void onInteractButton(InputEventMouse e, AEntity overEntity, Vector2 overEntityPoint) { if(e.EventType == MouseEvent.Down) { // prepare to pick this item up. m_DraggingEntity = overEntity; m_dragOffset = overEntityPoint; } else if(e.EventType == MouseEvent.Click) { if(overEntity is Ground) { // no action. } else if(overEntity is StaticItem) { // pop up name of item. overEntity.AddOverhead(MessageTypes.Label, overEntity.Name, 3, 0, false); WorldModel.Statics.AddStaticThatNeedsUpdating(overEntity as StaticItem); } else if(overEntity is Item) { // request context menu World.Interaction.SingleClick(overEntity); } else if(overEntity is Mobile) { // request context menu World.Interaction.SingleClick(overEntity); } } else if(e.EventType == MouseEvent.DoubleClick) { if(overEntity is Ground) { // no action. } else if(overEntity is StaticItem) { // no action. } else if(overEntity is Item) { // request context menu World.Interaction.DoubleClick(overEntity); } else if(overEntity is Mobile) { // Send double click packet. // Set LastTarget == targeted Mobile. // If in WarMode, set Attacking == true. World.Interaction.DoubleClick(overEntity); World.Interaction.LastTarget = overEntity.Serial; if (WorldModel.Entities.GetPlayerEntity().Flags.IsWarMode) { m_Network.Send(new AttackRequestPacket(overEntity.Serial)); } } } else if(e.EventType == MouseEvent.DragBegin) { if(overEntity is Ground) { // no action. } else if(overEntity is StaticItem) { // no action. } else if(overEntity is Item) { // attempt to pick up item. World.Interaction.PickupItem((Item)overEntity, new Point((int)m_dragOffset.X, (int)m_dragOffset.Y)); } else if(overEntity is Mobile) { // request basic stats - gives us the name rename flag m_Network.Send(new MobileQueryPacket(MobileQueryPacket.StatusType.BasicStatus, overEntity.Serial)); // drag off a status gump for this mobile. MobileHealthTrackerGump gump = new MobileHealthTrackerGump(overEntity as Mobile); m_UserInterface.AddControl(gump, e.X - 77, e.Y - 30); m_UserInterface.AttemptDragControl(gump, new Point(e.X, e.Y), true); } } e.Handled = true; }
/// <summary> /// Raises the MouseMove event. Override this method to add code to handle when the mouse is moved /// </summary> /// <param name="e">InputEventCM for the MouseMove event</param> private void invokeMouseMove(InputEventMouse e) { MouseMove?.Invoke(e); }
/// <summary> /// Raises the MouseMove event. Override this method to add code to handle when the mouse is moved /// </summary> /// <param name="e">InputEventCM for the MouseMove event</param> private void invokeMouseMove(InputEventMouse e) { if (MouseMove != null) MouseMove(e); }
/// <summary> /// Raises the MouseWheel event. Override this method to add code to handle when a mouse wheel is turned /// </summary> /// <param name="e">InputEventCM for the MouseWheel event</param> private void invokeMouseWheel(InputEventMouse e) { MouseWheel?.Invoke(e); }
/// <summary> /// Raises the MouseDown event. Override this method to add code to handle when a mouse button is pressed /// </summary> /// <param name="e">InputEventCM for the MouseDown event</param> private void invokeMouseDown(InputEventMouse e) { if (MouseDown != null) MouseDown(e); }
private void onMouseMove(InputEventMouse e) { addEvent(new InputEventMouse(MouseEvent.Move, e)); if(!m_MouseIsDragging && m_LastMouseDown != null) { if(DistanceBetweenPoints(m_LastMouseDown.Position, e.Position, MouseDragBeginDistance)) { addEvent(new InputEventMouse(MouseEvent.DragBegin, e)); m_MouseIsDragging = true; } } }
/// <summary> /// Raises the MouseUp event. Override this method to add code to handle when a mouse button is released /// </summary> /// <param name="e">InputEventCM for the MouseUp event</param> private void invokeMouseUp(InputEventMouse e) { if (MouseUp != null) MouseUp(e); }