本文整理汇总了C++中poolgroupquestmap::iterator::GetFirstEqualChancedObjectId方法的典型用法代码示例。如果您正苦于以下问题:C++ iterator::GetFirstEqualChancedObjectId方法的具体用法?C++ iterator::GetFirstEqualChancedObjectId怎么用?C++ iterator::GetFirstEqualChancedObjectId使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类poolgroupquestmap::iterator
的用法示例。
在下文中一共展示了iterator::GetFirstEqualChancedObjectId方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: ChangeDailyQuests
void PoolMgr::ChangeDailyQuests()
{
for (PoolGroupQuestMap::iterator itr = mPoolQuestGroups.begin(); itr != mPoolQuestGroups.end(); ++itr)
{
if (sObjectMgr.GetQuestTemplate(itr->GetFirstEqualChancedObjectId()))
{
UpdatePool<Quest>(itr->GetPoolId(), 1); // anything non-zero means don't load from db
}
}
SaveQuestsToDB();
}
示例2: ChangeWeeklyQuests
void PoolMgr::ChangeWeeklyQuests() {
for (PoolGroupQuestMap::iterator itr = mPoolQuestGroups.begin();
itr != mPoolQuestGroups.end(); ++itr) {
if (Quest const* pQuest = sObjectMgr->GetQuestTemplate(itr->GetFirstEqualChancedObjectId())) {
if (pQuest->IsDaily())
continue;
UpdatePool<Quest>(itr->GetPoolId(), 1);
}
}
SaveQuestsToDB();
}
示例3: ChangeDailyQuests
void PoolMgr::ChangeDailyQuests()
{
for (PoolGroupQuestMap::iterator itr = mPoolQuestGroups.begin(); itr != mPoolQuestGroups.end(); ++itr)
{
if (Quest const* quest = sObjectMgr->GetQuestTemplate(itr->GetFirstEqualChancedObjectId()))
{
if (quest->IsWeekly())
continue;
UpdatePool<Quest>(itr->GetPoolId(), 1); // anything non-zero means don't load from db
}
}
SaveQuestsToDB(true, false, false);
}
示例4: SaveQuestsToDB
void PoolMgr::SaveQuestsToDB(bool daily, bool weekly, bool other)
{
SQLTransaction trans = CharacterDatabase.BeginTransaction();
// pussywizard: mysql thread races, change only what is meant to be changed
std::set<uint32> deletedPools;
for (PoolGroupQuestMap::iterator itr = mPoolQuestGroups.begin(); itr != mPoolQuestGroups.end(); ++itr)
{
if (itr->isEmpty())
continue;
if (Quest const* quest = sObjectMgr->GetQuestTemplate(itr->GetFirstEqualChancedObjectId()))
{
if (!daily && quest->IsDaily())
continue;
if (!weekly && quest->IsWeekly())
continue;
if (!other && !quest->IsDaily() && !quest->IsWeekly())
continue;
}
PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_QUEST_POOL_SAVE);
stmt->setUInt32(0, itr->GetPoolId());
trans->Append(stmt);
deletedPools.insert(itr->GetPoolId());
}
for (SearchMap::iterator itr = mQuestSearchMap.begin(); itr != mQuestSearchMap.end(); ++itr)
if (deletedPools.find(itr->second) != deletedPools.end())
if (IsSpawnedObject<Quest>(itr->first))
{
PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_INS_QUEST_POOL_SAVE);
stmt->setUInt32(0, itr->second);
stmt->setUInt32(1, itr->first);
trans->Append(stmt);
}
CharacterDatabase.CommitTransaction(trans);
}