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);
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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;
        }
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 5
0
        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;
                }
            }
        }
Exemplo n.º 6
0
        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);
        }