예제 #1
0
        public override void OnMouseMove(InputEngine.MouseMoveArgs e)
        {
            if (Graphics.Visible)
            {
                if (isIn(e.curState.X, e.curState.Y) && !ToolTip.StayOpened)
                {
                    ToolTip.GameOffset = new Vector2(e.curState.X, e.curState.Y) - new Vector2(25, ToolTip.size.Y / 4);
                }
            }

            base.OnMouseMove(e);
        }
예제 #2
0
 public override void onMouseMove(InputEngine.MouseMoveArgs e)
 {
     if (isSelecting != -1)
     {
         SelectFor(e.curState.X, e.curState.Y);
     }
     if (scrollbar.IsIn(e.curState.X, e.curState.Y))
     {
         scrollbar.onMouseMove(e);
         return;
     }
 }
예제 #3
0
 public override void onMouseMove(InputEngine.MouseMoveArgs e)
 {
     isMouseOver = IsIn(e.curState.X, e.curState.Y);
     if (!wasin && isMouseOver)
     {
         GUIEngine.s_toolTip.Position = position + new Vector2(SIZE_X + 1, SIZE_Y / 2);
         GUIEngine.s_toolTip.Text     = Text;
         //GUIEngine.s_toolTip.Text = "This is a very long text!!!\r\nThis is a very long text!!!\r\nThis is a very long text!!!\r\nThis is a very long text!!!\r\nThis is a very long text!!!\r\nThis is a very long text!!!\r\n";//TODO rm
         GUIEngine.s_toolTip.Show();
         GUIEngine.s_toolTip.isVisible = true;
         wasin = true;
     }
     if (wasin && !isMouseOver)
     {
         if (GUIEngine.s_toolTip.Text == Text)
         {
             GUIEngine.s_toolTip.isVisible = false;
             GUIEngine.s_toolTip.Close();
         }
         wasin = false;
     }
     if (isdnd)
     {
         position.Y += e.dy;
         if (parent == null)
         {
             while (localIndex > 0 &&
                    position.Y < GUIEngine.s_componentSelector.rootTiles[localIndex - 1].position.Y + SIZE_Y / 2)//move up
             {
                 GUIEngine.s_componentSelector.SwapRootTilesNoPositions(localIndex, localIndex - 1);
             }
             while (localIndex < GUIEngine.s_componentSelector.rootTiles.Count - 1 &&
                    position.Y > GUIEngine.s_componentSelector.rootTiles[localIndex + 1].position.Y + SIZE_Y / 2)//move up
             {
                 GUIEngine.s_componentSelector.SwapRootTilesNoPositions(localIndex, localIndex + 1);
             }
         }
         else
         {
             while (localIndex > 0 &&
                    position.Y < parent.Tiles[localIndex - 1].position.Y + SIZE_Y / 2)//move up
             {
                 parent.SwapTilesNoPositions(localIndex, localIndex - 1);
             }
             while (localIndex < parent.Tiles.Count - 1 &&
                    position.Y > parent.Tiles[localIndex + 1].position.Y + SIZE_Y / 2)//move up
             {
                 parent.SwapTilesNoPositions(localIndex, localIndex + 1);
             }
         }
     }
 }
예제 #4
0
 public virtual void OnMouseMove(InputEngine.MouseMoveArgs e)
 {
     if (GetComponentToolTip() != null)
     {
         if (isIn(e.curState.X, e.curState.Y))
         {
             if (!GetComponentToolTip().isVisible)
             {
                 MicroWorld.Graphics.GUI.GUIEngine.AddHUDScene(GetComponentToolTip());
             }
         }
     }
 }
예제 #5
0
 public virtual void onMouseMove(InputEngine.MouseMoveArgs e)
 {
     foreach (Control c in controls)
     {
         if (c.isVisible)
         {
             c.onMouseMove(e);
         }
         if (InputEngine.eventHandled)
         {
             break;
         }
     }
 }
예제 #6
0
 public static void OnMouseMove(InputEngine.MouseMoveArgs e)
 {
     for (int i = 0; i < Components.Count; i++)
     {
         //if (Components[i].isIn(e.curState.X, e.curState.Y))
         {
             Components[i].OnMouseMove(e);
             if (MicroWorld.Graphics.GUI.GUIEngine.s_statusStrip.TextLeft == "" &&
                 Components[i].Graphics.Visible && Components[i].isIn(e.curState.X, e.curState.Y))
             {
                 Shortcuts.SetInGameStatus(Components[i].Graphics.GetCSToolTip(), "<Right click> - remove, <Middle click> - properties");
             }
         }
     }
 }
예제 #7
0
 public override void onMouseMove(InputEngine.MouseMoveArgs e)
 {
     if (yes == null || no == null)
     {
         return;
     }
     try
     {
         //if (IsIn(e.curState.X, e.curState.Y))
         //{
         yes.onMouseMove(e);
         no.onMouseMove(e);
         //}
     }
     catch { }
     e.Handled = true;
 }
