예제 #1
0
    private DroppedItem MakeItem(ItemType type)
    {
        DroppedItem item = Instantiate(itemPrefab, this.transform);

        item.Initialize(type);

        return(item);
    }
예제 #2
0
    private void CreateDropItemPool(int createMultiple)
    {
        for (int itemIdx = 0; itemIdx < itemDatas.Length; ++itemIdx)
        {
            List <DroppedItem> itemPool;
            if (!deactiveDroppedItems.TryGetValue(itemDatas[itemIdx].ItemCode, out itemPool))
            {
                itemPool = new List <DroppedItem>();
            }
            for (int createIdx = 0; createIdx < itemDatas[itemIdx].MaxDropCount * createMultiple; ++createIdx)
            {
                ItemData    data        = ItemDB.Instance.GetItemData(itemDatas[itemIdx].ItemCode);
                GameObject  foundPrefab = AssetBundleCacher.Instance.LoadAndGetAsset("droppeditem", $"{data.Name}_Dropped") as GameObject;
                DroppedItem newItem     = Instantiate(foundPrefab).GetComponent <DroppedItem>();
                newItem.transform.parent = droppedItemPoolObj;
                newItem.gameObject.SetActive(false);
                newItem.Initialize(data, ItemWasCollided);

                itemPool.Add(newItem);
            }
            deactiveDroppedItems.Add(itemDatas[itemIdx].ItemCode, itemPool);
        }
    }