Example #1
0
        /// <summary>
        /// The init point of the class
        /// </summary>
        public static void OnLoad()
        {
            var RootMenu   = Variables.Menu;
            var moduleMenu = new Menu("HUD!", "dz191.dza.hud").SetFontStyle(FontStyle.Bold, SharpDX.Color.Red);

            {
                moduleMenu.AddBool("dz191.dza.hud.show", "Show HUD").SetTooltip("Shows the DZAwareness Helper hud").ValueChanged += (sender, args) =>
                {
                    /**Dispose of the sprites*/
                    if (args.GetNewValue <bool>())
                    {
                        InitSprites(true);
                    }
                    else
                    {
                        HudSprite.Remove();
                        ExpandShrinkButton.Remove();
                    }
                };
                moduleMenu.AddSlider("dz191.dza.hud.x", "HUD X", new Tuple <int, int, int>(200, 0, Drawing.Direct3DDevice.Viewport.Width)).SetTooltip("Hud X Position (You can drag it)");
                moduleMenu.AddSlider("dz191.dza.hud.y", "HUD Y", new Tuple <int, int, int>(200, 0, Drawing.Direct3DDevice.Viewport.Height)).SetTooltip("Hud Y Position (You can drag it)");
                RootMenu.AddSubMenu(moduleMenu);
            }

            InitSprites();

            Game.OnWndProc += OnWndProc;
        }
Example #2
0
        /// <summary>
        /// Raises the <see cref="E:WndProc" /> event.
        /// </summary>
        /// <param name="args">The <see cref="WndEventArgs"/> instance containing the event data.</param>
        private static void OnWndProc(WndEventArgs args)
        {
            if (HudSprite == null || !ShouldBeVisible)
            {
                return;
            }

            if (IsDragging)
            {
                DraggingPosition.X = (int)(Utils.GetCursorPos().X - XDistanceFromEdge);
                DraggingPosition.Y = (int)(Utils.GetCursorPos().Y - YDistanceFromEdge);

                // Variables.Menu.Item("dz191.dza.hud.x")
                //   .SetValue(new Slider((int)(Utils.GetCursorPos().X - XDistanceFromEdge), 0, Drawing.Direct3DDevice.Viewport.Width));
                // Variables.Menu.Item("dz191.dza.hud.y")
                //   .SetValue(new Slider((int)(Utils.GetCursorPos().Y - YDistanceFromEdge), 0, Drawing.Direct3DDevice.Viewport.Height));
            }

            if (IsInside(Utils.GetCursorPos()) && args.Msg == (uint)WindowsMessages.WM_LBUTTONDOWN)
            {
                if (!IsDragging)
                {
                    if (InitialDragPoint == new Vector2())
                    {
                        InitialDragPoint  = CurrentPosition;
                        XDistanceFromEdge = Math.Abs(InitialDragPoint.X - Utils.GetCursorPos().X);
                        YDistanceFromEdge = Math.Abs(InitialDragPoint.Y - Utils.GetCursorPos().Y);

                        DraggingPosition.X = (int)(Utils.GetCursorPos().X - XDistanceFromEdge);
                        DraggingPosition.Y = (int)(Utils.GetCursorPos().Y - YDistanceFromEdge);
                    }

                    IsDragging = true;
                }
            }
            else if (IsDragging && args.Msg == (uint)WindowsMessages.WM_LBUTTONUP)
            {
                HudSprite.PositionUpdate = () => CurrentPosition;

                Variables.Menu.Item("dz191.dza.hud.x")
                .SetValue(new Slider((int)(Utils.GetCursorPos().X - XDistanceFromEdge), 0, Drawing.Direct3DDevice.Viewport.Width));
                Variables.Menu.Item("dz191.dza.hud.y")
                .SetValue(new Slider((int)(Utils.GetCursorPos().Y - YDistanceFromEdge), 0, Drawing.Direct3DDevice.Viewport.Height));

                InitialDragPoint  = new Vector2();
                XDistanceFromEdge = 0;
                YDistanceFromEdge = 0;
                DraggingPosition  = new Vector2();

                IsDragging = false;
            }

            if (args.Msg == (uint)WindowsMessages.WM_LBUTTONUP)
            {
                if (
                    Utils.GetCursorPos()
                    .Distance(new Vector2(CurrentPosition.X + SpriteWidth - 15,
                                          CurrentPosition.Y + CroppedHeight - 15)) < 7)
                {
                    if (CurrentStatus == SpriteStatus.Shrinked)
                    {
                        CurrentStatus = SpriteStatus.Expanded;
                        HudSprite.Crop(0, 0, (int)SpriteWidth, (int)SpriteHeight);

                        ExpandShrinkButton.Remove();
                        ExpandShrinkButton = new Render.Sprite(Resources.Shrink, CurrentPosition)
                        {
                            PositionUpdate   = () => new Vector2(CurrentPosition.X + SpriteWidth - 20, CurrentPosition.Y + CroppedHeight - 20),
                            Scale            = new Vector2(0.7f, 0.7f),
                            VisibleCondition = delegate { return(ShouldBeVisible); }
                        };

                        ExpandShrinkButton.Add(1);
                    }
                    else
                    {
                        CurrentStatus = SpriteStatus.Shrinked;
                        HudSprite.Crop(0, 0, (int)SpriteWidth, CroppedHeight);

                        ExpandShrinkButton.Remove();
                        ExpandShrinkButton = new Render.Sprite(Resources.Expand, CurrentPosition)
                        {
                            PositionUpdate   = () => new Vector2(CurrentPosition.X + SpriteWidth - 20, CurrentPosition.Y + CroppedHeight - 20),
                            Scale            = new Vector2(0.7f, 0.7f),
                            VisibleCondition = delegate { return(ShouldBeVisible); }
                        };

                        ExpandShrinkButton.Add(1);
                    }
                }
            }
        }