本文整理汇总了C++中CGameItemPtr::newItem方法的典型用法代码示例。如果您正苦于以下问题:C++ CGameItemPtr::newItem方法的具体用法?C++ CGameItemPtr::newItem怎么用?C++ CGameItemPtr::newItem使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CGameItemPtr
的用法示例。
在下文中一共展示了CGameItemPtr::newItem方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: buildNpcSpecificItems
//----------------------------------------------------------------------------
// CGameItemManager::buildNpcSpecificItems
//----------------------------------------------------------------------------
void CGameItemManager::buildNpcSpecificItems()
{
if (EGSLight)
return;
for( CAllStaticItems::const_iterator it = CSheets::getItemMapForm().begin(); it != CSheets::getItemMapForm().end(); ++it )
{
// only keep npc items
// if( (*it).first.toString().substr(0,4) != "npc_" ) //obsolete, now we want be able to have all non craftable item
if( (*it).first.toString().substr(0,2) == "ic" )
{
continue;
}
CGameItemPtr item;
// item.newItem( CEntityId::Unknown, (*it).first, 1, 0, false,false );
item.newItem( it->first, 1, false,false );
_NpcSpecificItems.push_back(item);
#ifdef NL_DEBUG
nldebug("built npc item item %s", (*it).first.toString().c_str());
#endif
}
} // CGameItemManager //
示例2: getNewItem
//---------------------------------------------------
// getNewItem :
//
//---------------------------------------------------
//CGameItemPtr CGameItemManager::getNewItem( CEntityId& id, CSheetId& sheetId, uint16 quality, bool destroyable , bool dropable)
CGameItemPtr CGameItemManager::getNewItem( const CSheetId& sheetId, uint16 quality, bool destroyable , bool dropable)
{
CAllStaticItems::iterator itForm = CSheets::getItemMapFormNoConst().find( sheetId );
if( itForm != CSheets::getItemMapFormNoConst().end() )
{
// get the slot count
// sint16 slotCount = 0;
//nldebug("<CGameItemManager::getNewItem> Family type: %s", ITEMFAMILY::toString( (*itForm).second.Family ).c_str() );
// if( ( (*itForm).second.Family == ITEMFAMILY::BAG ) || ( (*itForm).second.Family == ITEMFAMILY::STACK ) )
// {
// slotCount = (*itForm).second.SlotCount;
// }
// create the item
CGameItemPtr item;
// item.newItem( id, sheetId, quality, slotCount, destroyable, dropable );
item.newItem( sheetId, quality, destroyable, dropable );
// if( item!=NULL )
// {
// init the dynamic values from sheet -> DONE in CGameItemCreator
//(*item).Quality = (*itForm).second.Quality;
//(*item).HP = (*itForm).second.HitPoints;
// if this item contains sub items we create them
// if( (*itForm).second.Family == ITEMFAMILY::CORPSE || (*itForm).second.Family == ITEMFAMILY::CARRION )
// {
// create the content
/* for (uint i=0; i < (*itForm).second.Content.size(); i++)
{
CSheetId itemSheetId( (*itForm).second.Content[i] );
createItem( itemSheetId, quality, id, -1, destroyable,dropable );
}
*/
// if the item is a corpse, we push it to list and erase the olds one if we reached max corpse count
// if( (*itForm).second.Family == ITEMFAMILY::CORPSE )
// {
// _Corpses.push( item );
// if( _Corpses.size() > CorpseMaxCount )
// {
// CGameItemPtr itemTmp = _Corpses.front();
// destroyItem( itemTmp );
// _Corpses.pop();
// }
// }
// }
// }
return item;
}
return NULL;
} // getNewItem //