Bazaar developer reference

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

Called by