예제 #1
0
 void Update()
 {
     if (Input.GetMouseButtonUp(0))
     {
         if (!eventSystem.IsPointerOverGameObject(-1) && _slotMoveFrom != null)
         {
             _slotMoveFrom.GetComponent <Image>().color = Color.white;
             _slotMoveFrom.ClearSlot();
             _slotMoveTo   = null;
             _slotMoveFrom = null;
         }
     }
 }
예제 #2
0
    // Swap items slot
    public void MoveItem(GameObject clicked)
    {
        if (_slotMoveFrom == null)
        {
            if (!clicked.GetComponent <SlotManager>().SlotStackIsEmpty)
            {
                _slotMoveFrom = clicked.GetComponent <SlotManager>();
                _slotMoveFrom.GetComponent <Image>().color = Color.gray;
            }
        }
        else if (_slotMoveTo == null)
        {
            _slotMoveTo = clicked.GetComponent <SlotManager>();
        }

        if (_slotMoveTo != null && _slotMoveFrom != null)
        {
            Stack <ItemDatabase> tempTo = new Stack <ItemDatabase>(_slotMoveTo.SlotItemStack);
            _slotMoveTo.ReplaceAddItems(_slotMoveFrom.SlotItemStack);

            if (tempTo.Count == 0)
            {
                _slotMoveFrom.ClearSlot();
            }
            else
            {
                _slotMoveFrom.ReplaceAddItems(tempTo);
            }

            _slotMoveFrom.GetComponent <Image>().color = Color.white;
            _slotMoveTo   = null;
            _slotMoveFrom = null;
        }
    }
예제 #3
0
 public void SelectSlotToMove(GameObject selectedSlot)
 {
     // when we first select a slot to move from; from is null at first
     if (_slotMoveFrom == null)
     {
         // and if the slot is not empty
         if (!selectedSlot.GetComponent <SlotManager>().SlotStackIsEmpty)
         {
             // from is set to the first selected slot
             _slotMoveFrom = selectedSlot.GetComponent <SlotManager>();
             // set the first selected slot to grey
             _slotMoveFrom.GetComponent <Image>().color = Color.gray;
             // set the icon to gray too
             _slotMoveFrom.transform.Find("Icon").GetComponentInChildren <Image>().color = Color.gray;
         }
     }
     else if (_slotMoveTo == null) // when we select the second slot to move to; to is null at first
     {
         // Set to the second selected slot
         _slotMoveTo = selectedSlot.GetComponent <SlotManager>();
     }
 }