コード例 #1
0
ファイル: Knapsack.cs プロジェクト: hehay/hehayGame
 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));
     }
 }
コード例 #2
0
ファイル: InventoryItemUi.cs プロジェクト: hehay/hehayGame
    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
        {
        }
    }