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


C++ NPC::load方法代码示例

本文整理汇总了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);
	}

}
开发者ID:Ablu,项目名称:flare-engine,代码行数:33,代码来源:NPCManager.cpp

示例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);
	}
}
开发者ID:StanislavGrinkov,项目名称:Cendric2,代码行数:14,代码来源:MapLoader.cpp


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