CvCitySpecializationAI::CanBuildSpaceshipParts()
- Defined in
- CvCitySpecializationAI.cpp, line 1399
- Class
- CvCitySpecializationAI
- Hook name
CivHooks::CvCitySpecializationAI_CanBuildSpaceshipParts
Hooks
static bool BeforeCvCitySpecializationAI_CanBuildSpaceshipParts(CvCitySpecializationAI* self, bool& result);static void AfterCvCitySpecializationAI_CanBuildSpaceshipParts(CvCitySpecializationAI* self, bool& result);static bool ReplaceCvCitySpecializationAI_CanBuildSpaceshipParts(bool (*original)(CvCitySpecializationAI*), CvCitySpecializationAI* self);CivRegisterBefore<CivHooks::CvCitySpecializationAI_CanBuildSpaceshipParts>(host, &BeforeCvCitySpecializationAI_CanBuildSpaceshipParts);CivRegisterAfter<CivHooks::CvCitySpecializationAI_CanBuildSpaceshipParts>(host, &AfterCvCitySpecializationAI_CanBuildSpaceshipParts);CivRegisterReplace<CivHooks::CvCitySpecializationAI_CanBuildSpaceshipParts>(host, &ReplaceCvCitySpecializationAI_CanBuildSpaceshipParts);
Code
1398/// Should this player worry about assigning cities to build spaceship parts?1399bool CvCitySpecializationAI::CanBuildSpaceshipParts()1400{1401 int iLoop;14021403 // Find a city to test with1404 CvCity* pCity = m_pPlayer->firstCity(&iLoop);14051406 // Loop through adding the available units1407 for(int iUnitLoop = 0; iUnitLoop < GC.GetGameUnits()->GetNumUnits(); iUnitLoop++)1408 {1409 const UnitTypes eUnit = static_cast<UnitTypes>(iUnitLoop);1410 CvUnitEntry* pkUnitEntry = GC.getUnitInfo(eUnit);1411 if(pkUnitEntry)1412 {1413 if(pkUnitEntry->GetSpaceshipProject() != NO_PROJECT)1414 {1415 // See if this unit can be built now1416 if(pCity->canTrain((UnitTypes)iUnitLoop))1417 {1418 return true;1419 }1420 }1421 }1422 }1423 return false;1424}