CvCity::getProductionName() const
- Defined in
- CvCity.cpp, line 4259
- Class
- CvCity
- Hook name
CivHooks::CvCity_getProductionName
Hooks
static bool BeforeCvCity_getProductionName(const CvCity* self, const char*& result);static void AfterCvCity_getProductionName(const CvCity* self, const char*& result);static const char* ReplaceCvCity_getProductionName(const char* (*original)(const CvCity*), const CvCity* self);CivRegisterBefore<CivHooks::CvCity_getProductionName>(host, &BeforeCvCity_getProductionName);CivRegisterAfter<CivHooks::CvCity_getProductionName>(host, &AfterCvCity_getProductionName);CivRegisterReplace<CivHooks::CvCity_getProductionName>(host, &ReplaceCvCity_getProductionName);
Code
4259const char* CvCity::getProductionName() const4260{4261 VALIDATE_OBJECT4262 const OrderData* pOrderNode = headOrderQueueNode();42634264 if(pOrderNode != NULL)4265 {4266 switch(pOrderNode->eOrderType)4267 {4268 case ORDER_TRAIN:4269 {4270 CvUnitEntry* pkUnitInfo = GC.getUnitInfo((UnitTypes)pOrderNode->iData1);4271 if(pkUnitInfo)4272 {4273 return pkUnitInfo->GetDescription();4274 }4275 }4276 break;42774278 case ORDER_CONSTRUCT:4279 {4280 CvBuildingEntry* pkBuildingInfo = GC.getBuildingInfo((BuildingTypes)pOrderNode->iData1);4281 if(pkBuildingInfo)4282 {4283 return pkBuildingInfo->GetDescription();4284 }4285 }4286 break;42874288 case ORDER_CREATE:4289 {4290 CvProjectEntry* pkProjectInfo = GC.getProjectInfo((ProjectTypes)pOrderNode->iData1);4291 if(pkProjectInfo)4292 {4293 return pkProjectInfo->GetDescription();4294 }4295 }4296 break;42974298 case ORDER_PREPARE:4299 {4300 CvSpecialistInfo* pkSpecialistInfo = GC.getSpecialistInfo((SpecialistTypes)pOrderNode->iData1);4301 if(pkSpecialistInfo)4302 {4303 return pkSpecialistInfo->GetDescription();4304 }4305 }4306 break;43074308 case ORDER_MAINTAIN:4309 {4310 CvProcessInfo* pkProcessInfo = GC.getProcessInfo((ProcessTypes)pOrderNode->iData1);4311 if(pkProcessInfo)4312 {4313 return pkProcessInfo->GetDescription();4314 }4315 }4316 break;43174318 default:4319 CvAssertMsg(false, "pOrderNode->eOrderType failed to match a valid option");4320 break;4321 }4322 }43234324 return "";4325}