本文整理汇总了C++中CGuild::getOutpostGuildDBUpdater方法的典型用法代码示例。如果您正苦于以下问题:C++ CGuild::getOutpostGuildDBUpdater方法的具体用法?C++ CGuild::getOutpostGuildDBUpdater怎么用?C++ CGuild::getOutpostGuildDBUpdater使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CGuild
的用法示例。
在下文中一共展示了CGuild::getOutpostGuildDBUpdater方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: doOutpostGuildDBUpdates
//----------------------------------------------------------------------------
void COutpostManager::doOutpostGuildDBUpdates()
{
for (uint i = 0; i < _OutpostsWaitingGuildDBUpdate.size(); i++)
{
TAIAlias outpostAlias = _OutpostsWaitingGuildDBUpdate[i].first;
COutpostGuildDBUpdater::TDBPropSet dbPropSet = _OutpostsWaitingGuildDBUpdate[i].second;
CHashMap<uint, NLMISC::CSmartPtr<COutpost> >::iterator it = _OutpostsByAlias.find(outpostAlias);
if (it == _OutpostsByAlias.end())
continue;
NLMISC::CSmartPtr<COutpost> & outpost = (*it).second;
// check data consistency
if (outpost->isBelongingToAGuild() && outpost->getOwnerGuild() == outpost->getAttackerGuild())
{
nlwarning("Owner and attacker are the same guild (%u) for the outpost '%s'",
outpost->getOwnerGuild(),
outpost->getName().c_str()
);
DEBUG_STOP;
}
CGuild * ownerGuild = CGuildManager::getInstance()->getGuildFromId(outpost->getOwnerGuild());
if (ownerGuild != NULL)
{
COutpostGuildDBUpdaterPtr dbUpdater = ownerGuild->getOutpostGuildDBUpdater(outpost);
if (dbUpdater != NULL)
dbUpdater->updateOutpostGuildDB(dbPropSet);
}
CGuild * attackerGuild = CGuildManager::getInstance()->getGuildFromId(outpost->getAttackerGuild());
if (attackerGuild != NULL)
{
COutpostGuildDBUpdaterPtr dbUpdater = attackerGuild->getOutpostGuildDBUpdater(outpost);
if (dbUpdater != NULL)
dbUpdater->updateOutpostGuildDB(dbPropSet);
}
}
_OutpostsWaitingGuildDBUpdate.clear();
}