Ejemplo n.º 1
0
 private void ContainerItemOnCursorEnter(object sender, GuiCursorEventArgs e)
 {
     if (sender is InventoryContainerItem containerItem)
     {
         HighlightedSlot = containerItem;
     }
 }
Ejemplo n.º 2
0
 private void InventoryItemPressed(object sender, GuiCursorEventArgs e)
 {
     if (sender is InventoryContainerItem item)
     {
         InventoryItemClicked(item);
     }
 }
Ejemplo n.º 3
0
 private void ContainerItemOnCursorLeave(object sender, GuiCursorEventArgs e)
 {
     if (sender is InventoryContainerItem containerItem && containerItem == HighlightedSlot)
     {
         HighlightedSlot = null;
     }
 }
Ejemplo n.º 4
0
        private void ChildOnCursorLeave(object sender, GuiCursorEventArgs e)
        {
            if (sender == HoverItem)
            {
                HoverItem = null;
            }

            TextOverlay.IsVisible = false;
        }
Ejemplo n.º 5
0
        private void ChildOnCursorEnter(object sender, GuiCursorEventArgs e)
        {
            if (sender is InventoryContainerItem item)
            {
                TextOverlay.IsVisible = true;
                SetOverlayText(item);

                HoverItem = item;
            }
            //AddChild(TextOverlay);
        }
Ejemplo n.º 6
0
        private void ContainerItemOnCursorPressed(object sender, GuiCursorEventArgs e)
        {
            if (sender is InventoryContainerItem containerItem)
            {
                //We have not yet selected an item to move.
                if (HoverItem == null)
                {
                    if (HighlightedSlot != null && HighlightedSlot == containerItem)
                    {
                        SetCursorItem(HighlightedSlot, false, e.Button);
                    }
                }
                else                 //We have already selected an item, drop item.
                {
                    var originalHoverItem    = HoverItem;
                    var originalHighlight    = HighlightedSlot;
                    var originalSelectedItem = SelectedItem;

                    HoverItem    = null;
                    SelectedItem = null;

                    TextOverlay.IsVisible        = false;
                    CursorItemRenderer.IsVisible = false;

                    OnSlotChanged(originalHighlight, originalSelectedItem, false);
                    //OnItemDeSelected(originalHighlight, originalSelectedItem);

                    if (HoverItem == HighlightedSlot)                     //We dropped the item in it's original slot.
                    {
                        SetCursorItem(originalHoverItem, false, e.Button);

                        originalHoverItem.Item = originalSelectedItem;
                    }
                    else if (containerItem.Item == null || containerItem.Item.Count == 0 ||
                             containerItem.Item is ItemAir)                                                   //Item dropped in empty slot.
                    {
                        SetCursorItem(containerItem, false, e.Button);

                        containerItem.Item = originalSelectedItem;
                    }
                    else                     //Item was dropped on a slot that already has an item.
                    {
                        SetCursorItem(containerItem, false, e.Button);

                        containerItem.Item = originalSelectedItem;
                    }
                }
            }
        }
Ejemplo n.º 7
0
        private void ContainerItemOnCursorLeave(object sender, GuiCursorEventArgs e)
        {
            if (sender is InventoryContainerItem containerItem && containerItem == HighlightedSlot)
            {
                HighlightedSlot = null;

                if (SelectedItem != null)
                {
                    SetOverlayText(SelectedItem);
                }
                else
                {
                    SetOverlayText(null);
                }
            }
        }
Ejemplo n.º 8
0
        private void ContainerItemOnCursorDown(object sender, GuiCursorEventArgs e)
        {
            if (!AllowDragging)
            {
                return;
            }

            if (sender is InventoryContainerItem containerItem)
            {
                if (_dragStartItem == null && (containerItem.Item == null || containerItem.Item is ItemAir || containerItem.Item.Id <= 0) && HoverItem != null)
                {
                    _draggedContainers.Clear();
                    _dragStartItem = containerItem;
                    _dragging      = true;
                }
            }
        }
Ejemplo n.º 9
0
        private void ContainerItemOnCursorUp(object sender, GuiCursorEventArgs e)
        {
            if (!AllowDragging)
            {
                return;
            }

            if (sender is InventoryContainerItem containerItem)
            {
                if (_dragStartItem == null)
                {
                    return;
                }

                if (_dragStartItem == containerItem)
                {
                    return;
                }

                FinishDragging();
            }
        }