本文整理汇总了C++中Reference::add方法的典型用法代码示例。如果您正苦于以下问题:C++ Reference::add方法的具体用法?C++ Reference::add怎么用?C++ Reference::add使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Reference
的用法示例。
在下文中一共展示了Reference::add方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: addIngredientToSlot
int ManufactureSchematicImplementation::addIngredientToSlot(CreatureObject* player, SceneObject* satchel, TangibleObject* tano, int slot) {
if (slot >= ingredientSlots.size())
return IngredientSlot::INVALID;
Reference<IngredientSlot*> ingredientSlot = ingredientSlots.get(slot);
if (ingredientSlot == NULL)
return IngredientSlot::INVALID;
bool wasEmpty = false;
if(ingredientSlot->isFull())
return IngredientSlot::FULL;
if(ingredientSlot->isEmpty())
wasEmpty = true;
if(!ingredientSlot->add(player, satchel, tano))
return IngredientSlot::INVALIDINGREDIENT;
if(wasEmpty) {
updateIngredientCounter();
increaseComplexity();
// DMSCO6 ***************************************************
ManufactureSchematicObjectDeltaMessage6* dMsco6 =
new ManufactureSchematicObjectDeltaMessage6(_this.getReferenceUnsafeStaticCast());
dMsco6->insertToResourceSlot(slot);
dMsco6->close();
player->sendMessage(dMsco6);
// End DMSCO6 ****************************************************
sendDelta7(ingredientSlot, slot, player);
if(possibleSyncIssue) {
sendMsco7(player);
possibleSyncIssue = false;
}
} else {
possibleSyncIssue = true;
/// Delta 7
sendDelta7(ingredientSlot, slot, player);
}
// Start DMSCO3 ***********************************************************
// Updates the Complexity
ManufactureSchematicObjectDeltaMessage3* dMsco3 =
new ManufactureSchematicObjectDeltaMessage3(_this.getReferenceUnsafeStaticCast());
dMsco3->updateComplexity(getComplexity());
dMsco3->close();
player->sendMessage(dMsco3);
// End DMSCO3 *************************************************************
return IngredientSlot::OK;
}