void AddItemDto(List <InventoryGridUi> list, InventoryItemDTO itemDto, InventoryGridUi gridUi) { for (int i = 0; i < list.Count; i++) { if (list[i].num == 0 || list[i].inventoryItemDto == null) { gridUi = list[i]; break; } } if (gridUi != null) { GameObject prefab; if (ItemprefabPool.Count > 0) { prefab = ItemprefabPool.Pop(); prefab.gameObject.SetActive(true); } else { prefab = Instantiate(itemprefab); } prefab.transform.SetParent(gridUi.gameObject.transform, false); prefab.transform.localScale = Vector3.one; prefab.transform.localPosition = Vector3.zero; gridUi.SetInfo(itemDto); } else { WarrningManager.warringList.Add(new WarringModel("背包已满!", null, 2)); } }
public void OnEndDrag(PointerEventData eventData) { //销毁图标 if (dragedIcon != null) { Destroy(dragedIcon.gameObject); } GameObject go = eventData.pointerEnter; if (go != null) { if (go.tag == TAGS.ItemGrid)//拖到格子上 { InventoryGridUi oldGrid = transform.parent.GetComponent <InventoryGridUi>(); InventoryGridUi newGrid = go.GetComponent <InventoryGridUi>(); transform.SetParent(go.transform, false); newGrid.SetInfo(oldGrid.inventoryItemDto); oldGrid.CleraInfo(); } else if (go.tag == TAGS.Item && go != transform.gameObject)//拖到物品上且不是自己 { InventoryItemDTO _itemDto; InventoryGridUi oldGrid = transform.parent.GetComponent <InventoryGridUi>(); InventoryGridUi newGrid = go.transform.parent.GetComponent <InventoryGridUi>(); _itemDto = oldGrid.inventoryItemDto; oldGrid.SetInfo(newGrid.inventoryItemDto); newGrid.SetInfo(_itemDto); } else if (go.tag == TAGS.Shortcut)//快捷栏 { if (ItemDto.inventory.inventoryType == InventoryType.Drug) { go.GetComponent <Shortcut>().SetInfo(ItemDto); } } } else { } }