Bazaar developer reference

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}

Calls

Called by