Beispiel #1
0
    //The procedure to be run when the user drops an item
    //The item shall be put into the slot it is dropped on if the slot can receive the item
    private void Drop(ItemSlot dropItemSlot)
    {
        if (dropItemSlot == null)
        {
            return;
        }

        if (dropItemSlot.CanReceiveItem(draggedItemSlot.Item) && draggedItemSlot.CanReceiveItem(dropItemSlot.Item))
        {
            Item dragItem = draggedItemSlot.Item;
            Item dropItem = dropItemSlot.Item;
            SwapItems(dropItem, dragItem, dropItemSlot);
        }
    }
    private void Drop(ItemSlot dropItemSlot)
    {
        if (draggedSlot == null)
        {
            return;
        }

        if (dropItemSlot.CanAddStack(draggedSlot.Item))
        {
            AddStacks(dropItemSlot);
        }
        else if (dropItemSlot.CanReceiveItem(draggedSlot.Item) && draggedSlot.CanReceiveItem(dropItemSlot.Item))
        {
            SwapItems(dropItemSlot);
            DropToHotkeyBar(dropItemSlot);
        }
    }
Beispiel #3
0
    private void Drop(ItemSlot dropItemSlot)
    {
        if (draggedSlot == null)
        {
            return;
        }

        if (dropItemSlot.CanReceiveItem(draggedSlot.item) && draggedSlot.CanReceiveItem(dropItemSlot.item))
        {
            EquipableItem dragItem = draggedSlot.item as EquipableItem;
            EquipableItem dropItem = dropItemSlot.item as EquipableItem;


            Item draggedItem = draggedSlot.item;
            draggedSlot.item  = dropItemSlot.item;
            dropItemSlot.item = draggedItem;
        }
    }
    private void Drop(ItemSlot dropItemSlot)
    {
        if (draggedSlot == null)
        {
            return;
        }

        if (dropItemSlot.CanReceiveItem(draggedSlot.Item) && draggedSlot.CanReceiveItem(dropItemSlot.Item))
        {
            EquippableItem dragItem = draggedSlot.Item as EquippableItem;
            EquippableItem dropItem = dropItemSlot.Item as EquippableItem;

            if (draggedSlot is EquipmentSlot)
            {
                if (dragItem != null)
                {
                    dragItem.Unequip(this);
                }
                if (dropItem != null)
                {
                    dropItem.Equip(this);
                }
            }
            if (dropItemSlot is EquipmentSlot)
            {
                if (dragItem != null)
                {
                    dragItem.Equip(this);
                }
                if (dropItem != null)
                {
                    dropItem.Unequip(this);
                }
            }

            statPanel.UpdateStatValues();

            Item draggedItem = draggedSlot.Item;
            draggedSlot.Item  = dropItemSlot.Item;
            dropItemSlot.Item = draggedItem;
        }
    }
    private void Drop(ItemSlot pDropItemSlot)
    {
        if (_draggedSlot == null || pDropItemSlot == null)
        {
            return;
        }

        if (pDropItemSlot.CanReceiveItem(_draggedSlot.Item) && _draggedSlot.CanReceiveItem(pDropItemSlot.Item))
        {
            Equippable    dragItem = _draggedSlot.Item as Equippable;
            Equippable    dropItem = pDropItemSlot.Item as Equippable;
            EquipmentSlot esDrag   = _draggedSlot as EquipmentSlot;
            EquipmentSlot esDrop   = pDropItemSlot as EquipmentSlot;

            if (_draggedSlot is EquipmentSlot)
            {
                if (dragItem != null)
                {
                    dragItem.Unequip(this);

                    if (esDrag.EquipmentType == EquipmentType.Gloves)
                    {
                        _equipmentPanel.EquipmentSlots[3].Item   = null;
                        _equipmentPanel.EquipmentSlots[3].Amount = 0;
                    }
                    else if (esDrag.EquipmentType == EquipmentType.Gloves1)
                    {
                        _equipmentPanel.EquipmentSlots[2].Item   = null;
                        _equipmentPanel.EquipmentSlots[2].Amount = 0;
                    }
                }
                if (dropItem != null)
                {
                    dropItem.Equip(this);

                    if (dropItem.ItemType == EquipmentType.Gloves)
                    {
                        if (esDrag.EquipmentType == EquipmentType.Gloves)
                        {
                            _equipmentPanel.EquipmentSlots[3].Item   = dropItem;
                            _equipmentPanel.EquipmentSlots[3].Amount = 1;
                        }
                        else if (esDrag.EquipmentType == EquipmentType.Gloves1)
                        {
                            _equipmentPanel.EquipmentSlots[2].Item   = dropItem;
                            _equipmentPanel.EquipmentSlots[2].Amount = 1;
                        }
                    }
                }
            }

            if (pDropItemSlot is EquipmentSlot)
            {
                if (!(_draggedSlot is ShopItemSlot))
                {
                    if (dropItem != null)
                    {
                        dropItem.Unequip(this);

                        if (esDrop.EquipmentType == EquipmentType.Gloves)
                        {
                            _equipmentPanel.EquipmentSlots[3].Item   = null;
                            _equipmentPanel.EquipmentSlots[3].Amount = 0;
                        }
                        else if (esDrop.EquipmentType == EquipmentType.Gloves1)
                        {
                            _equipmentPanel.EquipmentSlots[2].Item   = null;
                            _equipmentPanel.EquipmentSlots[2].Amount = 0;
                        }
                    }
                    if (dragItem != null)
                    {
                        dragItem.Equip(this);

                        if (dragItem.ItemType == EquipmentType.Gloves)
                        {
                            if (esDrop.EquipmentType == EquipmentType.Gloves)
                            {
                                _equipmentPanel.EquipmentSlots[3].Item   = dragItem;
                                _equipmentPanel.EquipmentSlots[3].Amount = 1;
                            }
                            else if (esDrop.EquipmentType == EquipmentType.Gloves1)
                            {
                                _equipmentPanel.EquipmentSlots[2].Item   = dragItem;
                                _equipmentPanel.EquipmentSlots[2].Amount = 1;
                            }
                        }
                    }
                }
                else
                {
                    GameController.errorMessage.AddMessage("Can't do that!");
                }
            }

            _statsPanel.UpdateStatValues();

            if (_draggedSlot is ShopItemSlot)
            {
                if (!(pDropItemSlot is ShopItemSlot))
                {
                    if (!(pDropItemSlot is EquipmentSlot))
                    {
                        if (!_shopInventory.IsFull())
                        {
                            if (DragToBuy(_draggedSlot))
                            {
                                if (DragToSell(pDropItemSlot.Item, pDropItemSlot))
                                {
                                    SwapItemes(pDropItemSlot);
                                }
                            }
                        }
                        else
                        {
                            if (pDropItemSlot.Item == null && DragToBuy(_draggedSlot))
                            {
                                SwapItemes(pDropItemSlot);
                            }
                        }
                    }
                }
                else
                {
                    SwapItemes(pDropItemSlot);
                }
            }
            else if (pDropItemSlot is ShopItemSlot)
            {
                if (DragToSell(_draggedSlot.Item, _draggedSlot))
                {
                    if (DragToBuy(pDropItemSlot))
                    {
                        SwapItemes(pDropItemSlot);
                    }
                    else if (pDropItemSlot.Item == null)
                    {
                        SwapItemes(pDropItemSlot);
                    }
                }
            }
            else
            {
                SwapItemes(pDropItemSlot);
            }
        }
        else
        {
            if (pDropItemSlot is EquipmentSlot)
            {
                GameController.errorMessage.AddMessage("Item cannot be equipped in this slot!");
            }
            else if (pDropItemSlot is ShopItemSlot)
            {
                GameController.errorMessage.AddMessage("Shop is full");
            }
            else
            {
                GameController.errorMessage.AddMessage("Inventory is full");
            }
        }
    }