本文整理汇总了C++中NPC::load方法的典型用法代码示例。如果您正苦于以下问题:C++ NPC::load方法的具体用法?C++ NPC::load怎么用?C++ NPC::load使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类NPC
的用法示例。
在下文中一共展示了NPC::load方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: handleNewMap
void NPCManager::handleNewMap() {
Map_NPC mn;
ItemStack item_roll;
// remove existing NPCs
for (unsigned i=0; i<npcs.size(); i++)
delete(npcs[i]);
npcs.clear();
// read the queued NPCs in the map file
while (!map->npcs.empty()) {
mn = map->npcs.front();
map->npcs.pop();
NPC *npc = new NPC(map, items);
npc->load(mn.id, stats->level);
npc->pos.x = mn.pos.x;
npc->pos.y = mn.pos.y;
// if this NPC needs randomized items
while (npc->random_stock > 0 && npc->stock_count < NPC_VENDOR_MAX_STOCK) {
item_roll.item = loot->randomItem(npc->level);
item_roll.quantity = rand() % items->items[item_roll.item].rand_vendor + 1;
npc->stock.add(item_roll);
npc->random_stock--;
}
npc->stock.sort();
npcs.push_back(npc);
}
}
示例2: loadNpcs
void MapLoader::loadNpcs(MapData& data, Screen* screen, Map* map) const {
MapMainCharacter* mainCharacter = dynamic_cast<MapScreen*>(screen)->getMainCharacter();
if (mainCharacter == nullptr) {
g_logger->logError("MapLoader", "Could not find main character of map screen");
return;
}
// calculate npcs
for (auto& it : data.npcs) {
NPC* mapNPC = new NPC(map);
mapNPC->load(mainCharacter, it);
screen->addObject(mapNPC);
}
}