CvTacticalAI::EstablishTacticalPriorities()
- Defined in
- CvTacticalAI.cpp, line 1177
- Class
- CvTacticalAI
- Hook name
CivHooks::CvTacticalAI_EstablishTacticalPriorities
Hooks
static bool BeforeCvTacticalAI_EstablishTacticalPriorities(CvTacticalAI* self);static void AfterCvTacticalAI_EstablishTacticalPriorities(CvTacticalAI* self);static void ReplaceCvTacticalAI_EstablishTacticalPriorities(void (*original)(CvTacticalAI*), CvTacticalAI* self);CivRegisterBefore<CivHooks::CvTacticalAI_EstablishTacticalPriorities>(host, &BeforeCvTacticalAI_EstablishTacticalPriorities);CivRegisterAfter<CivHooks::CvTacticalAI_EstablishTacticalPriorities>(host, &AfterCvTacticalAI_EstablishTacticalPriorities);CivRegisterReplace<CivHooks::CvTacticalAI_EstablishTacticalPriorities>(host, &ReplaceCvTacticalAI_EstablishTacticalPriorities);
Code
1176/// Choose which tactics to emphasize this turn1177void CvTacticalAI::EstablishTacticalPriorities()1178{1179 CvTacticalMove move;11801181 m_MovePriorityList.clear();11821183 // Loop through each possible tactical move1184 for(int iI = 0; iI < GC.getNumTacticalMoveInfos(); iI++)1185 {1186 const TacticalAIMoveTypes eTacticalAIMove = static_cast<TacticalAIMoveTypes>(iI);1187 CvTacticalMoveXMLEntry* pkTacticalMoveInfo = GC.getTacticalMoveInfo(eTacticalAIMove);1188 if(pkTacticalMoveInfo)1189 {1190 move.m_eMoveType = eTacticalAIMove;1191 move.m_iPriority = pkTacticalMoveInfo->GetPriority();11921193 if(move.m_iPriority >= 0)1194 {1195 m_MovePriorityList.push_back(move);1196 }1197 }1198 }11991200 // Now sort the moves in priority order1201 std::stable_sort(m_MovePriorityList.begin(), m_MovePriorityList.end());1202}
Calls
BaseVector::beginBaseVector::clearBaseVector::end- CvGlobals::getNumTacticalMoveInfos()
- CvGlobals::getTacticalMoveInfo(TacticalAIMoveTypes)
- CvTacticalMove::CvTacticalMove()
- CvTacticalMoveXMLEntry::GetPriority() const
FStaticVector::push_backstd::stable_sort