Exemple #1
0
    /*
     * public void OnDrag(PointerEventData eventData)
     * {
     * if (ContainsItem())
     * {
     *     // display dragged item icon at mouse position
     *     charPanel.ShowDraggedItem(charPanel.items[index], index);
     *
     *     // delete the dragged item
     *     charPanel.items[index] = new Item();
     * }
     * }
     */

    bool EquipToSlot(EquipableItem draggedItem)
    {
        // * important
        // * slots index has the some order as
        // * weapon equip type enum's order

        if (index == (int)draggedItem.equipType)
        {
            // slot occupied
            if (ContainsItem())
            {
                // swap old -> new item
                // give old item back to inventory
                Item tempItem = charPanel.items[index];
                charPanel.items[index] = draggedItem;
                inventory.items[inventory.draggedItemSlotNum] = tempItem;

                draggedItem.ActiveItemEffect();
            }

            // slot empty
            else
            {
                charPanel.items[index] = draggedItem;
            }

            //inventory.HideDraggedItem();

            return(true);
        }

        Debug.Log("wrong slot!");
        return(false);
    }
Exemple #2
0
    public void OnPointerDown(PointerEventData eventData)
    {
        // right click
        if (eventData.button == PointerEventData.InputButton.Right)
        {
            // unequip
            if (ContainsItem())
            {
                // give item back to inventory
                inventory.AddItemByID(charPanel.items[index].itemID);

                UnequipInSlotItem();
            }
        }

        // left click
        if (eventData.button == PointerEventData.InputButton.Left)
        {
            // equip item
            if (inventory.isDraggingItem)
            {
                Item draggedItem = inventory.draggedItem;

                if (draggedItem is EquipableItem)
                {
                    EquipableItem equipment = (EquipableItem)draggedItem;

                    if (EquipToSlot(equipment))
                    {
                        AttachWeaponToPlayer(equipment);
                        equipment.ActiveItemEffect();
                    }
                }
            }
        }
    }