예제 #1
0
    public void OnPointerUp(PointerEventData eventData)
    {
        RectTransform invPanel = inventoryGO.transform as RectTransform;

        //If we release the mouse outside of the panel then the FIRST slot
        //we clicked will be dropped from eventData raycast at OnPointerDown
        if (!RectTransformUtility.RectangleContainsScreenPoint(invPanel, Input.mousePosition))
        {
            inventory.DropInventoryUI(slotNumberOne);
            return;
        }

        //Figure out where were releasing our mouse
        PointerEventData pointer = new PointerEventData(EventSystem.current);

        pointer.position = Input.mousePosition;

        List <RaycastResult> raycastResults = new List <RaycastResult>();

        EventSystem.current.RaycastAll(pointer, raycastResults);

        //If we have something we hit
        if (raycastResults.Count > 0)
        {
            //Determine if its a slot0 - Slot9 on SECOND[1] Obj
            for (int i = 0; i < 10; i++)
            {
                if (raycastResults[1].gameObject.tag == slotTagArray[i])
                {
                    slotNumberTwo = i;
                    break;
                }
            }
        }
        if (slotNumberOne != slotNumberTwo)
        {
            inventory.SwapInventoryUI(slotNumberOne, slotNumberTwo);
        }
        else
        {
            return;
        }
    }