Exemplo n.º 1
0
    private void MixItemData(ref ItemData existingItem, ref ItemData draggedItem, Recipe newRecipe)
    {
        if (!_inv.UseEnergy(newRecipe.Energy))
        {
            _inv.PrintMessage("Not enough energy to mix these items", Color.yellow);
            return;
        }
        existingItem.ItemIns.UserItem.StackCnt = existingItem.ItemIns.UserItem.StackCnt - newRecipe.FirstItemCnt;
        draggedItem.ItemIns.UserItem.StackCnt  = draggedItem.ItemIns.UserItem.StackCnt - newRecipe.SecondItemCnt;

        var item     = _inv.BuildItemFromDatabase(newRecipe.FinalItemId);
        int stackCnt = Math.Min(newRecipe.FinalItemCnt, item.MaxStackCnt);

        _itemMixture.LoadItem(item.Id, stackCnt, newRecipe.DurationMinutes);
        _inv.PrintMessage("Making " + item.Name + " starts", Color.green);
        _inv.AddCharacterSetting("Experience", newRecipe.Energy);

        //Update stackCnt Text
        var stackCntText = existingItem.transform.GetComponentInChildren <TextMeshProUGUI>();

        stackCntText.text = existingItem.ItemIns.UserItem.StackCnt > 1 ? existingItem.ItemIns.UserItem.StackCnt.ToString() : "";

        stackCntText      = draggedItem.transform.GetComponentInChildren <TextMeshProUGUI>();
        stackCntText.text = draggedItem.ItemIns.UserItem.StackCnt > 1 ? draggedItem.ItemIns.UserItem.StackCnt.ToString() : "";

        _inv.UpdateInventory();
    }