CvTacticalAnalysisMap::AddTemporaryZones()
- Defined in
- CvTacticalAnalysisMap.cpp, line 466
- Class
- CvTacticalAnalysisMap
- Hook name
CivHooks::CvTacticalAnalysisMap_AddTemporaryZones
Hooks
static bool BeforeCvTacticalAnalysisMap_AddTemporaryZones(CvTacticalAnalysisMap* self);static void AfterCvTacticalAnalysisMap_AddTemporaryZones(CvTacticalAnalysisMap* self);static void ReplaceCvTacticalAnalysisMap_AddTemporaryZones(void (*original)(CvTacticalAnalysisMap*), CvTacticalAnalysisMap* self);CivRegisterBefore<CivHooks::CvTacticalAnalysisMap_AddTemporaryZones>(host, &BeforeCvTacticalAnalysisMap_AddTemporaryZones);CivRegisterAfter<CivHooks::CvTacticalAnalysisMap_AddTemporaryZones>(host, &AfterCvTacticalAnalysisMap_AddTemporaryZones);CivRegisterReplace<CivHooks::CvTacticalAnalysisMap_AddTemporaryZones>(host, &ReplaceCvTacticalAnalysisMap_AddTemporaryZones);
Code
465/// Add in any temporary dominance zones from tactical AI466void CvTacticalAnalysisMap::AddTemporaryZones()467{468 CvTemporaryZone* pZone;469 CvTacticalAI* pTacticalAI = m_pPlayer->GetTacticalAI();470471 if(pTacticalAI)472 {473 pTacticalAI->DropObsoleteZones();474475 pZone = pTacticalAI->GetFirstTemporaryZone();476 while(pZone)477 {478 // Can't be a city zone (which is just used to boost priority but not establish a new zone)479 if(pZone->GetTargetType() != AI_TACTICAL_TARGET_CITY)480 {481 CvPlot* pPlot = GC.getMap().plot(pZone->GetX(), pZone->GetY());482 if(pPlot)483 {484 CvTacticalDominanceZone newZone;485 newZone.SetDominanceZoneID(m_DominanceZones.size());486 newZone.SetTerritoryType(TACTICAL_TERRITORY_TEMP_ZONE);487 newZone.SetOwner(NO_PLAYER);488 newZone.SetAreaID(pPlot->getArea());489 newZone.SetWater(pPlot->isWater());490 newZone.SetTempZoneCenter(pPlot);491 newZone.SetNavalInvasion(pZone->IsNavalInvasion());492 m_DominanceZones.push_back(newZone);493 }494 }495496 pZone = pTacticalAI->GetNextTemporaryZone();497 }498 }499}
Calls
BaseVector::size- CvGlobals::getMap()
- CvMap::plot(int, int) const
- CvPlayer::GetTacticalAI() const
- CvPlot::getArea() const
- CvPlot::isWater() const
- CvTacticalAI::DropObsoleteZones()
- CvTacticalAI::GetFirstTemporaryZone()
- CvTacticalAI::GetNextTemporaryZone()
- CvTacticalDominanceZone::CvTacticalDominanceZone()
- CvTacticalDominanceZone::SetAreaID(int)
- CvTacticalDominanceZone::SetDominanceZoneID(int)
- CvTacticalDominanceZone::SetNavalInvasion(bool)
- CvTacticalDominanceZone::SetOwner(PlayerTypes)
- CvTacticalDominanceZone::SetTempZoneCenter(CvPlot *)
- CvTacticalDominanceZone::SetTerritoryType(eDominanceTerritoryTypes)
- CvTacticalDominanceZone::SetWater(bool)
- CvTemporaryZone::GetTargetType() const
- CvTemporaryZone::GetX() const
- CvTemporaryZone::GetY() const
- CvTemporaryZone::IsNavalInvasion() const
FStaticVector::push_back