Bazaar developer reference

CvAIOperation::Uninit()

Defined in
CvAIOperation.cpp, line 64
Class
CvAIOperation
Hook name
CivHooks::CvAIOperation_Uninit

Hooks

static bool BeforeCvAIOperation_Uninit(CvAIOperation* self);static void AfterCvAIOperation_Uninit(CvAIOperation* self);static void ReplaceCvAIOperation_Uninit(void (*original)(CvAIOperation*), CvAIOperation* self);CivRegisterBefore<CivHooks::CvAIOperation_Uninit>(host, &BeforeCvAIOperation_Uninit);CivRegisterAfter<CivHooks::CvAIOperation_Uninit>(host, &AfterCvAIOperation_Uninit);CivRegisterReplace<CivHooks::CvAIOperation_Uninit>(host, &ReplaceCvAIOperation_Uninit);

Code

63/// Delete allocated objects64void CvAIOperation::Uninit()65{66	if(m_eOwner != NO_PLAYER)  // hopefully if this has been init'ed this should not happen67	{68		CvPlayer& thisPlayer = GET_PLAYER(m_eOwner);6970		// remove the armies (which should, in turn, free up their units for other tasks)71		for(unsigned int uiI = 0; uiI < m_viArmyIDs.size(); uiI++)72		{73			CvArmyAI* thisArmy = thisPlayer.getArmyAI(m_viArmyIDs[uiI]);74			if(thisArmy)75			{76				thisArmy->Kill();77				thisPlayer.deleteArmyAI(m_viArmyIDs[uiI]);78				DeleteArmyAI(m_viArmyIDs[uiI]);79			}80		}81	}8283	// clear out the lists84	m_viArmyIDs.clear();85	m_viListOfUnitsWeStillNeedToBuild.clear();86	m_viListOfUnitsCitiesHaveCommittedToBuild.clear();8788	Reset();89}

Calls

Called by