Esempio n. 1
0
    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();
        }
    }
Esempio n. 2
0
    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());
        }
    }
Esempio n. 3
0
    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);
        }
    }