Exemplo n.º 1
0
        /// <summary>
        ///     The handle priority icon.
        /// </summary>
        /// <param name="icon">
        ///     The icon.
        /// </param>
        /// <param name="mousePosition">
        ///     The mouse position.
        /// </param>
        /// <param name="priority">
        ///     The priority.
        /// </param>
        /// <param name="move">
        ///     The move.
        /// </param>
        /// <param name="menuItem">
        ///     The menu Item.
        /// </param>
        private void HandlePriorityIcon(
            PriorityIcon icon,
            Vector2 mousePosition,
            uint priority,
            float move,
            MenuItem menuItem)
        {
            var wasHovered = icon.Hovered;

            icon.Hovered = Utils.IsUnderRectangle(
                mousePosition,
                icon.Position.X,
                icon.Position.Y,
                icon.Size.X,
                icon.Size.Y);
            var onHover   = !wasHovered && icon.Hovered;
            var onUnHover = wasHovered && !icon.Hovered;

            if (onHover)
            {
                icon.Hover.Start(0, 40);
            }

            if (onUnHover)
            {
                icon.ReturnFromDrag(
                    icon.Position
                    + new Vector2((icon.Size.X - this.IconSize.X) / 2, (icon.Size.Y - this.IconSize.Y) / 2));
                icon.Hover.Start(0, 40);
            }

            var alpha      = icon.Hovered ? icon.Hover.GetValue() : 40 - icon.Hover.GetValue();
            var brightness = (float)priority / this.Count * 10;

            icon.Color = icon.Enabled
                             ? System.Drawing.Color.FromArgb(
                (int)Math.Max(Math.Min(210 + alpha, 255), 0),
                (int)
                Math.Max(
                    Math.Min(
                        Menu.Root.SelectedTheme.TogglerEnabledColor.R / 10 * 4 + alpha
                        + brightness * 18,
                        255),
                    0),
                (int)
                Math.Max(
                    Math.Min(
                        Menu.Root.SelectedTheme.TogglerEnabledColor.G / 10 * 4 + alpha
                        + brightness * 12,
                        255),
                    0),
                (int)
                Math.Max(
                    Math.Min(
                        Menu.Root.SelectedTheme.TogglerEnabledColor.B / 10 + alpha + brightness,
                        255),
                    0)).ToSharpDxColor()
                             : System.Drawing.Color.FromArgb(
                (int)Math.Max(Math.Min(210 + alpha, 255), 0),
                (int)
                Math.Max(
                    Math.Min(
                        Menu.Root.SelectedTheme.TogglerDisabledColor.R / 10 + alpha + brightness * 5,
                        255),
                    0),
                (int)
                Math.Max(
                    Math.Min(
                        Menu.Root.SelectedTheme.TogglerDisabledColor.G / 10 + alpha + brightness * 5,
                        255),
                    0),
                (int)
                Math.Max(
                    Math.Min(
                        Menu.Root.SelectedTheme.TogglerDisabledColor.B / 10 + alpha + brightness * 5,
                        255),
                    0)).ToSharpDxColor();

            if (icon.Moving)
            {
                icon.Position = new Vector2(
                    mousePosition.X - this.MousePositionDifference.X,
                    this.BasePosition.Y - icon.Size.Y / 20);
                icon.IconPosition = icon.Position
                                    + new Vector2(
                    icon.Size.X / 2 - icon.IconSize.X / 2,
                    icon.Size.Y / 2 - icon.IconSize.Y / 2);
                this.CheckMovingIconPosition(icon, menuItem, mousePosition);
                return;
            }

            if (!icon.Hovered || icon.FixedPosition != this.BasePosition - new Vector2(move, 0) ||
                this.MovingIcon != null && (!this.MovingIcon.Moving || !this.MovingIcon.Equals(icon)))
            {
                icon.Position = this.BasePosition - new Vector2(move, 0);
            }

            icon.Height       = this.Height;
            icon.IconSize     = this.textureIconSize;
            icon.Size         = this.iconSize;
            icon.IconPosition = icon.Position
                                + new Vector2(
                icon.Size.X / 2 - icon.IconSize.X / 2,
                icon.Size.Y / 2 - icon.IconSize.Y / 2);
        }
