Esempio n. 1
0
        protected override void DrawSelf(SpriteBatch spriteBatch)
        {
            Rectangle rectangle = GetDimensions().ToRectangle();

            if (IsMouseHovering)
            {
                OnMouseHover?.Invoke();
            }

            if (ContainsPoint(Main.MouseScreen) && !PlayerInput.IgnoreMouseInterface)
            {
                Main.LocalPlayer.mouseInterface = true;

                if (validItem == null || validItem(Main.mouseItem))
                {
                    bool?pre = PreItemChange?.Invoke(item);
                    if (pre == null || pre == true)
                    {
                        ItemSlot.Handle(ref item, context);                         //Handle handles all the click and hover actions based on the context.
                    }
                    PostItemChange?.Invoke(item);
                }
            }

            //Draw draws the slot itself and Item
            bool?preDraw = PreDrawItemSlot?.Invoke(item);

            if (preDraw == null || preDraw == true)
            {
                Draw(item, rectangle.TopLeft(), backgroundTexture, scale);
            }

            PostDrawItemSlot?.Invoke(item);
        }
Esempio n. 2
0
        private void RaycastFromCamera()
        {
            ray = mainCamera.ScreenPointToRay(Input.mousePosition);
            Physics.Raycast(ray, out hit, distance, mask);

            OnMouseHover.Invoke(hit);
        }
Esempio n. 3
0
 internal void TriggerOnMouseHover(MouseState state)
 {
     OnMouseHover?.Invoke(state);
 }
Esempio n. 4
0
 private void OnMouseOver()
 {
     OnMouseHover?.Invoke(this);
 }