本文整理汇总了C++中Monster::decrementReferenceCounter方法的典型用法代码示例。如果您正苦于以下问题:C++ Monster::decrementReferenceCounter方法的具体用法?C++ Monster::decrementReferenceCounter怎么用?C++ Monster::decrementReferenceCounter使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Monster
的用法示例。
在下文中一共展示了Monster::decrementReferenceCounter方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
Spawn::~Spawn()
{
for (const auto& it : spawnedMap) {
Monster* monster = it.second;
monster->setSpawn(nullptr);
monster->decrementReferenceCounter();
}
}
示例2: cleanup
void Spawn::cleanup()
{
auto it = spawnedMap.begin();
while (it != spawnedMap.end()) {
uint32_t spawnId = it->first;
Monster* monster = it->second;
if (monster->isRemoved()) {
if (spawnId != 0) {
spawnMap[spawnId].lastSpawn = OTSYS_TIME();
}
monster->decrementReferenceCounter();
it = spawnedMap.erase(it);
} else if (!isInSpawnZone(monster->getPosition()) && spawnId != 0) {
spawnedMap.insert(spawned_pair(0, monster));
it = spawnedMap.erase(it);
} else {
++it;
}
}
}