CvCitySpecializationAI::LogSpecializationWeights()
- Defined in
- CvCitySpecializationAI.cpp, line 1427
- Class
- CvCitySpecializationAI
- Hook name
CivHooks::CvCitySpecializationAI_LogSpecializationWeights
Hooks
static bool BeforeCvCitySpecializationAI_LogSpecializationWeights(CvCitySpecializationAI* self);static void AfterCvCitySpecializationAI_LogSpecializationWeights(CvCitySpecializationAI* self);static void ReplaceCvCitySpecializationAI_LogSpecializationWeights(void (*original)(CvCitySpecializationAI*), CvCitySpecializationAI* self);CivRegisterBefore<CivHooks::CvCitySpecializationAI_LogSpecializationWeights>(host, &BeforeCvCitySpecializationAI_LogSpecializationWeights);CivRegisterAfter<CivHooks::CvCitySpecializationAI_LogSpecializationWeights>(host, &AfterCvCitySpecializationAI_LogSpecializationWeights);CivRegisterReplace<CivHooks::CvCitySpecializationAI_LogSpecializationWeights>(host, &ReplaceCvCitySpecializationAI_LogSpecializationWeights);
Code
1426/// Log which specializations were needed1427void CvCitySpecializationAI::LogSpecializationWeights()1428{1429 if(GC.getLogging() && GC.getAILogging())1430 {1431 CvString strPlayerName;1432 CvString strBaseString;1433 CvString strYieldString;1434 CvString strWeightString;1435 CvString strOutBuf;1436 FILogFile* pLog;14371438 // Find the name of this civ1439 strPlayerName = GetPlayer()->getCivilizationShortDescription();1440 pLog = LOGFILEMGR.GetLog(GetLogFileName(strPlayerName), FILogFile::kDontTimeStamp);14411442 // Get the leading info for this line1443 strBaseString.Format("%03d, ", GC.getGame().getElapsedGameTurns());1444 strBaseString += strPlayerName + ", Empire-wide specialization weight, ";14451446 for(int iI = 0; iI < NUM_SPECIALIZATION_YIELDS; iI++)1447 {1448 if(iI > YIELD_SCIENCE)1449 {1450 strYieldString = "General Economy";1451 }1452 else1453 {1454 CvYieldInfo* pYieldInfo = GC.getYieldInfo((YieldTypes)m_YieldWeights.GetElement(iI));1455 if(pYieldInfo != NULL)1456 {1457 strYieldString = pYieldInfo->GetDescription();1458 }1459 }1460 strWeightString.Format("%d", m_YieldWeights.GetWeight(iI));1461 strOutBuf = strBaseString + strYieldString + ", " + strWeightString;1462 pLog->Msg(strOutBuf);1463 }14641465 for(int iI = 0; iI < NUM_PRODUCTION_SPECIALIZATION_SUBTYPES; iI++)1466 {1467 strYieldString.Format("Production Specialization: %d", iI);1468 strWeightString.Format("%d", m_ProductionSubtypeWeights.GetWeight(iI));1469 strOutBuf = strBaseString + strYieldString + ", " + strWeightString;1470 pLog->Msg(strOutBuf);1471 }1472 }1473}
Calls
- CvBaseInfo::GetDescription() 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=CvWeightedVector::GetElementCvWeightedVector::GetWeightCvWeightedVector::GetWeightFILogFile::MsgFILogFileMgr::GetInstanceFILogFileMgr::GetLogstd::basic_string::operator+=std::operator+std::operator+