CvPlayer::GetSpecificUnitType(const char *, bool)
- Defined in
- CvPlayer.cpp, line 3949
- Class
- CvPlayer
- Hook name
CivHooks::CvPlayer_GetSpecificUnitType
Hooks
static bool BeforeCvPlayer_GetSpecificUnitType(CvPlayer* self, const char* szUnitClass, bool hideAssert, UnitTypes& result);static void AfterCvPlayer_GetSpecificUnitType(CvPlayer* self, const char* szUnitClass, bool hideAssert, UnitTypes& result);static UnitTypes ReplaceCvPlayer_GetSpecificUnitType(UnitTypes (*original)(CvPlayer*, const char*, bool), CvPlayer* self, const char* szUnitClass, bool hideAssert);CivRegisterBefore<CivHooks::CvPlayer_GetSpecificUnitType>(host, &BeforeCvPlayer_GetSpecificUnitType);CivRegisterAfter<CivHooks::CvPlayer_GetSpecificUnitType>(host, &AfterCvPlayer_GetSpecificUnitType);CivRegisterReplace<CivHooks::CvPlayer_GetSpecificUnitType>(host, &ReplaceCvPlayer_GetSpecificUnitType);
Code
3948// Given a unit class, get the players specific unit of that class3949UnitTypes CvPlayer::GetSpecificUnitType(const char* szUnitClass, bool hideAssert)3950{3951 UnitTypes eUnitType = NO_UNIT;3952 UnitClassTypes eUnitClassType = (UnitClassTypes) GC.getInfoTypeForString(szUnitClass, hideAssert);39533954 const CvUnitClassInfo* pkUnitClassInfo = GC.getUnitClassInfo(eUnitClassType);3955 3956 if (pkUnitClassInfo)3957 {3958 CvCivilizationInfo* pCivilizationInfo = GC.getCivilizationInfo(getCivilizationType());3959 3960 if (pCivilizationInfo != NULL)3961 {3962 eUnitType = (UnitTypes) pCivilizationInfo->getCivilizationUnits(eUnitClassType);3963 }3964 else3965 {3966 eUnitType = (UnitTypes) pkUnitClassInfo->getDefaultUnitIndex();3967 }3968 }3969 3970 if (!isMinorCiv() && !isBarbarian()) {3971 if (eUnitType == NO_UNIT) {3972 CUSTOMLOG("GetSpecificUnitType for player %s: %s is UNKNOWN!!!", getName(), szUnitClass);3973 } else {3974 // CUSTOMLOG("GetSpecificUnitType for player %s: %s is %s", getName(), szUnitClass, GC.getUnitInfo(eUnitType)->GetType());3975 }3976 }39773978 return eUnitType;3979}
Calls
- CvCivilizationInfo::getCivilizationUnits(int) const
- CvGlobals::getCivilizationInfo(CivilizationTypes)
- CvGlobals::getInfoTypeForString(const char *, bool) const
- CvGlobals::getUnitClassInfo(UnitClassTypes)
- CvPlayer::getCivilizationType() const
- CvPlayer::getName() const
- CvPlayer::isBarbarian() const
- CvPlayer::isMinorCiv() const
CvString::CvStringCvString::format- CvUnitClassInfo::getDefaultUnitIndex() const
FILogFile::MsgFILogFileMgr::GetInstanceFILogFileMgr::GetLogstd::basic_string::c_str
Called by
- CvEconomicAI::DisbandExtraArchaeologists()
- CvEconomicAI::FindArchaeologistToScrap()
- CvEconomicAI::FindWorkerToScrap()
- CvGame::DoMinorBullyUnit(PlayerTypes, PlayerTypes)
- CvMinorCivAI::GetMajorBullyUnitDetails(PlayerTypes)
- CvPlayerAI::AI_chooseFreeGreatPerson()
- CvGameReligions::CheckSpawnGreatProphet(CvPlayer &)
- CvGameReligions::DoPlayerTurn(CvPlayer &)
- CvReligionAI::BuyInquisitor(ReligionTypes)
- CvReligionAI::BuyMissionary(ReligionTypes)
- CvReligionAI::DoFaithPurchases()
- CvReligionAI::HaveNearbyConversionTarget(ReligionTypes, bool) const
- CvPlayerTrade::GetTradeUnit(DomainTypes, CvPlayer *)
- CvPlayerTraits::ChooseMayaBoost()
- CvLuaPlayer::lGetSpecificUnitType(lua_State *)