CvPlayer::haveAIOperationOfType(int, int *, PlayerTypes, CvPlot *)
- Defined in
- CvPlayer.cpp, line 22028
- Class
- CvPlayer
- Hook name
CivHooks::CvPlayer_haveAIOperationOfType
Hooks
static bool BeforeCvPlayer_haveAIOperationOfType(CvPlayer* self, int iOperationType, int* piID, PlayerTypes eTargetPlayer, CvPlot* pTarget, bool& result);static void AfterCvPlayer_haveAIOperationOfType(CvPlayer* self, int iOperationType, int* piID, PlayerTypes eTargetPlayer, CvPlot* pTarget, bool& result);static bool ReplaceCvPlayer_haveAIOperationOfType(bool (*original)(CvPlayer*, int, int*, PlayerTypes, CvPlot*), CvPlayer* self, int iOperationType, int* piID, PlayerTypes eTargetPlayer, CvPlot* pTarget);CivRegisterBefore<CivHooks::CvPlayer_haveAIOperationOfType>(host, &BeforeCvPlayer_haveAIOperationOfType);CivRegisterAfter<CivHooks::CvPlayer_haveAIOperationOfType>(host, &AfterCvPlayer_haveAIOperationOfType);CivRegisterReplace<CivHooks::CvPlayer_haveAIOperationOfType>(host, &ReplaceCvPlayer_haveAIOperationOfType);
Code
22028bool CvPlayer::haveAIOperationOfType(int iOperationType, int* piID /* optional return argument */, PlayerTypes eTargetPlayer /* optional additional match criteria */, CvPlot* pTarget /* optional additional match criteria */)22029{22030 // loop through all entries looking for match22031 std::map<int , CvAIOperation*>::iterator iter;22032 for(iter = m_AIOperations.begin(); iter != m_AIOperations.end(); ++iter)22033 {22034 CvAIOperation* pThisOperation = iter->second;22035 if(pThisOperation->GetOperationType() == iOperationType)22036 {22037 if(eTargetPlayer == NO_PLAYER || eTargetPlayer == pThisOperation->GetEnemy())22038 {22039 if(pTarget == NULL || pTarget == pThisOperation->GetTargetPlot())22040 {22041 // Fill in optional parameter (ID) if passed in22042 if(piID != NULL)22043 {22044 *piID = pThisOperation->GetID();22045 }22046 return true;22047 }22048 }22049 }22050 }22051 // Fill in optional parameter (ID) if passed in22052 if(piID != NULL)22053 {22054 *piID = -1;22055 }22056 return false;22057}
Calls
- CvAIOperation::GetEnemy() const
- CvAIOperation::GetID() const
- CvAIOperation::GetOperationType() const
- CvAIOperation::GetTargetPlot() const
std::_Tree::beginstd::_Tree::const_iterator::operator!=std::_Tree::endstd::_Tree::iterator::iteratorstd::_Tree::iterator::operator++std::_Tree::iterator::operator->std::_Tree::iterator::operator=
Called by
- CvMilitaryAI::GetBasicAttackOperation(PlayerTypes)
- CvMilitaryAI::GetCityStateAttackOperation(PlayerTypes)
- CvMilitaryAI::GetPureNavalAttackOperation(PlayerTypes)
- CvMilitaryAI::GetShowOfForceOperation(PlayerTypes)
- CvMilitaryAI::GetSneakAttackOperation(PlayerTypes)
- CvMilitaryAI::IsAttackReady(MultiunitFormationTypes, AIOperationTypes) const
- CvMilitaryAI::RequestSneakAttack(PlayerTypes)
- CvMilitaryAI::UpdateOperations()
- MilitaryAIHelpers::IsTestStrategy_EradicateBarbarians(MilitaryAIStrategyTypes, CvPlayer *, int, int)
- CvTacticalAI::PlotEscortNavalOperationMoves(CvArmyAI *)