1
0
Fork 0

Added an AllowEmptyStacks param to cItemGrid::HowManyCanFit().

This commit is contained in:
madmaxoft 2013-08-11 14:54:45 +02:00
parent deeb3a15dc
commit d97b4463c6
2 changed files with 6 additions and 3 deletions

View File

@ -213,7 +213,7 @@ void cItemGrid::Clear(void)
int cItemGrid::HowManyCanFit(const cItem & a_ItemStack) int cItemGrid::HowManyCanFit(const cItem & a_ItemStack, bool a_AllowNewStacks)
{ {
char NumLeft = a_ItemStack.m_ItemCount; char NumLeft = a_ItemStack.m_ItemCount;
int MaxStack = ItemHandler(a_ItemStack.m_ItemType)->GetMaxStackSize(); int MaxStack = ItemHandler(a_ItemStack.m_ItemType)->GetMaxStackSize();
@ -221,7 +221,10 @@ int cItemGrid::HowManyCanFit(const cItem & a_ItemStack)
{ {
if (m_Slots[i].IsEmpty()) if (m_Slots[i].IsEmpty())
{ {
NumLeft -= MaxStack; if (a_AllowNewStacks)
{
NumLeft -= MaxStack;
}
} }
else if (m_Slots[i].IsStackableWith(a_ItemStack)) else if (m_Slots[i].IsStackableWith(a_ItemStack))
{ {

View File

@ -72,7 +72,7 @@ public:
void Clear(void); void Clear(void);
/// Returns number of items out of a_ItemStack that can fit in the storage /// Returns number of items out of a_ItemStack that can fit in the storage
int HowManyCanFit(const cItem & a_ItemStack); int HowManyCanFit(const cItem & a_ItemStack, bool a_AllowNewStacks = true);
/** Adds as many items out of a_ItemStack as can fit. /** Adds as many items out of a_ItemStack as can fit.
If a_AllowNewStacks is set to false, only existing stacks can be topped up; If a_AllowNewStacks is set to false, only existing stacks can be topped up;