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(); }