Ejemplo n.º 1
0
        public override bool MouseDown(MouseButtonEventArgs e)
        {
            if (!ClientArea.Contains(e.X, e.Y))
            {
                return(false);
            }

            // Image.ImageLockBox imgData = _elementSprite.Image.GetImageData();
            //imgData.Lock(false);

            Color pixColour = Color.Red;

            //imgData.Dispose();
            //imgData.Unlock();

            if (pixColour.A != 0)
            {
                if (Clicked != null)
                {
                    Clicked(this);
                }
                _clickPoint = new Vector2i(e.X - Position.X, e.Y - Position.Y);
                _selected   = true;
                return(true);
            }

            _selected = false;
            return(false);
        }
        public override bool MouseWheelMove(MouseInputEventArgs e)
        {
            var modArgs = new MouseInputEventArgs
                              (e.Buttons,
                              e.ShiftButtons,
                              new Vector2D(e.Position.X - Position.X + scrollbarH.Value, e.Position.Y - Position.Y + scrollbarV.Value),
                              e.WheelPosition,
                              e.RelativePosition,
                              e.WheelDelta,
                              e.ClickCount);

            if (inner_focus != null)
            {
                if (inner_focus.MouseWheelMove(modArgs))
                {
                    return(true);
                }
                else if (scrollbarV.IsVisible() && ClientArea.Contains(new Point((int)e.Position.X, (int)e.Position.Y)))
                {
                    scrollbarV.MouseWheelMove(e);
                    return(true);
                }
            }
            else if (scrollbarV.IsVisible() && ClientArea.Contains(new Point((int)e.Position.X, (int)e.Position.Y)))
            {
                scrollbarV.MouseWheelMove(e);
                return(true);
            }
            return(false);
        }
Ejemplo n.º 3
0
        public override bool MouseUp(MouseButtonEventArgs e)
        {
            if (disposing || !IsVisible())
            {
                return(false);
            }
            if (scrollbarH.MouseUp(e))
            {
                return(true);
            }
            if (scrollbarV.MouseUp(e))
            {
                return(true);
            }

            if (ClientArea.Contains(e.X, e.Y))
            {
                MouseButtonEvent mbe = new MouseButtonEvent();
                mbe.X      = e.X - (Position.X + (int)scrollbarH.Value);
                mbe.Y      = e.Y - (Position.Y + (int)scrollbarV.Value);
                mbe.Button = e.Button;

                MouseButtonEventArgs modArgs = new MouseButtonEventArgs(mbe);

                foreach (GuiComponent component in components)
                {
                    component.MouseUp(modArgs);
                }
            }
            return(false);
        }
Ejemplo n.º 4
0
 public override bool MouseWheelMove(MouseInputEventArgs e)
 {
     if (ClientArea.Contains(new Point((int)e.Position.X, (int)e.Position.Y)))
     {
         if (ScrollingNeeded())
         {
             if (e.WheelDelta > 0)
             {
                 if (ScrollOffset + 1 <= _items.Count - 1)
                 {
                     ScrollOffset++;
                 }
                 return(true);
             }
             else if (e.WheelDelta < 0)
             {
                 if (ScrollOffset - 1 >= 0)
                 {
                     ScrollOffset--;
                 }
                 return(true);
             }
         }
     }
     return(false);
 }
