CvTacticalAI::ExecuteRepositionMoves()
- Defined in
- CvTacticalAI.cpp, line 6770
- Class
- CvTacticalAI
- Hook name
CivHooks::CvTacticalAI_ExecuteRepositionMoves
Hooks
static bool BeforeCvTacticalAI_ExecuteRepositionMoves(CvTacticalAI* self);static void AfterCvTacticalAI_ExecuteRepositionMoves(CvTacticalAI* self);static void ReplaceCvTacticalAI_ExecuteRepositionMoves(void (*original)(CvTacticalAI*), CvTacticalAI* self);CivRegisterBefore<CivHooks::CvTacticalAI_ExecuteRepositionMoves>(host, &BeforeCvTacticalAI_ExecuteRepositionMoves);CivRegisterAfter<CivHooks::CvTacticalAI_ExecuteRepositionMoves>(host, &AfterCvTacticalAI_ExecuteRepositionMoves);CivRegisterReplace<CivHooks::CvTacticalAI_ExecuteRepositionMoves>(host, &ReplaceCvTacticalAI_ExecuteRepositionMoves);
Code
6769/// Execute moving units to a better location6770void CvTacticalAI::ExecuteRepositionMoves()6771{6772 CvPlot* pBestPlot = NULL;6773 CvString strTemp;67746775 for(unsigned int iI = 0; iI < m_CurrentMoveUnits.size(); iI++)6776 {6777 UnitHandle pUnit = m_pPlayer->getUnit(m_CurrentMoveUnits[iI].GetID());6778 if(pUnit)6779 {6780 strTemp = pUnit->getUnitInfo().GetDescription();67816782 // LAND MOVES6783 if(pUnit->getDomainType() == DOMAIN_LAND)6784 {6785 pBestPlot = FindNearbyTarget(pUnit, m_iRepositionRange);67866787 if(pBestPlot)6788 {6789 if(MoveToEmptySpaceNearTarget(pUnit, pBestPlot, (pUnit->getDomainType()==DOMAIN_LAND)))6790 {6791 pUnit->finishMoves();6792 UnitProcessed(m_CurrentMoveUnits[iI].GetID(), pUnit->IsCombatUnit());6793 if(GC.getLogging() && GC.getAILogging())6794 {6795 CvString strLogString;6796 strLogString.Format("%s moved to empty space near target, X: %d, Y: %d, Current X: %d, Current Y: %d", strTemp.GetCString(),6797 pBestPlot->getX(), pBestPlot->getY(), pUnit->getX(), pUnit->getY());6798 LogTacticalMessage(strLogString);6799 }6800 }6801 }6802 }6803 }6804 }6805}
Calls
- CvBaseInfo::GetDescription() const
- CvGlobals::getAILogging()
- CvGlobals::getLogging()
- CvPlayer::getUnit(int)
- CvPlot::getX() const
- CvPlot::getY() const
CvString::CvStringCvString::FormatCvString::GetCStringCvString::operator=- CvTacticalAI::FindNearbyTarget(UnitHandle, int, AITacticalTargetType, CvUnit *)
- CvTacticalAI::LogTacticalMessage(CvString &, bool)
- CvTacticalAI::MoveToEmptySpaceNearTarget(UnitHandle, CvPlot *, bool)
- CvTacticalAI::UnitProcessed(int, bool)
- CvTacticalUnit::GetID() const
- CvUnit::finishMoves()
- CvUnit::getDomainType() const
- CvUnit::getUnitInfo() const
- CvUnit::getX() const
- CvUnit::getY() const
- CvUnit::IsCombatUnit() const
FObjectHandle::FObjectHandleFObjectHandle::FObjectHandleFObjectHandle::operator boolFObjectHandle::operator->std::vector::operator[]std::vector::size