Bazaar developer reference

CvCity::canHurryBuilding(HurryTypes, BuildingTypes, bool) const

Defined in
CvCity.cpp, line 6024
Class
CvCity
Hook name
CivHooks::CvCity_canHurryBuilding

Hooks

static bool BeforeCvCity_canHurryBuilding(const CvCity* self, HurryTypes eHurry, BuildingTypes eBuilding, bool bIgnoreNew, bool& result);static void AfterCvCity_canHurryBuilding(const CvCity* self, HurryTypes eHurry, BuildingTypes eBuilding, bool bIgnoreNew, bool& result);static bool ReplaceCvCity_canHurryBuilding(bool (*original)(const CvCity*, HurryTypes, BuildingTypes, bool), const CvCity* self, HurryTypes eHurry, BuildingTypes eBuilding, bool bIgnoreNew);CivRegisterBefore<CivHooks::CvCity_canHurryBuilding>(host, &BeforeCvCity_canHurryBuilding);CivRegisterAfter<CivHooks::CvCity_canHurryBuilding>(host, &AfterCvCity_canHurryBuilding);CivRegisterReplace<CivHooks::CvCity_canHurryBuilding>(host, &ReplaceCvCity_canHurryBuilding);

Code

6024bool CvCity::canHurryBuilding(HurryTypes eHurry, BuildingTypes eBuilding, bool bIgnoreNew) const6025{6026	VALIDATE_OBJECT6027	if(!(GET_PLAYER(getOwner()).IsHasAccessToHurry(eHurry)))6028	{6029		return false;6030	}60316032	if(m_pCityBuildings->GetBuildingProduction(eBuilding) >= getProductionNeeded(eBuilding))6033	{6034		return false;6035	}60366037	if(GET_PLAYER(getOwner()).GetTreasury()->GetGold() < getHurryGold(eHurry, getHurryCost(eHurry, false, eBuilding, bIgnoreNew), getProductionNeeded(eBuilding)))6038	{6039		return false;6040	}60416042	if(maxHurryPopulation() < getHurryPopulation(eHurry, getHurryCost(eHurry, true, eBuilding, bIgnoreNew)))6043	{6044		return false;6045	}60466047	return true;6048}

Calls