Bazaar developer reference

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

Called by