コード例 #1
0
 public virtual void Update()
 {
     if (Enabled)
     {
         if (Bounds.Contains(MouseReader.Position))
         {
             if (MouseReader.LeftClick())
             {
                 OnClick(new EventArgs());
             }
             else if (MouseReader.LeftPressed())
             {
                 _buttonState = ButtonState.Pressed;
             }
             else
             {
                 _buttonState = ButtonState.Hover;
             }
         }
         else
         {
             _buttonState = ButtonState.Normal;
         }
     }
 }
コード例 #2
0
        public void Update()
        {
            if (MouseReader.LeftClick())
            {
                Point position = MouseReader.Position;

                if (Bounds.Contains(position))
                {
                    OnClick(new EventArgs());
                }
            }
        }
コード例 #3
0
        public void Update(GameTime gameTime)
        {
            if (Enabled)
            {
                _snowyBackground.Update(gameTime);

                UpdateCamera();

                if (DndItem != null)
                {
                    Vector2 mousePosition = MouseReader.Position.ToVector2();

                    if (Bounds.Contains(mousePosition))
                    {
                        FindSnapPosition(mousePosition);
                        UpdateDndLayer();
                        UpdateRectangleDrawer(mousePosition);

                        if (MouseReader.LeftClick())
                        {
                            GameObject gameObject = (GameObject)DndItem.Clone();
                            gameObject.Position = Camera.ScreenToWorld(_snapPosition.GetValueOrDefault(mousePosition));
                            Items.Add(gameObject);
                        }

                        if (MouseReader.RightClick())
                        {
                            for (int i = Items.Count - 1; i >= 0; --i)
                            {
                                if (Items[i].Bounds.Contains(Camera.ScreenToWorld(mousePosition)))
                                {
                                    Items.RemoveAt(i);
                                    break;
                                }
                            }
                        }
                    }
                }
            }
        }