本文整理汇总了C++中Item::GetItemGroup方法的典型用法代码示例。如果您正苦于以下问题:C++ Item::GetItemGroup方法的具体用法?C++ Item::GetItemGroup怎么用?C++ Item::GetItemGroup使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Item
的用法示例。
在下文中一共展示了Item::GetItemGroup方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: CreateAndAddItem
void Stash::CreateAndAddItem(const ItemType itemType, const ItemID itemID)
{
Item* newItem = ItemFactory::Instance().CreateItem(itemType, itemID);
if( newItem == nullptr )
{
ASSERT_DEBUG(newItem != nullptr);
return;
}
const ItemGroup itemGroup = newItem->GetItemGroup();
ItemList& itemList = this->m_ItemList[itemGroup];
{
ScopedLock lockForSerialize(m_LockForSerialize);
itemList.push_back(newItem);
}
}
示例2: MoveItemToAnotherStash
BOOL Stash::MoveItemToAnotherStash(Stash& stash, const ItemID itemID)
{
Item* moveItem = nullptr;
BOOL result = false;
{
ScopedLock lockForSerialize(m_LockForSerialize);
for( INT i = 0; i< ItemGroup_Max; ++i )
{
ItemList& itemList = m_ItemList[i];
ItemList::iterator iter = std::find_if(itemList.begin() , itemList.end(), [itemID](Item* item)->bool
{
if( item->GetItemID() == itemID )
{
return true;
}
return false;
});
if( iter != itemList.end() )
{
moveItem = *iter;
itemList.erase(iter);
result = true;
break;
}
}
}
if( moveItem != nullptr )
{
ScopedLock lockForSerialize(stash.m_LockForSerialize);
stash.m_ItemList[moveItem->GetItemGroup()].push_back(moveItem);
}
return result;
}