Exemplo n.º 2
0
        /// <summary>
        ///     The handle priority icon.
        /// </summary>
        /// <param name="icon">
        ///     The icon.
        /// </param>
        /// <param name="mousePosition">
        ///     The mouse position.
        /// </param>
        /// <param name="priority">
        ///     The priority.
        /// </param>
        /// <param name="move">
        ///     The move.
        /// </param>
        /// <param name="menuItem">
        ///     The menu Item.
        /// </param>
        private void HandlePriorityIcon(
            PriorityIcon icon, 
            Vector2 mousePosition, 
            uint priority, 
            float move, 
            MenuItem menuItem)
        {
            var wasHovered = icon.Hovered;
            icon.Hovered = Utils.IsUnderRectangle(
                mousePosition, 
                icon.Position.X, 
                icon.Position.Y, 
                icon.Size.X, 
                icon.Size.Y);
            var onHover = !wasHovered && icon.Hovered;
            var onUnHover = wasHovered && !icon.Hovered;

            if (onHover)
            {
                icon.Hover.Start(0, 40);
            }

            if (onUnHover)
            {
                icon.ReturnFromDrag(
                    icon.Position
                    + new Vector2((icon.Size.X - this.IconSize.X) / 2, (icon.Size.Y - this.IconSize.Y) / 2));
                icon.Hover.Start(0, 40);
            }

            var alpha = icon.Hovered ? icon.Hover.GetValue() : 40 - icon.Hover.GetValue();
            var brightness = (float)priority / this.Count * 10;
            icon.Color = icon.Enabled
                             ? System.Drawing.Color.FromArgb(
                                 (int)Math.Max(Math.Min(210 + alpha, 255), 0), 
                                 (int)
                                 Math.Max(
                                     Math.Min(
                                         Menu.Root.SelectedTheme.TogglerEnabledColor.R / 10 * 4 + alpha
                                         + brightness * 18, 
                                         255), 
                                     0), 
                                 (int)
                                 Math.Max(
                                     Math.Min(
                                         Menu.Root.SelectedTheme.TogglerEnabledColor.G / 10 * 4 + alpha
                                         + brightness * 12, 
                                         255), 
                                     0), 
                                 (int)
                                 Math.Max(
                                     Math.Min(
                                         Menu.Root.SelectedTheme.TogglerEnabledColor.B / 10 + alpha + brightness, 
                                         255), 
                                     0)).ToSharpDxColor()
                             : System.Drawing.Color.FromArgb(
                                 (int)Math.Max(Math.Min(210 + alpha, 255), 0), 
                                 (int)
                                 Math.Max(
                                     Math.Min(
                                         Menu.Root.SelectedTheme.TogglerDisabledColor.R / 10 + alpha + brightness * 5, 
                                         255), 
                                     0), 
                                 (int)
                                 Math.Max(
                                     Math.Min(
                                         Menu.Root.SelectedTheme.TogglerDisabledColor.G / 10 + alpha + brightness * 5, 
                                         255), 
                                     0), 
                                 (int)
                                 Math.Max(
                                     Math.Min(
                                         Menu.Root.SelectedTheme.TogglerDisabledColor.B / 10 + alpha + brightness * 5, 
                                         255), 
                                     0)).ToSharpDxColor();

            if (icon.Moving)
            {
                icon.Position = new Vector2(
                    mousePosition.X - this.MousePositionDifference.X, 
                    this.BasePosition.Y - icon.Size.Y / 20);
                icon.IconPosition = icon.Position
                                    + new Vector2(
                                          icon.Size.X / 2 - icon.IconSize.X / 2, 
                                          icon.Size.Y / 2 - icon.IconSize.Y / 2);
                this.CheckMovingIconPosition(icon, menuItem, mousePosition);
                return;
            }

            if (!icon.Hovered || icon.FixedPosition != this.BasePosition - new Vector2(move, 0)
                || (this.MovingIcon != null && (!this.MovingIcon.Moving || !this.MovingIcon.Equals(icon))))
            {
                icon.Position = this.BasePosition - new Vector2(move, 0);
            }

            icon.Height = this.Height;
            icon.IconSize = this.textureIconSize;
            icon.Size = this.iconSize;
            icon.IconPosition = icon.Position
                                + new Vector2(
                                      icon.Size.X / 2 - icon.IconSize.X / 2, 
                                      icon.Size.Y / 2 - icon.IconSize.Y / 2);
        }
