CvCity::getProductionNameKey() const
- Defined in
- CvCity.cpp, line 4373
- Class
- CvCity
- Hook name
CivHooks::CvCity_getProductionNameKey
Hooks
static bool BeforeCvCity_getProductionNameKey(const CvCity* self, const char*& result);static void AfterCvCity_getProductionNameKey(const CvCity* self, const char*& result);static const char* ReplaceCvCity_getProductionNameKey(const char* (*original)(const CvCity*), const CvCity* self);CivRegisterBefore<CivHooks::CvCity_getProductionNameKey>(host, &BeforeCvCity_getProductionNameKey);CivRegisterAfter<CivHooks::CvCity_getProductionNameKey>(host, &AfterCvCity_getProductionNameKey);CivRegisterReplace<CivHooks::CvCity_getProductionNameKey>(host, &ReplaceCvCity_getProductionNameKey);
Code
4373const char* CvCity::getProductionNameKey() const4374{4375 VALIDATE_OBJECT4376 const OrderData* pOrderNode = headOrderQueueNode();43774378 if(pOrderNode != NULL)4379 {4380 switch(pOrderNode->eOrderType)4381 {4382 case ORDER_TRAIN:4383 {4384 CvUnitEntry* pkUnitInfo = GC.getUnitInfo((UnitTypes)pOrderNode->iData1);4385 if(pkUnitInfo)4386 {4387 return pkUnitInfo->GetTextKey();4388 }4389 }4390 break;43914392 case ORDER_CONSTRUCT:4393 {4394 CvBuildingEntry* pkBuildingInfo = GC.getBuildingInfo((BuildingTypes)pOrderNode->iData1);4395 if(pkBuildingInfo)4396 {4397 return pkBuildingInfo->GetTextKey();4398 }4399 }4400 break;44014402 case ORDER_CREATE:4403 {4404 CvProjectEntry* pkProjectInfo = GC.getProjectInfo((ProjectTypes)pOrderNode->iData1);4405 if(pkProjectInfo)4406 {4407 return pkProjectInfo->GetTextKey();4408 }4409 }4410 break;44114412 case ORDER_PREPARE:4413 {4414 CvSpecialistInfo* pkSpecialistInfo = GC.getSpecialistInfo((SpecialistTypes)pOrderNode->iData1);4415 if(pkSpecialistInfo)4416 {4417 return pkSpecialistInfo->GetTextKey();4418 }4419 }4420 break;44214422 case ORDER_MAINTAIN:4423 {4424 CvProcessInfo* pkProcessInfo = GC.getProcessInfo((ProcessTypes)pOrderNode->iData1);4425 if(pkProcessInfo)4426 {4427 return pkProcessInfo->GetTextKey();4428 }4429 }4430 break;44314432 default:4433 CvAssertMsg(false, "pOrderNode->eOrderType failed to match a valid option");4434 break;4435 }4436 }44374438 return "";4439}