Ejemplo n.º 5
0
        public override bool MouseUp(MouseButtonEventArgs e)
        {
            if (ClientArea.Contains(e.X, e.Y))
            {
                if (_playerManager.ControlledEntity == null)
                {
                    return(false);
                }

                IEntity entity    = _playerManager.ControlledEntity;
                var     equipment = (EquipmentComponent)entity.GetComponent(ComponentFamily.Equipment);
                var     hands     = (HumanHandsComponent)entity.GetComponent(ComponentFamily.Hands);

                if (CurrentEntity != null && CurrentEntity == _userInterfaceManager.DragInfo.DragEntity &&
                    hands.IsHandEmpty(hands.CurrentHand)) //Dropped from us to us. (Try to) unequip it to active hand.
                {
                    _userInterfaceManager.DragInfo.Reset();
                    equipment.DispatchUnEquipToHand(CurrentEntity.Uid);
                    return(true);
                }

                if (CurrentEntity == null && _userInterfaceManager.DragInfo.IsEntity &&
                    _userInterfaceManager.DragInfo.IsActive)
                {
                    Dropped?.Invoke(this, _userInterfaceManager.DragInfo.DragEntity);
                    return(true);
                }
            }

            return(false);
        }
        public override bool MouseDown(MouseButtonEventArgs e)
        {
            if (!ClientArea.Contains(new Point((int)e.X, (int)e.Y)))
            {
                return(false);
            }

            TargetingDummyElement prevSelection = (from element in _elements
                                                   where element.IsSelected()
                                                   select element).FirstOrDefault();

            foreach (TargetingDummyElement toClear in _elements)
            {
                toClear.ClearSelected();
            }

            foreach (TargetingDummyElement current in _elements.ToArray())
            //To array because list order changes in loop.
            {
                if (current.MouseDown(e))
                {
                    _elements = (from a in _elements
                                 orderby(a == current) ascending
                                 select a).ToList();
                    return(true);
                }
            }

            if (prevSelection != null)
            {
                prevSelection.Select();
            }

            return(false);
        }
        public override bool MouseDown(MouseInputEventArgs e)
        {
            if (!ClientArea.Contains(new Point((int)e.Position.X, (int)e.Position.Y)))
            {
                return(false);
            }

            var spritePosition = new Point((int)e.Position.X - Position.X + (int)_elementSprite.ImageOffset.X,
                                           (int)e.Position.Y - Position.Y + (int)_elementSprite.ImageOffset.Y);

            Image.ImageLockBox imgData = _elementSprite.Image.GetImageData();
            imgData.Lock(false);

            Color pixColour = Color.FromArgb((int)(imgData[spritePosition.X, spritePosition.Y]));

            imgData.Dispose();
            imgData.Unlock();

            if (pixColour.A != 0)
            {
                if (Clicked != null)
                {
                    Clicked(this);
                }
                _clickPoint = new Point((int)e.Position.X - Position.X, (int)e.Position.Y - Position.Y);
                _selected   = true;
                return(true);
            }

            _selected = false;
            return(false);
        }
Ejemplo n.º 8
0
 public void MouseMove(MouseButtonEventArgs e)
 {
     if (ClientArea.Contains(e.X, e.Y))
     {
         IEntity entity = _playerManager.ControlledEntity;
         var     hands  = (HumanHandsComponent)entity.GetComponent(ComponentFamily.Hands);
         switch (e.Button)
         {
         case Mouse.Button.Left:
             if (handL.Contains(e.X, e.Y))
             {
                 if (hands.HandSlots.Keys.Contains(InventoryLocation.HandLeft) && hands.HandSlots[InventoryLocation.HandLeft] != null)
                 {
                     IEntity entityL = hands.HandSlots[InventoryLocation.HandLeft];
                     _userInterfaceManager.DragInfo.StartDrag(entityL);
                 }
             }
             if (handR.Contains(e.X, e.Y))
             {
                 if (hands.HandSlots.Keys.Contains(InventoryLocation.HandRight) && hands.HandSlots[InventoryLocation.HandRight] != null)
                 {
                     IEntity entityR = hands.HandSlots[InventoryLocation.HandRight];
                     _userInterfaceManager.DragInfo.StartDrag(entityR);
                 }
             }
             break;
         }
     }
 }
Ejemplo n.º 9
0
 public override void MouseMove(MouseInputEventArgs e)
 {
     if (ClientArea.Contains(new Point((int)e.Position.X, (int)e.Position.Y)))
     {
         Entity entity = _playerManager.ControlledEntity;
         var    hands  = (HumanHandsComponent)entity.GetComponent(ComponentFamily.Hands);
         switch (e.Buttons)
         {
         case MouseButtons.Left:
             if (handL.Contains(new Point((int)e.Position.X, (int)e.Position.Y)))
             {
                 if (hands.HandSlots.Keys.Contains(Hand.Left) && hands.HandSlots[Hand.Left] != null)
                 {
                     Entity entityL = hands.HandSlots[Hand.Left];
                     _userInterfaceManager.DragInfo.StartDrag(entityL);
                 }
             }
             if (handR.Contains(new Point((int)e.Position.X, (int)e.Position.Y)))
             {
                 if (hands.HandSlots.Keys.Contains(Hand.Right) && hands.HandSlots[Hand.Right] != null)
                 {
                     Entity entityR = hands.HandSlots[Hand.Right];
                     _userInterfaceManager.DragInfo.StartDrag(entityR);
                 }
             }
             break;
         }
     }
 }