Exemplo n.º 3
0
        /// <summary>
        ///     The check moving icon position.
        /// </summary>
        /// <param name="icon">
        ///     The icon.
        /// </param>
        /// <param name="menuItem">
        ///     The menu item.
        /// </param>
        /// <param name="mousePosition">
        ///     The mouse position.
        /// </param>
        private void CheckMovingIconPosition(PriorityIcon icon, MenuItem menuItem, Vector2 mousePosition)
        {
            if (this.usingAbilityToggler && icon.Position.X > this.BasePosition.X)
            {
                icon.Enabled = false;
                this.abilityToggler.SValuesDictionary[this.MovingIcon.Name] = false;
                this.abilityToggler.Dictionary[this.MovingIcon.Name]        = false;
                return;
            }

            var dict = new Dictionary <PriorityIcon, uint>(this.PriorityIconsDictionary);

            foreach (var u2 in dict)
            {
                if (!(Utils.SleepCheck(u2.Key.Name + "DragAndDropChangePriority") && u2.Key.Name != icon.Name))
                {
                    continue;
                }

                if ((u2.Key.DictionaryPosition == icon.DictionaryPosition - 1 ||
                     this.usingAbilityToggler && !u2.Key.Enabled &&
                     u2.Key.DictionaryPosition > icon.DictionaryPosition) && mousePosition.X > u2.Key.FixedPosition.X)
                {
                    if (!u2.Key.Enabled)
                    {
                        icon.Enabled = false;
                        u2.Key.DictionaryPosition = icon.DictionaryPosition;
                        icon.DictionaryPosition   = u2.Key.DictionaryPosition;
                        this.abilityToggler.SValuesDictionary[this.MovingIcon.Name] = false;
                        this.abilityToggler.Dictionary[this.MovingIcon.Name]        = false;
                        Utils.Sleep(500, u2.Key.Name + "DragAndDropChangePriority");
                        break;
                    }

                    var menuItemDict = menuItem.GetValue <PriorityChanger>().Dictionary;
                    menuItemDict[u2.Key.Name] = icon.Priority;
                    menuItemDict[icon.Name]   = u2.Key.Priority;
                    var menuItemDict2 = menuItem.GetValue <PriorityChanger>().SValuesDictionary;
                    menuItemDict2[u2.Key.Name]           = icon.Priority;
                    menuItemDict2[icon.Name]             = u2.Key.Priority;
                    this.PriorityIconsDictionary[u2.Key] = icon.Priority;
                    this.PriorityIconsDictionary[icon]   = u2.Key.Priority;
                    u2.Key.DictionaryPosition            = icon.Priority;
                    icon.DictionaryPosition = u2.Key.Priority;
                    Utils.Sleep(500, u2.Key.Name + "DragAndDropChangePriority");
                    break;
                }

                if ((u2.Key.DictionaryPosition == icon.DictionaryPosition + 1 ||
                     this.usingAbilityToggler && !icon.Enabled && u2.Key.DictionaryPosition > icon.DictionaryPosition) &&
                    mousePosition.X < u2.Key.FixedPosition.X + u2.Key.Size.X / 1.2)
                {
                    {
                        if (!icon.Enabled)
                        {
                            icon.Enabled = u2.Key.Enabled;
                            u2.Key.DictionaryPosition = icon.DictionaryPosition;
                            icon.DictionaryPosition   = u2.Key.DictionaryPosition;
                            this.abilityToggler.SValuesDictionary[this.MovingIcon.Name] = true;
                            this.abilityToggler.Dictionary[this.MovingIcon.Name]        = true;
                            Utils.Sleep(500, u2.Key.Name + "DragAndDropChangePriority");
                            break;
                        }

                        var menuItemDict = menuItem.GetValue <PriorityChanger>().Dictionary;
                        menuItemDict[u2.Key.Name] = icon.Priority;
                        menuItemDict[icon.Name]   = u2.Key.Priority;
                        var menuItemDict2 = menuItem.GetValue <PriorityChanger>().SValuesDictionary;
                        menuItemDict2[u2.Key.Name]           = icon.Priority;
                        menuItemDict2[icon.Name]             = u2.Key.Priority;
                        this.PriorityIconsDictionary[u2.Key] = icon.Priority;
                        this.PriorityIconsDictionary[icon]   = u2.Key.Priority;
                        u2.Key.DictionaryPosition            = icon.Priority;
                        icon.DictionaryPosition = u2.Key.Priority;
                        Utils.Sleep(500, u2.Key.Name + "DragAndDropChangePriority");
                        break;
                    }
                }
            }
        }
