コード例 #1
0
        public static bool HandleInput(MouseInput mi)
        {
            var wasMouseOver = MouseOverWidget;

            if (mi.Event == MouseInputEvent.Move)
            {
                MouseOverWidget = null;
            }

            var handled = false;

            if (MouseFocusWidget != null && MouseFocusWidget.HandleMouseInputOuter(mi))
            {
                handled = true;
            }

            if (!handled && Root.HandleMouseInputOuter(mi))
            {
                handled = true;
            }

            if (mi.Event == MouseInputEvent.Move)
            {
                Viewport.LastMousePos    = mi.Location;
                Viewport.LastMoveRunTime = Game.RunTime;
            }

            if (wasMouseOver != MouseOverWidget)
            {
                if (wasMouseOver != null)
                {
                    wasMouseOver.MouseExited();
                }

                if (MouseOverWidget != null)
                {
                    MouseOverWidget.MouseEntered();
                }
            }

            return(handled);
        }
コード例 #2
0
ファイル: Widget.cs プロジェクト: watsoncui/OpenRA
        public static bool HandleInput(MouseInput mi)
        {
            var wasMouseOver = MouseOverWidget;

            if (mi.Event == MouseInputEvent.Move)
            {
                MouseOverWidget = null;
            }

            bool handled = false;

            if (SelectedWidget != null && SelectedWidget.HandleMouseInputOuter(mi))
            {
                handled = true;
            }

            if (!handled && Root.HandleMouseInputOuter(mi))
            {
                handled = true;
            }

            if (mi.Event == MouseInputEvent.Move)
            {
                Viewport.LastMousePos       = mi.Location;
                Viewport.TicksSinceLastMove = 0;
            }

            if (wasMouseOver != MouseOverWidget)
            {
                if (wasMouseOver != null)
                {
                    wasMouseOver.MouseExited();
                }

                if (MouseOverWidget != null)
                {
                    MouseOverWidget.MouseEntered();
                }
            }

            return(handled);
        }