【发布时间】:2019-09-20 10:17:06
【问题描述】:
大家好,我只是想知道我的代码是否有问题。它可以添加带有堆栈的第一项,但它停止添加带有堆栈的第二项。请帮忙
void AddItems ()
{
Item itemToAdd = itemDatabase.items[0];
if (IsInInventory(itemToAdd))
{
for (int i = 0; i < inventoryItems.Count; i++)
{
if (inventoryItems[i].item == itemToAdd )
{
if (inventoryItems[i].item.isStackable)
{
if (inventoryItems[i].stackSize != inventoryItems[i].item.stackSize)
{
inventoryItems[i].stackSize++;
break;
}
}
}
else if (inventoryItems[i].item == itemToAdd && inventoryItems[i].stackSize > itemToAdd.stackSize)
{
AddItem(itemToAdd);
}
}
}
else
{
AddItem(itemToAdd);
}
}
【问题讨论】:
标签: c# unity3d stack inventory