CvCity::getConscriptUnit() const
- Defined in
- CvCity.cpp, line 6079
- Class
- CvCity
- Hook name
CivHooks::CvCity_getConscriptUnit
Hooks
static bool BeforeCvCity_getConscriptUnit(const CvCity* self, UnitTypes& result);static void AfterCvCity_getConscriptUnit(const CvCity* self, UnitTypes& result);static UnitTypes ReplaceCvCity_getConscriptUnit(UnitTypes (*original)(const CvCity*), const CvCity* self);CivRegisterBefore<CivHooks::CvCity_getConscriptUnit>(host, &BeforeCvCity_getConscriptUnit);CivRegisterAfter<CivHooks::CvCity_getConscriptUnit>(host, &AfterCvCity_getConscriptUnit);CivRegisterReplace<CivHooks::CvCity_getConscriptUnit>(host, &ReplaceCvCity_getConscriptUnit);
Code
6079UnitTypes CvCity::getConscriptUnit() const6080{6081 VALIDATE_OBJECT6082 UnitTypes eBestUnit = NO_UNIT;6083 int iBestValue = 0;60846085 for(int iI = 0; iI < GC.getNumUnitClassInfos(); iI++)6086 {6087 const UnitClassTypes eUnitClass = static_cast<UnitClassTypes>(iI);6088 CvUnitClassInfo* pkUnitClassInfo = GC.getUnitClassInfo(eUnitClass);6089 if(pkUnitClassInfo)6090 {6091 const UnitTypes eLoopUnit = (UnitTypes)getCivilizationInfo().getCivilizationUnits(iI);6092 if(eLoopUnit != NO_UNIT)6093 {6094 CvUnitEntry* pkUnitInfo = GC.getUnitInfo(eLoopUnit);6095 if(pkUnitInfo)6096 {6097 if(canTrain(eLoopUnit))6098 {6099 const int iValue = pkUnitInfo->GetConscriptionValue();6100 if(iValue > iBestValue)6101 {6102 iBestValue = iValue;6103 eBestUnit = eLoopUnit;6104 }6105 }6106 }6107 }6108 }6109 }61106111 return eBestUnit;6112}
Calls
- CvCity::canTrain(UnitTypes, bool, bool, bool, bool, CvString *) const
- CvCity::getCivilizationInfo() const
- CvCivilizationInfo::getCivilizationUnits(int) const
- CvGlobals::getNumUnitClassInfos()
- CvGlobals::getUnitClassInfo(UnitClassTypes)
- CvGlobals::getUnitInfo(UnitTypes)
- CvUnitEntry::GetConscriptionValue() const