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
BaseVector::operator[]BaseVector::size- CvArmyAI::GetX() const
- CvArmyAI::GetY() const
- CvArmyAI::SetEstimatedTurn(int, int)
- CvArmyFormationSlot::GetUnitID()
- CvGlobals::getMap()
- CvMap::plot(int, int) const
- CvPlayer::getUnit(int)
- CvPlayerAI::getPlayer(PlayerTypes)
FObjectHandle::FObjectHandle- TurnsToReachTarget(UnitHandle, CvPlot *, bool, bool, bool)