예제 #8
0
 public override void onMouseMove(InputEngine.MouseMoveArgs e)
 {
     if (IsIn(e.curState.X, e.curState.Y))
     {
         String s = "";
         if (Avalable == -1)
         {
             s = "oo";
         }
         else
         {
             s = Avalable.ToString();
         }
         Shortcuts.SetInGameStatus(Text + " (" + s + " avalable)",
                                   "<Click> to select, <Middle click> for handbook");
     }
     base.onMouseMove(e);
 }
예제 #9
0
 public override void onMouseMove(InputEngine.MouseMoveArgs e)
 {
     base.onMouseMove(e);
     if (button.IsIn(e.curState.X, e.curState.Y))
     {
         thisToolTip = true;
         if (GUIEngine.s_toolTip.Text != "Script editor")
         {
             Shortcuts.ShowToolTip(new Vector2(button.position.X + button.size.X / 2, button.position.Y + button.size.Y),
                                   "Script editor", ArrowLineDirection.LeftDown);
         }
     }
     else if (thisToolTip)
     {
         thisToolTip = false;
         Shortcuts.CloseToolTip();
     }
 }
예제 #10
0
 public override void onMouseMove(InputEngine.MouseMoveArgs e)
 {
     base.onMouseMove(e);
     if (IsIn(e.curState.X, e.curState.Y))
     {
         if (!e.Handled)
         {
             curElement.onMouseMove(e);
         }
         if (!e.Handled)
         {
             arrow.onMouseMove(e);
         }
         if (!e.Handled)
         {
             contextMenu.onMouseMove(e);
         }
     }
 }
예제 #11
0
 public override void onMouseMove(InputEngine.MouseMoveArgs e)
 {
     base.onMouseMove(e);
     if (bnew.IsIn(e.curState.X, e.curState.Y))
     {
         Shortcuts.SetInGameStatus("Add placable area", "");
         if (!GUIEngine.s_toolTip.isVisible || GUIEngine.s_toolTip.Text != "Add placable area")
         {
             Shortcuts.ShowToolTip(bnew.position + new Vector2(bnew.size.X / 2, bnew.size.Y + 1), "Add placable area",
                                   ArrowLineDirection.LeftDown);
         }
     }
     else if (bdel.IsIn(e.curState.X, e.curState.Y))
     {
         Shortcuts.SetInGameStatus("Remove placable area", "");
         if (!GUIEngine.s_toolTip.isVisible || GUIEngine.s_toolTip.Text != "Remove placable area")
         {
             Shortcuts.ShowToolTip(bdel.position + new Vector2(bdel.size.X / 2, bdel.size.Y + 1), "Remove placable area",
                                   ArrowLineDirection.LeftDown);
         }
     }
     else if (bclr.IsIn(e.curState.X, e.curState.Y))
     {
         Shortcuts.SetInGameStatus("Reset placable areas", "");
         if (!GUIEngine.s_toolTip.isVisible || GUIEngine.s_toolTip.Text != "Reset placable areas")
         {
             Shortcuts.ShowToolTip(bclr.position + new Vector2(bclr.size.X / 2, bclr.size.Y + 1), "Reset placable areas",
                                   ArrowLineDirection.LeftDown);
         }
     }
     else
     {
         if (GUIEngine.s_toolTip.isVisible && (
                 GUIEngine.s_toolTip.Text == "Add placable area" ||
                 GUIEngine.s_toolTip.Text == "Remove placable area" ||
                 GUIEngine.s_toolTip.Text == "Reset placable areas"))
         {
             GUIEngine.s_toolTip.Close();
         }
     }
 }
예제 #12
0
 public override void onMouseMove(InputEngine.MouseMoveArgs e)
 {
     base.onMouseMove(e);
     e.Handled = true;
 }