Exemplo n.º 4
0
        /// <summary>
        ///     The check moving icon position.
        /// </summary>
        /// <param name="icon">
        ///     The icon.
        /// </param>
        /// <param name="menuItem">
        ///     The menu item.
        /// </param>
        /// <param name="mousePosition">
        ///     The mouse position.
        /// </param>
        private void CheckMovingIconPosition(PriorityIcon icon, MenuItem menuItem, Vector2 mousePosition)
        {
            if (this.usingAbilityToggler && icon.Position.X > this.BasePosition.X)
            {
                icon.Enabled = false;
                this.abilityToggler.SValuesDictionary[this.MovingIcon.Name] = false;
                this.abilityToggler.Dictionary[this.MovingIcon.Name] = false;
                return;
            }

            var dict = new Dictionary<PriorityIcon, uint>(this.PriorityIconsDictionary);
            foreach (var u2 in dict)
            {
                if (!(Utils.SleepCheck(u2.Key.Name + "DragAndDropChangePriority") && u2.Key.Name != icon.Name))
                {
                    continue;
                }

                if ((u2.Key.DictionaryPosition == icon.DictionaryPosition - 1
                     || (this.usingAbilityToggler && !u2.Key.Enabled
                         && u2.Key.DictionaryPosition > icon.DictionaryPosition))
                    && mousePosition.X > u2.Key.FixedPosition.X)
                {
                    if (!u2.Key.Enabled)
                    {
                        icon.Enabled = false;
                        u2.Key.DictionaryPosition = icon.DictionaryPosition;
                        icon.DictionaryPosition = u2.Key.DictionaryPosition;
                        this.abilityToggler.SValuesDictionary[this.MovingIcon.Name] = false;
                        this.abilityToggler.Dictionary[this.MovingIcon.Name] = false;
                        Utils.Sleep(500, u2.Key.Name + "DragAndDropChangePriority");
                        break;
                    }

                    var menuItemDict = menuItem.GetValue<PriorityChanger>().Dictionary;
                    menuItemDict[u2.Key.Name] = icon.Priority;
                    menuItemDict[icon.Name] = u2.Key.Priority;
                    var menuItemDict2 = menuItem.GetValue<PriorityChanger>().SValuesDictionary;
                    menuItemDict2[u2.Key.Name] = icon.Priority;
                    menuItemDict2[icon.Name] = u2.Key.Priority;
                    this.PriorityIconsDictionary[u2.Key] = icon.Priority;
                    this.PriorityIconsDictionary[icon] = u2.Key.Priority;
                    u2.Key.DictionaryPosition = icon.Priority;
                    icon.DictionaryPosition = u2.Key.Priority;
                    Utils.Sleep(500, u2.Key.Name + "DragAndDropChangePriority");
                    break;
                }

                if ((u2.Key.DictionaryPosition == icon.DictionaryPosition + 1
                     || (this.usingAbilityToggler && !icon.Enabled
                         && u2.Key.DictionaryPosition > icon.DictionaryPosition))
                    && mousePosition.X < u2.Key.FixedPosition.X + u2.Key.Size.X / 1.2)
                {
                    {
                        if (!icon.Enabled)
                        {
                            icon.Enabled = u2.Key.Enabled;
                            u2.Key.DictionaryPosition = icon.DictionaryPosition;
                            icon.DictionaryPosition = u2.Key.DictionaryPosition;
                            this.abilityToggler.SValuesDictionary[this.MovingIcon.Name] = true;
                            this.abilityToggler.Dictionary[this.MovingIcon.Name] = true;
                            Utils.Sleep(500, u2.Key.Name + "DragAndDropChangePriority");
                            break;
                        }

                        var menuItemDict = menuItem.GetValue<PriorityChanger>().Dictionary;
                        menuItemDict[u2.Key.Name] = icon.Priority;
                        menuItemDict[icon.Name] = u2.Key.Priority;
                        var menuItemDict2 = menuItem.GetValue<PriorityChanger>().SValuesDictionary;
                        menuItemDict2[u2.Key.Name] = icon.Priority;
                        menuItemDict2[icon.Name] = u2.Key.Priority;
                        this.PriorityIconsDictionary[u2.Key] = icon.Priority;
                        this.PriorityIconsDictionary[icon] = u2.Key.Priority;
                        u2.Key.DictionaryPosition = icon.Priority;
                        icon.DictionaryPosition = u2.Key.Priority;
                        Utils.Sleep(500, u2.Key.Name + "DragAndDropChangePriority");
                        break;
                    }
                }
            }
        }