CvTacticalAI::DeleteTemporaryZone(CvPlot *)
- Defined in
- CvTacticalAI.cpp, line 475
- Class
- CvTacticalAI
- Hook name
CivHooks::CvTacticalAI_DeleteTemporaryZone
Hooks
static bool BeforeCvTacticalAI_DeleteTemporaryZone(CvTacticalAI* self, CvPlot* pPlot);static void AfterCvTacticalAI_DeleteTemporaryZone(CvTacticalAI* self, CvPlot* pPlot);static void ReplaceCvTacticalAI_DeleteTemporaryZone(void (*original)(CvTacticalAI*, CvPlot*), CvTacticalAI* self, CvPlot* pPlot);CivRegisterBefore<CivHooks::CvTacticalAI_DeleteTemporaryZone>(host, &BeforeCvTacticalAI_DeleteTemporaryZone);CivRegisterAfter<CivHooks::CvTacticalAI_DeleteTemporaryZone>(host, &AfterCvTacticalAI_DeleteTemporaryZone);CivRegisterReplace<CivHooks::CvTacticalAI_DeleteTemporaryZone>(host, &ReplaceCvTacticalAI_DeleteTemporaryZone);
Code
474/// Remove a temporary dominance zone we no longer need to track475void CvTacticalAI::DeleteTemporaryZone(CvPlot* pPlot)476{477 FStaticVector<CvTemporaryZone, SAFE_ESTIMATE_NUM_TEMP_ZONES, true, c_eCiv5GameplayDLL, 0> zonesCopy;478479 // Copy zones over480 zonesCopy = m_TempZones;481482 m_TempZones.clear();483484 // Copy back to original vector any whose coords don't match485 for(unsigned int iI = 0; iI < zonesCopy.size(); iI++)486 {487 if(zonesCopy[iI].GetX() != pPlot->getX() ||488 zonesCopy[iI].GetY() != pPlot->getY())489 {490 m_TempZones.push_back(zonesCopy[iI]);491 }492 }493}
Calls
BaseVector::clearBaseVector::operator[]BaseVector::size- CvPlot::getX() const
- CvPlot::getY() const
- CvTemporaryZone::GetX() const
- CvTemporaryZone::GetY() const
FStaticVector::FStaticVectorFStaticVector::operator=FStaticVector::push_back