Bazaar developer reference

CvArmyAI::UpdateCheckpointTurns()

Defined in
CvArmyAI.cpp, line 428
Class
CvArmyAI
Hook name
CivHooks::CvArmyAI_UpdateCheckpointTurns

Hooks

static bool BeforeCvArmyAI_UpdateCheckpointTurns(CvArmyAI* self);static void AfterCvArmyAI_UpdateCheckpointTurns(CvArmyAI* self);static void ReplaceCvArmyAI_UpdateCheckpointTurns(void (*original)(CvArmyAI*), CvArmyAI* self);CivRegisterBefore<CivHooks::CvArmyAI_UpdateCheckpointTurns>(host, &BeforeCvArmyAI_UpdateCheckpointTurns);CivRegisterAfter<CivHooks::CvArmyAI_UpdateCheckpointTurns>(host, &AfterCvArmyAI_UpdateCheckpointTurns);CivRegisterReplace<CivHooks::CvArmyAI_UpdateCheckpointTurns>(host, &ReplaceCvArmyAI_UpdateCheckpointTurns);

Code

427/// Recalculate when each unit will arrive on target428void CvArmyAI::UpdateCheckpointTurns()429{430	for(unsigned int iI = 0; iI < m_FormationEntries.size(); iI++)431	{432		// No reestimate for units being built433		if(m_FormationEntries[iI].GetUnitID() != ARMY_NO_UNIT)434		{435			CvUnit* pUnit = GET_PLAYER(m_eOwner).getUnit(m_FormationEntries[iI].GetUnitID());436			CvPlot* pMusterPlot = GC.getMap().plot(GetX(), GetY());437			if(pUnit && pMusterPlot)438			{439				int iTurnsToReachCheckpoint = TurnsToReachTarget(pUnit, pMusterPlot, true /*bReusePaths*/, true, true);440				if(iTurnsToReachCheckpoint < MAX_INT)441				{442					SetEstimatedTurn(iI, iTurnsToReachCheckpoint);443				}444			}445		}446	}447}

Calls

Called by