void OnEndCraft() { Destroy(currCraft.gameObject); currCraft = null; while (currCraft == null && itemsQueueUI.Count != 0) { currCraft = itemsQueueUI.Dequeue(); } if (currCraft != null) { craftingPlace.Craft(currCraft.craft); } else { craftingPlace.ResetCraftTime(); } }
void OnClickOnItem(CraftSO craft) { CraftingQueueItemUI newCraft = Instantiate(itemInQueuePrefab, queueParent.transform).GetComponent <CraftingQueueItemUI>(); newCraft.Init(craft, OnClickOnItemInQueue); if (currCraft == null) { currCraft = newCraft; craftingPlace.Craft(currCraft.craft); } else { itemsQueueUI.Enqueue(newCraft); } foreach (var ingradient in craft.ingradients) { inventoryToRemoveItem.RemoveItem(ingradient.CloneItem()); } }
void OnClickOnItemInQueue(CraftingQueueItemUI craftItemUI) { foreach (var ingradient in craftItemUI.craft.ingradients) { ItemData leftItem = GameManager.Instance.player.inventory.AddItem(ingradient.CloneItem()); if (leftItem.count != 0) { //TODO: Inventory full popup text Vector3 pos = GameManager.Instance.player.transform.position; ItemOnGround.CreateOnGround(leftItem, pos); leftItem.itemSO = null; } } if (craftItemUI == currCraft) { craftingPlace.AbortCraft(); } else { Destroy(craftItemUI.gameObject); } }