Bazaar developer reference

CvUnit::getBuildType() const

Defined in
CvUnit.cpp, line 11743
Class
CvUnit
Hook name
CivHooks::CvUnit_getBuildType

Hooks

static bool BeforeCvUnit_getBuildType(const CvUnit* self, BuildTypes& result);static void AfterCvUnit_getBuildType(const CvUnit* self, BuildTypes& result);static BuildTypes ReplaceCvUnit_getBuildType(BuildTypes (*original)(const CvUnit*), const CvUnit* self);CivRegisterBefore<CivHooks::CvUnit_getBuildType>(host, &BeforeCvUnit_getBuildType);CivRegisterAfter<CivHooks::CvUnit_getBuildType>(host, &AfterCvUnit_getBuildType);CivRegisterReplace<CivHooks::CvUnit_getBuildType>(host, &ReplaceCvUnit_getBuildType);

Code

11743BuildTypes CvUnit::getBuildType() const11744{11745	VALIDATE_OBJECT11746	const MissionQueueNode* pkMissionNode = HeadMissionQueueNode();11747	if(pkMissionNode != NULL)11748	{11749		if(pkMissionNode->eMissionType == CvTypes::getMISSION_ROUTE_TO())11750		{11751#if defined(MOD_BUGFIX_USE_GETTERS)11752			RouteTypes eBestRoute = GET_MY_PLAYER().getBestRoute(plot());11753#else11754			RouteTypes eBestRoute = GET_PLAYER(m_eOwner).getBestRoute(plot());11755#endif11756			if(eBestRoute != NO_ROUTE)11757			{11758				for(int iI = 0; iI < GC.getNumBuildInfos(); iI++)11759				{11760					BuildTypes eBuild = (BuildTypes)iI;11761					CvBuildInfo* pkBuildInfo = GC.getBuildInfo(eBuild);1176211763					if(pkBuildInfo)11764					{11765						RouteTypes eRoute = ((RouteTypes)(pkBuildInfo->getRoute()));11766						if(eRoute == eBestRoute)11767						{11768							return eBuild;11769						}11770					}11771				}11772			}11773		}11774		else if(pkMissionNode->eMissionType == CvTypes::getMISSION_BUILD())11775		{11776			return (BuildTypes)pkMissionNode->iData1;11777		}11778	}1177911780	return NO_BUILD;11781}

Calls

Called by