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
- CvCity::getHurryCost(HurryTypes, bool, BuildingTypes, bool) const
- CvCity::getHurryGold(HurryTypes, int, int) const
- CvCity::getHurryPopulation(HurryTypes, int) const
- CvCity::getOwner() const
- CvCity::getProductionNeeded(BuildingTypes) const
- CvCity::maxHurryPopulation() const
- CvCityBuildings::GetBuildingProduction(BuildingTypes) const
- CvPlayer::GetTreasury() const
- CvPlayer::IsHasAccessToHurry(HurryTypes) const
- CvPlayerAI::getPlayer(PlayerTypes)
- CvTreasury::GetGold() const