Bazaar developer reference

CvTacticalAI::ExecuteFleetMoveToTarget(CvArmyAI *, CvPlot *)

Defined in
CvTacticalAI.cpp, line 5832
Class
CvTacticalAI
Hook name
CivHooks::CvTacticalAI_ExecuteFleetMoveToTarget

Hooks

static bool BeforeCvTacticalAI_ExecuteFleetMoveToTarget(CvTacticalAI* self, CvArmyAI* pArmy, CvPlot* pTarget);static void AfterCvTacticalAI_ExecuteFleetMoveToTarget(CvTacticalAI* self, CvArmyAI* pArmy, CvPlot* pTarget);static void ReplaceCvTacticalAI_ExecuteFleetMoveToTarget(void (*original)(CvTacticalAI*, CvArmyAI*, CvPlot*), CvTacticalAI* self, CvArmyAI* pArmy, CvPlot* pTarget);CivRegisterBefore<CivHooks::CvTacticalAI_ExecuteFleetMoveToTarget>(host, &BeforeCvTacticalAI_ExecuteFleetMoveToTarget);CivRegisterAfter<CivHooks::CvTacticalAI_ExecuteFleetMoveToTarget>(host, &AfterCvTacticalAI_ExecuteFleetMoveToTarget);CivRegisterReplace<CivHooks::CvTacticalAI_ExecuteFleetMoveToTarget>(host, &ReplaceCvTacticalAI_ExecuteFleetMoveToTarget);

Code

5831/// Move a squadron of naval units to a target5832void CvTacticalAI::ExecuteFleetMoveToTarget(CvArmyAI* pArmy, CvPlot* pTarget)5833{5834	// Request moves for all units5835	for(int iI = 0; iI < pArmy->GetNumFormationEntries(); iI++)5836	{5837		CvArmyFormationSlot* pSlot = pArmy->GetFormationSlot(iI);5838		if(pSlot->GetUnitID() != NO_UNIT)5839		{5840			UnitHandle pUnit = m_pPlayer->getUnit(pSlot->GetUnitID());5841			if(pUnit && !pUnit->TurnProcessed())5842			{5843				pSlot->SetStartedOnOperation(true);58445845				CvMultiUnitFormationInfo* pkMultiUnitFormation = GC.getMultiUnitFormationInfo(pArmy->GetFormationIndex());5846				if(pkMultiUnitFormation)5847				{5848					const CvFormationSlotEntry& thisSlotEntry = pkMultiUnitFormation->getFormationSlotEntry(iI);5849					MoveWithFormation(pUnit, thisSlotEntry.m_ePositionType);5850				}5851			}5852		}5853	}5854	ExecuteNavalFormationMoves(pArmy, pTarget);5855}

Calls

Called by