Esempio n. 1
0
        //Here we processing the moment when we start dragging an item
        public void OnBeginDrag(PointerEventData eventData)
        {
            transform.SetParent(inventory.transform);

            //Turn of raycastTarget to prevent unexpected raycasts
            image.raycastTarget = false;

            //Saving last item position to restore if something goes wrong
            lastPosition = m_rect.anchoredPosition;

            //Find occupied slot and setting it free
            var slot = inventory.FindSlotByIndex(x, y);

            //If InventoryItem in equipment slot, removing refernce for it on equip component
            if (slot.equipmentPanel != null)
            {
                if (slot.equipmentPanel.equipedItem != null)
                {
                    slot.equipmentPanel.equipedItem = null;
                }
            }

            //Marking slots as free
            inventory.MarkSlots(x, y, width, height, true);

            //inventory.DrawColorsForHoveredSlots(x, y, width, height);

            //To render our image above other UI elements, we put it transform to the end of our transforms list
            transform.SetAsLastSibling();

            //Make item image semi-transparent
            image.color = new Color(1, 1, 1, 0.5f);
        }