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
- CvAIOperation::DeleteArmyAI(int)
- CvAIOperation::Reset()
- CvArmyAI::Kill()
- CvPlayer::deleteArmyAI(int)
- CvPlayer::getArmyAI(int)
- CvPlayerAI::getPlayer(PlayerTypes)
std::vector::clearstd::vector::clearstd::vector::operator[]std::vector::size