本文整理汇总了C++中CInventory::GetEmptyInvenSlotCount方法的典型用法代码示例。如果您正苦于以下问题:C++ CInventory::GetEmptyInvenSlotCount方法的具体用法?C++ CInventory::GetEmptyInvenSlotCount怎么用?C++ CInventory::GetEmptyInvenSlotCount使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CInventory
的用法示例。
在下文中一共展示了CInventory::GetEmptyInvenSlotCount方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: HasEnoughInventoryEmptySlot
//*-------------------------------------------------------------------/
/// 분리/분해후 아이템이 들어갈 자리가 충분히 있는가?
//*-------------------------------------------------------------------/
bool CSeparateDlg::HasEnoughInventoryEmptySlot( CIconItem* pItemIcon, std::vector<CSlot>& OutputItems )
{
#ifdef _NEWBREAK
//06. 08. 24 - 김주현 : 지금 분해는 재료만 나오게 되어있다. 재료탭만 체크한다.
short nEmptySlotCount[ MAX_INV_TYPE ];
CInventory* pInven = g_pAVATAR->GetInventory();
assert( pInven );
nEmptySlotCount[INV_ETC] = pInven->GetEmptyInvenSlotCount( (t_InvTYPE)INV_ETC );
if(nEmptySlotCount[INV_ETC] < 4)
return false;
return true;
#else
assert( pItemIcon );
if( pItemIcon == NULL ) return false;
///일단 모든 타입의 빈 슬롯을 구한다.
short nEmptySlotCount[ MAX_INV_TYPE ];
CInventory* pInven = g_pAVATAR->GetInventory();
assert( pInven );
for( int i = INV_WEAPON; i < MAX_INV_TYPE; ++i )
nEmptySlotCount[i] = pInven->GetEmptyInvenSlotCount( (t_InvTYPE)i );
/// 분리/분해할 아이템의 자리를 빈슬롯으로 계산한다( 개수가 없거나 개수가 있지만 1개일경우)
tagITEM& Item = pItemIcon->GetItem();
if( (Item.IsEnableDupCNT() && Item.GetQuantity() == 1 ) || !Item.IsEnableDupCNT() )
nEmptySlotCount[ CInventory::GetInvPageTYPE( Item ) ]++;
CIcon* pIcon = NULL;
CIconItem* pOutputItemIcon = NULL;
std::vector<CSlot>::iterator iter;
for( iter = OutputItems.begin(); iter != OutputItems.end(); ++iter )
{
if( pIcon = iter->GetIcon() )
{
pOutputItemIcon = ( CIconItem* )pIcon;
nEmptySlotCount[ CInventory::GetInvPageTYPE( pOutputItemIcon->GetItem() ) ]--;
if( nEmptySlotCount[ CInventory::GetInvPageTYPE( pOutputItemIcon->GetItem() ) ] < 0 )
return false;
}
}
return true;
#endif
}