Ejemplo n.º 10
0
 public void MouseMove(MouseButtonEventArgs e)
 {
     if (ClientArea.Contains(new Point((int)e.X, (int)e.Y)))
     {
         if (e.Button == Mouse.Button.Left)
         {
             UiMgr.DragInfo.StartDrag(assignedAction);
         }
         else
         {
             if (!mouseOver)
             {
                 if (!mouseOver)
                 {
                     mouseOverStart = DateTime.Now;
                 }
                 mouseOver = true;
             }
             tooltipPos = new Point((int)e.X, (int)e.Y);
         }
     }
     else
     {
         mouseOver   = false;
         showTooltip = false;
     }
 }
Ejemplo n.º 11
0
        /// <param name="control"></param>
        /// <summary>
        /// Adjusts the scroll bar values so the specified control is displayed in the client region.
        /// </summary>
        public virtual void ScrollTo(Control control)
        {
// Make sure the control exists inside the client area somewhere.
            if (control != null && ClientArea != null && ClientArea.Contains(control, true))
            {
// Scroll down?
                if (control.AbsoluteTop + control.Height > ClientArea.AbsoluteTop + ClientArea.Height)
                {
                    sbVert.Value = sbVert.Value + control.AbsoluteTop - ClientArea.AbsoluteTop - sbVert.PageSize +
                                   control.Height;
                }
// Scroll up?
                else if (control.AbsoluteTop < ClientArea.AbsoluteTop)
                {
                    sbVert.Value = sbVert.Value + control.AbsoluteTop - ClientArea.AbsoluteTop;
                }
// Scroll left?
                if (control.AbsoluteLeft + control.Width > ClientArea.AbsoluteLeft + ClientArea.Width)
                {
                    sbHorz.Value = sbHorz.Value + control.AbsoluteLeft - ClientArea.AbsoluteLeft - sbHorz.PageSize +
                                   control.Width;
                }
// Scroll right?
                else if (control.AbsoluteLeft < ClientArea.AbsoluteLeft)
                {
                    sbHorz.Value = sbHorz.Value + control.AbsoluteLeft - ClientArea.AbsoluteLeft;
                }
            }
        }
Ejemplo n.º 12
0
 public override bool MouseWheelMove(MouseWheelEventArgs e)
 {
     if (ClientArea.Contains(e.X, e.Y))
     {
         if (ScrollingNeeded())
         {
             if (e.Delta > 0)
             {
                 if (ScrollOffset + 1 <= _items.Count - 1)
                 {
                     ScrollOffset++;
                 }
                 return(true);
             }
             else if (e.Delta < 0)
             {
                 if (ScrollOffset - 1 >= 0)
                 {
                     ScrollOffset--;
                 }
                 return(true);
             }
         }
     }
     return(false);
 }
Ejemplo n.º 13
0
 public override bool MouseUp(MouseInputEventArgs e)
 {
     if (ClientArea.Contains(new Point((int)e.Position.X, (int)e.Position.Y)))
     {
         return(true);
     }
     return(false);
 }
Ejemplo n.º 14
0
 public override bool MouseDown(MouseInputEventArgs e)
 {
     if (ClientArea.Contains(new Point((int)e.Position.X, (int)e.Position.Y)))
     {
         return(_targetArea.MouseDown(e));
     }
     return(false);
 }
Ejemplo n.º 15
0
 public override bool MouseUp(MouseButtonEventArgs e)
 {
     if (ClientArea.Contains(new Vector2i(e.X, e.Y)))
     {
         Selected?.Invoke(this);
     }
     return(true);
 }
 public override bool MouseUp(MouseButtonEventArgs e)
 {
     if (ClientArea.Contains(new Point((int)e.X, (int)e.Y)))
     {
         return(true);
     }
     return(false);
 }
