diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_Inventory.cs b/Assets/PerfectWorld/Scripts/Managers/EC_Inventory.cs index 7d113a8309..cb5a5fde1c 100644 --- a/Assets/PerfectWorld/Scripts/Managers/EC_Inventory.cs +++ b/Assets/PerfectWorld/Scripts/Managers/EC_Inventory.cs @@ -159,6 +159,7 @@ namespace BrewMonster.Scripts.Managers return true; } + /// C++ CECInventory::MergeItem: walk slots, call CECIvtrItem::MergeItem, then new slot if needed. public bool MergeItem(int tid, int iExpireDate, int iAmount, out int piLastSlot, out int piLastAmount) { piLastSlot = -1; @@ -171,16 +172,8 @@ namespace BrewMonster.Scripts.Managers var slotItem = m_aItems[i]; if (slotItem != null) { - if (slotItem.GetTemplateID() != tid) - continue; - - int pileLimit = Math.Max(1, EC_IvtrItem.GetPileLimit(tid)); - int canAdd = Math.Max(0, pileLimit - Math.Max(0, slotItem.GetCount())); - if (canAdd <= 0) continue; - - int add = Math.Min(canAdd, iAmount); - slotItem.AddAmount(add); - iAmount -= add; + int iNumMerge = slotItem.MergeItem(tid, iAmount); + iAmount -= iNumMerge; if (iAmount == 0) { diff --git a/Assets/PerfectWorld/Scripts/Managers/EC_InventoryUI.cs b/Assets/PerfectWorld/Scripts/Managers/EC_InventoryUI.cs index 8a3e9d53e7..d3d90979a5 100644 --- a/Assets/PerfectWorld/Scripts/Managers/EC_InventoryUI.cs +++ b/Assets/PerfectWorld/Scripts/Managers/EC_InventoryUI.cs @@ -22,10 +22,15 @@ namespace BrewMonster.Scripts.Managers { [Header("Pack Buttons (assign in Inspector)")] - [SerializeField] private List