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
- CvBuildInfo::getRoute() const
- CvGlobals::getBuildInfo(BuildTypes)
- CvGlobals::getNumBuildInfos()
- CvPlayer::getBestRoute(CvPlot *) const
- CvPlayerAI::getPlayer(PlayerTypes)
- CvTypes::getMISSION_BUILD()
- CvTypes::getMISSION_ROUTE_TO()
- CvUnit::getOwner() const
- CvUnit::HeadMissionQueueNode() const
- CvUnit::plot() const
Called by
- CvBuilderTaskingAI::EvaluateBuilder(CvUnit *, BuilderDirective *, UINT, bool, bool, bool)
- CvPlot::getBuildTurnsLeft(BuildTypes, PlayerTypes, int, int) const
- CvPlot::getBuildTurnsTotal(BuildTypes, PlayerTypes) const
- CvUnit::canBuild(const CvPlot *, BuildTypes, bool, bool) const
- CvUnit::setupGraphical()
- CvUnitMission::PopMission(UnitHandle)
- CvLuaUnit::lGetBuildType(lua_State *)