Bazaar developer reference

CvCity::getProductionTurnsLeft() const

Defined in
CvCity.cpp, line 4790
Class
CvCity
Hook name
CivHooks::CvCity_getProductionTurnsLeft

Hooks

static bool BeforeCvCity_getProductionTurnsLeft(const CvCity* self, int& result);static void AfterCvCity_getProductionTurnsLeft(const CvCity* self, int& result);static int ReplaceCvCity_getProductionTurnsLeft(int (*original)(const CvCity*), const CvCity* self);CivRegisterBefore<CivHooks::CvCity_getProductionTurnsLeft>(host, &BeforeCvCity_getProductionTurnsLeft);CivRegisterAfter<CivHooks::CvCity_getProductionTurnsLeft>(host, &AfterCvCity_getProductionTurnsLeft);CivRegisterReplace<CivHooks::CvCity_getProductionTurnsLeft>(host, &ReplaceCvCity_getProductionTurnsLeft);

Code

4790int CvCity::getProductionTurnsLeft() const4791{4792	VALIDATE_OBJECT4793	const OrderData* pOrderNode = headOrderQueueNode();47944795	if(pOrderNode != NULL)4796	{4797		switch(pOrderNode->eOrderType)4798		{4799		case ORDER_TRAIN:4800			return getProductionTurnsLeft(((UnitTypes)(pOrderNode->iData1)), 0);4801			break;48024803		case ORDER_CONSTRUCT:4804			return getProductionTurnsLeft(((BuildingTypes)(pOrderNode->iData1)), 0);4805			break;48064807		case ORDER_CREATE:4808			return getProductionTurnsLeft(((ProjectTypes)(pOrderNode->iData1)), 0);4809			break;48104811		case ORDER_PREPARE:4812			return getProductionTurnsLeft(((SpecialistTypes)(pOrderNode->iData1)), 0);4813			break;48144815		case ORDER_MAINTAIN:4816#if defined(MOD_PROCESS_STOCKPILE)4817			return getProductionTurnsLeft(((ProcessTypes)(pOrderNode->iData1)), 0);4818#endif4819			break;48204821		default:4822			CvAssertMsg(false, "pOrderNode->eOrderType failed to match a valid option");4823			break;4824		}4825	}48264827	return INT_MAX;4828}

Calls

Called by