当前位置: 首页>>代码示例>>C++>>正文


C++ ItemInstance::GetType方法代码示例

本文整理汇总了C++中ItemInstance::GetType方法的典型用法代码示例。如果您正苦于以下问题:C++ ItemInstance::GetType方法的具体用法?C++ ItemInstance::GetType怎么用?C++ ItemInstance::GetType使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在ItemInstance的用法示例。


在下文中一共展示了ItemInstance::GetType方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: SortBufferBagItems

Void Inventory::SortBufferBagItems()
{
    if ( m_arrBags[INVENTORYBAGID_BUFFER].iFreeSlots == INVENTORY_BAG_SIZE )
        return;

    for( UInt i = 0; i < INVENTORY_BAG_SIZE; ++i ) {
        ItemInstance * pItemInstance = m_arrBags[INVENTORYBAGID_BUFFER].arrSlots[i];
        if ( pItemInstance == NULL )
            continue;

        InventoryBagID idTargetBag = INVENTORYBAGID_COUNT;
        switch( pItemInstance->GetType() ) {
            case ITEMTYPE_BLOCK:      idTargetBag = INVENTORYBAGID_BLOCK;       break;
            case ITEMTYPE_EQUIPMENT:  idTargetBag = INVENTORYBAGID_EQUIPMENT;   break;
            case ITEMTYPE_CONSUMABLE: idTargetBag = INVENTORYBAGID_CONSUMABLE; break;
            case ITEMTYPE_QUEST:      idTargetBag = INVENTORYBAGID_QUEST;       break;
            default: Assert(false); break;
        }
        if ( m_arrBags[idTargetBag].iFreeSlots == 0 )
            continue;

        UInt iFreeSlot = _Bag_GetFreeSlot( idTargetBag );
        Assert( m_arrBags[idTargetBag].arrSlots[iFreeSlot] == NULL );

        m_arrBags[INVENTORYBAGID_BUFFER].arrSlots[i] = NULL;
        m_arrBags[idTargetBag].arrSlots[iFreeSlot] = pItemInstance;

        ++(m_arrBags[INVENTORYBAGID_BUFFER].iFreeSlots);
        --(m_arrBags[idTargetBag].iFreeSlots);
    }
    SortBag( INVENTORYBAGID_BUFFER );
}
开发者ID:Shikifuyin,项目名称:Scarab-Engine,代码行数:32,代码来源:Inventory.cpp


注:本文中的ItemInstance::GetType方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。