void Update() { if (Input.GetMouseButtonUp(0)) { if (!eventSystem.IsPointerOverGameObject(-1) && _slotMoveFrom != null) { _slotMoveFrom.GetComponent <Image>().color = Color.white; _slotMoveFrom.ClearSlot(); _slotMoveTo = null; _slotMoveFrom = null; } } }
// 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; } }
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>(); } }