public override UIMouseResponder GetMouseHover(Vector2 pos) { if (isDragging || !isVisible) { return(null); } if (abilityUIs != null) { foreach (ConvergeUIAbility abilityUI in abilityUIs) { UIMouseResponder result = abilityUI.GetMouseHover(pos); if (result != null) { return(result); } } } if (gfxFrame.Contains(pos)) { return(this); } return(null); }
public UIMouseResponder GetPipeMouseHover(Vector2 localMousePos) { for (int Idx = pipes.Count - 1; Idx >= 0; --Idx) { UIMouseResponder result = pipes[Idx].GetMouseHover(localMousePos); if (result != null) { return(result); } } return(null); }
public void Update() { if (firstUpdate && !preFirstUpdate) { firstUpdate = false; } preFirstUpdate = false; oldKeyboard = keyboard; keyboard = Keyboard.GetState(); /*if (WasKeyJustPressed(Keys.Space)) * { * pauseMouse = !pauseMouse; * } * else if (IsKeyDown(Keys.Space) && pauseMouse && (WasMouseLeftJustPressed() || WasMouseRightJustPressed())) * { * // force an update if the user clicks * mouse = Mouse.GetState(); * }*/ if (pauseMouse) { mouse = oldMouse; } else { oldMouse = mouse; mouse = Mouse.GetState(); } if (mouseLeft != null) { mouseLeft.Update(mouse); mouseMiddle.Update(mouse); mouseRight.Update(mouse); } else { mouseLeft = new MouseButtonState(MouseButton.LEFT, mouse); mouseMiddle = new MouseButtonState(MouseButton.MIDDLE, mouse); mouseRight = new MouseButtonState(MouseButton.RIGHT, mouse); } if (mouseLeft.justPressed) { hoveringElementMouseDown = hoveringElement; } hoveringElement = null; }
public override UIMouseResponder GetMouseHover(Vector2 localMousePos) { Vector2 childMousePos = localMousePos - origin; for (int Idx = elements.Count - 1; Idx >= 0; --Idx) { UIMouseResponder selected = elements[Idx].GetMouseHover(childMousePos); if (selected != null) { return(selected); } } return(null); }
public void UpdateMouseHover(IReadOnlyList <UIMouseResponder> list) { if (hoveringElement != null) { return; } for (int Idx = list.Count - 1; Idx >= 0; --Idx) { hoveringElement = list[Idx].GetMouseHover(MousePos); if (hoveringElement != null) { break; } } }
public UIMouseResponder GetMouseHover(Vector2 mousePos) { UIMouseResponder result = ui.GetMouseHover(mousePos); if (result != null) { return(result); } for (int Idx = objects.Count - 1; Idx >= 0; --Idx) { result = objects[Idx].GetOverlayMouseHover(mousePos); if (result != null) { return(result); } } for (int Idx = objects.Count - 1; Idx >= 0; --Idx) { result = objects[Idx].GetPipeMouseHover(mousePos); if (result != null) { return(result); } } for (int Idx = objects.Count - 1; Idx >= 0; --Idx) { result = objects[Idx].GetMouseHover(mousePos); if (result != null) { return(result); } } return(this); }