CvHomelandAI::PlotWorkerMoves(bool)
- Defined in
- CvHomelandAI.cpp, line 1306
- Class
- CvHomelandAI
- Hook name
CivHooks::CvHomelandAI_PlotWorkerMoves
Hooks
static bool BeforeCvHomelandAI_PlotWorkerMoves(CvHomelandAI* self, bool bSecondary);static void AfterCvHomelandAI_PlotWorkerMoves(CvHomelandAI* self, bool bSecondary);static void ReplaceCvHomelandAI_PlotWorkerMoves(void (*original)(CvHomelandAI*, bool), CvHomelandAI* self, bool bSecondary);CivRegisterBefore<CivHooks::CvHomelandAI_PlotWorkerMoves>(host, &BeforeCvHomelandAI_PlotWorkerMoves);CivRegisterAfter<CivHooks::CvHomelandAI_PlotWorkerMoves>(host, &AfterCvHomelandAI_PlotWorkerMoves);CivRegisterReplace<CivHooks::CvHomelandAI_PlotWorkerMoves>(host, &ReplaceCvHomelandAI_PlotWorkerMoves);
Code
1304/// Find something for all workers to do1305#if defined(MOD_AI_SECONDARY_WORKERS)1306void CvHomelandAI::PlotWorkerMoves(bool bSecondary)1307#else1308void CvHomelandAI::PlotWorkerMoves()1309#endif1310{1311 ClearCurrentMoveUnits();13121313 // Loop through all recruited units1314 for(list<int>::iterator it = m_CurrentTurnUnits.begin(); it != m_CurrentTurnUnits.end(); ++it)1315 {1316 UnitHandle pUnit = m_pPlayer->getUnit(*it);1317 if(pUnit)1318 {1319#if defined(MOD_AI_SECONDARY_WORKERS)1320 bool bUsePrimaryUnit = (pUnit->AI_getUnitAIType() == UNITAI_WORKER || pUnit->IsAutomated() && pUnit->getDomainType() == DOMAIN_LAND && pUnit->GetAutomateType() == AUTOMATE_BUILD);1321 bool bUseSecondaryUnit = (pUnit->AI_getUnitAIType() != UNITAI_WORKER && (pUnit->getUnitInfo().GetUnitAIType(UNITAI_WORKER) || pUnit->getUnitInfo().GetUnitAIType(UNITAI_WORKER_SEA)) && pUnit->getDomainType() == DOMAIN_LAND);13221323 if((!bSecondary && bUsePrimaryUnit) || (bSecondary && bUseSecondaryUnit))1324#else1325 if(pUnit->AI_getUnitAIType() == UNITAI_WORKER ||1326 pUnit->IsAutomated() && pUnit->getDomainType() == DOMAIN_LAND && pUnit->GetAutomateType() == AUTOMATE_BUILD)1327#endif1328 {1329 CvHomelandUnit unit;1330 unit.SetID(pUnit->GetID());1331 m_CurrentMoveUnits.push_back(unit);1332 }1333 }1334 }13351336 if(m_CurrentMoveUnits.size() > 0)1337 {1338#if defined(MOD_AI_SECONDARY_WORKERS)1339 ExecuteWorkerMoves(bSecondary);1340#else1341 ExecuteWorkerMoves();1342#endif1343 }1344}
Calls
BaseVector::size- CvHomelandAI::ClearCurrentMoveUnits()
- CvHomelandAI::ExecuteWorkerMoves(bool)
- CvHomelandUnit::CvHomelandUnit()
- CvHomelandUnit::SetID(int)
- CvPlayer::getUnit(int)
- CvUnit::AI_getUnitAIType() const
- CvUnit::GetAutomateType() const
- CvUnit::getDomainType() const
- CvUnit::GetID() const
- CvUnit::getUnitInfo() const
- CvUnit::IsAutomated() const
- CvUnitEntry::GetUnitAIType(int) const
FObjectHandle::FObjectHandleFObjectHandle::operator boolFObjectHandle::operator->FStaticVector::push_backstd::list::_Const_iterator::operator!=std::list::_Iterator::operator*std::list::_Iterator::operator++std::list::beginstd::list::end