本文整理汇总了C++中Reference::addRewardedSchematic方法的典型用法代码示例。如果您正苦于以下问题:C++ Reference::addRewardedSchematic方法的具体用法?C++ Reference::addRewardedSchematic怎么用?C++ Reference::addRewardedSchematic使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Reference
的用法示例。
在下文中一共展示了Reference::addRewardedSchematic方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: handleObjectMenuSelect
int LootSchematicMenuComponent::handleObjectMenuSelect(SceneObject* sceneObject, CreatureObject* player, byte selectedID) {
if (!sceneObject->isTangibleObject())
return 0;
if (!player->isPlayerCreature())
return 0;
if(selectedID == 50) {
if (!sceneObject->isASubChildOf(player)) {
player->sendSystemMessage("@loot_schematic:must_be_holding"); // You must be holding that in order to use it.
return 0;
}
Reference<PlayerObject*> ghost = player->getSlottedObject("ghost").castTo<PlayerObject*>();
LootSchematicTemplate* schematicData = cast<LootSchematicTemplate*>(sceneObject->getObjectTemplate());
if (schematicData == NULL) {
error("No LootSchematicTemplate for: " + String::valueOf(sceneObject->getServerObjectCRC()));
return 0;
}
String skillNeeded = schematicData->getRequiredSkill();
if((!skillNeeded.isEmpty() && !player->hasSkill(skillNeeded))) {
StringIdChatParameter* noSkill = NULL;
noSkill = new StringIdChatParameter("@loot_schematic:not_enough_skill"); // You must have %TO skill in order to understand this.
noSkill->setTO(skillNeeded);
player->sendSystemMessage(*noSkill);
return 0;
}
ManagedReference<DraftSchematic* > schematic = SchematicMap::instance()->get(schematicData->getTargetDraftSchematic().hashCode());
if (schematic == NULL) {
player->sendSystemMessage("Error learning schematic, try again later");
error("Unable to create schematic: " + schematicData->getTargetDraftSchematic());
return 0;
}
if(ghost->addRewardedSchematic(schematic, SchematicList::LOOT, schematicData->getTargetUseCount(), true)) {
TangibleObject* tano = cast<TangibleObject*>(sceneObject);
if(tano != NULL)
tano->decreaseUseCount();
player->sendSystemMessage("@loot_schematic:schematic_learned"); // You acquire a new crafting schematic!
}
return 0;
} else
return TangibleObjectMenuComponent::handleObjectMenuSelect(sceneObject, player, selectedID);
return 0;
}