CvCitySpecializationAI::LogCity(CvCity *, CitySpecializationData)
- Defined in
- CvCitySpecializationAI.cpp, line 1629
- Class
- CvCitySpecializationAI
- Hook name
CivHooks::CvCitySpecializationAI_LogCity
Hooks
static bool BeforeCvCitySpecializationAI_LogCity(CvCitySpecializationAI* self, CvCity* pCity, CitySpecializationData data);static void AfterCvCitySpecializationAI_LogCity(CvCitySpecializationAI* self, CvCity* pCity, CitySpecializationData data);static void ReplaceCvCitySpecializationAI_LogCity(void (*original)(CvCitySpecializationAI*, CvCity*, CitySpecializationData), CvCitySpecializationAI* self, CvCity* pCity, CitySpecializationData data);// CivHooks.h gives this hook point no types, so nothing checks these hooks' parameters.host->RegisterHook(host->pluginIndex, CivHooks::CvCitySpecializationAI_LogCity::ID, CIV_HOOK_BEFORE, (void*)&BeforeCvCitySpecializationAI_LogCity);host->RegisterHook(host->pluginIndex, CivHooks::CvCitySpecializationAI_LogCity::ID, CIV_HOOK_AFTER, (void*)&AfterCvCitySpecializationAI_LogCity);host->RegisterHook(host->pluginIndex, CivHooks::CvCitySpecializationAI_LogCity::ID, CIV_HOOK_REPLACE, (void*)&ReplaceCvCitySpecializationAI_LogCity);
Code
1629void CvCitySpecializationAI::LogCity(CvCity* pCity, CitySpecializationData data)1630{1631 if(GC.getLogging() && GC.getAILogging())1632 {1633 CvString strOutBuf;1634 CvString strBaseString;1635 CvString strPlayerName;1636 CvString strCityName;1637 CvString strYieldString;1638 CvString strWeightString;1639 FILogFile* pLog;16401641 // Find the name of this civ1642 strPlayerName = GetPlayer()->getCivilizationShortDescription();1643 pLog = LOGFILEMGR.GetLog(GetLogFileName(strPlayerName), FILogFile::kDontTimeStamp);1644 strCityName = pCity->getName();16451646 // Get the leading info for this line1647 strBaseString.Format("%03d, ", GC.getGame().getElapsedGameTurns());1648 strBaseString += strPlayerName + ", " + strCityName + ", ";16491650 // Loop through each yield type1651 for(int iI = 0; iI <= YIELD_SCIENCE; iI++)1652 {1653 CvYieldInfo* pYieldInfo = GC.getYieldInfo((YieldTypes)iI);1654 if(pYieldInfo != NULL)1655 {1656 strYieldString = pYieldInfo->GetDescription();1657 }16581659 strWeightString.Format(", Value: %d", data.m_iWeight[iI]);1660 strOutBuf = strBaseString + strYieldString + strWeightString;1661 pLog->Msg(strOutBuf);1662 }1663 }1664}
Calls
- CvBaseInfo::GetDescription() const
- CvCity::getName() const
- CvCitySpecializationAI::GetLogFileName(CvString &) const
- CvCitySpecializationAI::GetPlayer()
- CvGame::getElapsedGameTurns() const
- CvGlobals::getAILogging()
- CvGlobals::getGame()
- CvGlobals::getLogging()
- CvGlobals::getYieldInfo(YieldTypes)
- CvPlayer::getCivilizationShortDescription() const
CvString::CvStringCvString::FormatCvString::operator const char *CvString::operator=CvString::operator=CvString::operator=FILogFile::MsgFILogFileMgr::GetInstanceFILogFileMgr::GetLogstd::basic_string::operator+=std::operator+std::operator+