Bazaar developer reference

CvTacticalAnalysisMap::BuildEnemyUnitList()

Defined in
CvTacticalAnalysisMap.cpp, line 274
Class
CvTacticalAnalysisMap
Hook name
CivHooks::CvTacticalAnalysisMap_BuildEnemyUnitList

Hooks

static bool BeforeCvTacticalAnalysisMap_BuildEnemyUnitList(CvTacticalAnalysisMap* self);static void AfterCvTacticalAnalysisMap_BuildEnemyUnitList(CvTacticalAnalysisMap* self);static void ReplaceCvTacticalAnalysisMap_BuildEnemyUnitList(void (*original)(CvTacticalAnalysisMap*), CvTacticalAnalysisMap* self);CivRegisterBefore<CivHooks::CvTacticalAnalysisMap_BuildEnemyUnitList>(host, &BeforeCvTacticalAnalysisMap_BuildEnemyUnitList);CivRegisterAfter<CivHooks::CvTacticalAnalysisMap_BuildEnemyUnitList>(host, &AfterCvTacticalAnalysisMap_BuildEnemyUnitList);CivRegisterReplace<CivHooks::CvTacticalAnalysisMap_BuildEnemyUnitList>(host, &ReplaceCvTacticalAnalysisMap_BuildEnemyUnitList);

Code

273// Find all our enemies (combat units)274void CvTacticalAnalysisMap::BuildEnemyUnitList()275{276	CvTacticalAnalysisEnemy enemy;277	m_EnemyUnits.clear();278279	for(int iPlayer = 0; iPlayer < MAX_PLAYERS; iPlayer++)280	{281		const PlayerTypes ePlayer = (PlayerTypes)iPlayer;282		CvPlayer& kPlayer = GET_PLAYER(ePlayer);283		const TeamTypes eTeam = kPlayer.getTeam();284285		// for each opposing civ286		if(kPlayer.isAlive() && GET_TEAM(eTeam).isAtWar(m_pPlayer->getTeam()))287		{288			int iLoop;289			CvUnit* pLoopUnit = NULL;290			for(pLoopUnit = kPlayer.firstUnit(&iLoop); pLoopUnit != NULL; pLoopUnit = kPlayer.nextUnit(&iLoop))291			{292				// Make sure this unit can attack293				if(pLoopUnit->IsCanAttack())294				{295					m_EnemyUnits.push_back(pLoopUnit);296				}297			}298		}299	}300}

Calls

Called by