예제 #13
0
        public override void OnMouseMove(InputEngine.MouseMoveArgs e)
        {
            if (!Graphics.Visible)
            {
                return;
            }
            if (MicroWorld.Logics.GameInputHandler.isLine)
            {
                return;
            }

            if (isIn(e.curState.X, e.curState.Y) && !ToolTip.StayOpened)
            {
                ToolTip.GameOffset = new Vector2(e.curState.X, e.curState.Y) - Graphics.Position;
            }

            if (ToolTip.isVisible && MicroWorld.Graphics.GUI.GUIEngine.s_subComponentButtons.SelectedComponent != this)
            {
                var a = MicroWorld.Graphics.GUI.GUIEngine.GetAllHUDSceneType <GUI.GeneralProperties>();
                if (a.Length > 1)
                {
                    for (int i = 0; i < a.Length; i++)
                    {
                        if (a[i].AssociatedComponent is Joint && !(a[i].fadeState == GUI.GeneralProperties.FadeState.FadeOut))
                        {
                            ToolTip.Close();
                            return;
                        }
                    }
                }
            }

            if (dnd)
            {
                if (Settings.GameState != Settings.GameStates.Stopped)
                {
                    dnd = false;
                    base.OnMouseMove(e);
                    return;
                }
                RemoveComponentFromVisibilityMap();
                var g = Graphics as Graphics.WireGraphics;
                var a1 = g.DrawPath[dndIndex];
                var a2 = g.DrawPath[dndIndex + 1];
                int x = e.curState.X, y = e.curState.Y;
                int sx = Math.Sign(x), sy = Math.Sign(y);
                MicroWorld.Logics.GridHelper.GridCoords(ref x, ref y);
                x += 4;
                y += 4;
                if (a1.Y == a2.Y)
                {
                    bool t = true;
                    if (a1.X < a2.X)
                    {
                        for (float xx = a1.X; xx < a2.X; xx += 8)
                        {
                            if (ComponentsManager.VisibilityMap.GetAStarValue((int)xx, y) == 0)
                            {
                                t = false;
                                break;
                            }
                        }
                    }
                    else
                    {
                        for (float xx = a2.X; xx < a1.X; xx += 8)
                        {
                            if (ComponentsManager.VisibilityMap.GetAStarValue((int)xx, y) == 0)
                            {
                                t = false;
                                break;
                            }
                        }
                    }
                    if (t)
                    {
                        a1.Y = y;
                        a2.Y = y;
                    }
                }
                else
                {
                    bool t = true;
                    if (a1.Y < a2.Y)
                    {
                        for (float yy = a1.Y; yy < a2.Y; yy += 8)
                        {
                            if (ComponentsManager.VisibilityMap.GetAStarValue(x, (int)yy) == 0)
                            {
                                t = false;
                                break;
                            }
                        }
                    }
                    else
                    {
                        for (float yy = a2.Y; yy < a1.Y; yy += 8)
                        {
                            if (ComponentsManager.VisibilityMap.GetAStarValue(x, (int)yy) == 0)
                            {
                                t = false;
                                break;
                            }
                        }
                    }
                    if (t)
                    {
                        a1.X = x;
                        a2.X = x;
                    }
                }
                g.DrawPath[dndIndex]     = a1;
                g.DrawPath[dndIndex + 1] = a2;
                g.GenerateElectrons();
                SetComponentOnVisibilityMap();
                //Components.Graphics.WireGraphics.OptimizeDrawPath(ref g.DrawPath);
            }

            base.OnMouseMove(e);
        }
예제 #14
0
 public override void onMouseMove(InputEngine.MouseMoveArgs e)
 {
     onMouseMove(new Vector2(e.curState.X, e.curState.Y));
 }
예제 #15
0
        public override void onMouseMove(InputEngine.MouseMoveArgs e)
        {
            InputEngine.MouseMoveArgs en = new InputEngine.MouseMoveArgs()
            {
                dx = e.dx,
                dy = e.dy,
                curState = new MouseState(e.curState.X, e.curState.Y - (int)FileListOffset.Y, e.curState.ScrollWheelValue,
                    e.curState.LeftButton, e.curState.MiddleButton, e.curState.RightButton, e.curState.XButton1,
                    e.curState.XButton2)
            };
            foreach (Elements.Control c in buttons)
            {
                if (c.isVisible) c.onMouseMove(en);
                if (InputEngine.eventHandled) break;
            }
            if (InputEngine.eventHandled)
                return;

            base.onMouseMove(e);
        }
예제 #16
0
 public override void onMouseMove(InputEngine.MouseMoveArgs e)
 {
     isMouseOver = IsIn(e.curState.X - (int)offset.X, e.curState.Y - (int)offset.Y);
 }
예제 #17
0
        public override void onMouseMove(InputEngine.MouseMoveArgs e)
        {
            InputEngine.MouseMoveArgs ee = new InputEngine.MouseMoveArgs()
            {
                dx = e.dx,
                dy = e.dy,
                curState = new MouseState(
                    e.curState.X - (int)position.X,
                    e.curState.Y - (int)position.Y,
                    e.curState.ScrollWheelValue,
                    e.curState.LeftButton,
                    e.curState.MiddleButton,
                    e.curState.RightButton,
                    e.curState.XButton1,
                    e.curState.XButton2)
            };

            base.onMouseMove(ee);

            int px = e.curState.X, py = e.curState.Y;
            Utilities.Tools.ScreenToGameCoords(ref px, ref py);

            if (!StayOpened && !AssociatedComponent.isIn(px, py))
                Close();
        }
예제 #18
0
 public override void onMouseMove(InputEngine.MouseMoveArgs e)
 {
     b_Key.onMouseMove(e);
 }
예제 #19
0
 public override void onMouseMove(InputEngine.MouseMoveArgs e)
 {
 }
예제 #20
0
 public override void onMouseMove(InputEngine.MouseMoveArgs e)
 {
     base.onMouseMove(e);
     CheckSetToolTip(e.curState.X, e.curState.Y);
 }
예제 #21
0
 public virtual void onMouseMove(InputEngine.MouseMoveArgs e)
 {
 }