Ejemplo n.º 17
0
 public override bool MouseDown(MouseButtonEventArgs e)
 {
     if (ClientArea.Contains(e.X, e.Y))
     {
         return(true);
     }
     return(false);
 }
Ejemplo n.º 18
0
 public override bool MouseDown(MouseButtonEventArgs e)
 {
     if (ClientArea.Contains(new Point((int)e.X, (int)e.Y)))
     {
         return(_targetArea.MouseDown(e));
     }
     return(false);
 }
Ejemplo n.º 19
0
 public override bool MouseDown(MouseButtonEventArgs e)
 {
     if (ClientArea.Contains(new Vector2i(e.X, e.Y)))
     {
         Value = !Value;
         return(true);
     }
     return(false);
 }
Ejemplo n.º 20
0
 public override bool MouseDown(MouseInputEventArgs e)
 {
     if (ClientArea.Contains(new Point((int)e.Position.X, (int)e.Position.Y)))
     {
         ResetEntity();
         return(true);
     }
     return(false);
 }
Ejemplo n.º 21
0
 public override bool MouseUp(MouseButtonEventArgs e)
 {
     if (ClientArea.Contains(new Point((int)e.X, (int)e.Y)))
     {
         assignedAction.Activate();
         return(true);
     }
     return(false);
 }
Ejemplo n.º 22
0
 public override bool MouseUp(MouseButtonEventArgs e)
 {
     if (ClientArea.Contains(new Point((int)e.X, (int)e.Y)))
     {
         if (Selected != null)
         {
             Selected(this);
         }
     }
     return(true);
 }
Ejemplo n.º 23
0
 public override void MouseMove(MouseInputEventArgs e)
 {
     if (ClientArea.Contains(new Point((int)e.Position.X, (int)e.Position.Y)))
     {
         _color = Color.LightSteelBlue;
     }
     else
     {
         _color = Color.White;
     }
 }
Ejemplo n.º 24
0
 public override void MouseMove(MouseMoveEventArgs e)
 {
     if (ClientArea.Contains(e.X, e.Y))
     {
         _color = new Color(176, 222, 196);
     }
     else
     {
         _color = Color.White;
     }
 }
 public override bool MouseDown(MouseButtonEventArgs e)
 {
     if (ClientArea.Contains(e.X, e.Y))
     {
         if (Clicked != null)
         {
             Clicked(this, associatedTemplate, associatedTemplateName);
         }
         return(true);
     }
     return(false);
 }
Ejemplo n.º 26
0
 public override void MouseMove(MouseMoveEventArgs e)
 {
     if (ClientArea.Contains(e.X, e.Y))
     {
         showTooltip = true;
         tooltipPos  = new Vector2i(e.X, e.Y);
     }
     else
     {
         showTooltip = false;
     }
 }
Ejemplo n.º 27
0
 public override void MouseMove(MouseInputEventArgs e)
 {
     if (ClientArea.Contains(new Point((int)e.Position.X, (int)e.Position.Y)))
     {
         showTooltip = true;
         tooltipPos  = new Point((int)e.Position.X, (int)e.Position.Y);
     }
     else
     {
         showTooltip = false;
     }
 }
 public override bool MouseDown(MouseInputEventArgs e)
 {
     if (ClientArea.Contains(new Point((int)e.Position.X, (int)e.Position.Y)))
     {
         if (Clicked != null)
         {
             Clicked(this, associatedTemplate, associatedTemplateName);
         }
         return(true);
     }
     return(false);
 }
Ejemplo n.º 29
0
 public override bool MouseDown(MouseButtonEventArgs e)
 {
     if (ClientArea.Contains(new Vector2i(e.X, e.Y)))
     {
         if (Clicked != null)
         {
             Clicked(this);
         }
         return(true);
     }
     return(false);
 }
Ejemplo n.º 30
0
 public override bool MouseUp(MouseInputEventArgs e)
 {
     if (ClientArea.Contains(new Point((int)e.Position.X, (int)e.Position.Y)))
     {
         if (_userInterfaceManager.DragInfo.IsEntity && _userInterfaceManager.DragInfo.IsActive)
         {
             SetEntity(_userInterfaceManager.DragInfo.DragEntity);
             _userInterfaceManager.DragInfo.Reset();
             return(true);
         }
     }
     return(false);
 }