private void DefaultCase(UIItemSlot clickedSlot) { if (!cursorSlot.HasItem && clickedSlot.HasItem) { cursorSlot.PutStack(clickedSlot.TakeStack()); } else { if (cursorSlot.HasItem && !clickedSlot.HasItem) { clickedSlot.PutStack(cursorSlot.TakeStack()); } else if (cursorSlot.HasItem && clickedSlot.HasItem) { if (cursorSlot.ID != clickedSlot.ID) { ItemStack oldCursorSlot = cursorSlot.TakeStack(); ItemStack oldSlot = clickedSlot.TakeStack(); clickedSlot.PutStack(oldCursorSlot); cursorSlot.PutStack(oldSlot); } else if (cursorSlot.Amount < cursorSlot.Size) { int value = cursorSlot.Put(clickedSlot.Amount); clickedSlot.Take(value); } } } }
private void Update() { if (!uicontroller.IsInUI) { if (cursorSlot.HasItem) { //throw away*/ cursorSlot.TakeStack(); } return; } cursorSlot.transform.position = Input.mousePosition; if (Input.GetMouseButtonDown(0)) { HandleSlotClick(CheckForSlot()); } }
private void ResultCase(UIItemSlot clickedSlot) { if (!cursorSlot.HasItem && clickedSlot.HasItem) { cursorSlot.PutStack(clickedSlot.TakeStack()); clickedSlot.IsClicked = true; } else if (cursorSlot.HasItem && clickedSlot.HasItem && cursorSlot.ID == clickedSlot.ID && cursorSlot.Size - cursorSlot.Amount >= clickedSlot.Amount) { cursorSlot.Put(clickedSlot.Amount); clickedSlot.Take(clickedSlot.Amount); clickedSlot.IsClicked = true; } }