private DroppedItem MakeItem(ItemType type) { DroppedItem item = Instantiate(itemPrefab, this.transform); item.Initialize(type); return(item); }
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); } }