Bazaar developer reference

CvUnitProductionAI::LogPossibleBuilds(UnitAITypes)

Defined in
CvUnitProductionAI.cpp, line 266
Class
CvUnitProductionAI
Hook name
CivHooks::CvUnitProductionAI_LogPossibleBuilds

Hooks

static bool BeforeCvUnitProductionAI_LogPossibleBuilds(CvUnitProductionAI* self, UnitAITypes eUnitAIType);static void AfterCvUnitProductionAI_LogPossibleBuilds(CvUnitProductionAI* self, UnitAITypes eUnitAIType);static void ReplaceCvUnitProductionAI_LogPossibleBuilds(void (*original)(CvUnitProductionAI*, UnitAITypes), CvUnitProductionAI* self, UnitAITypes eUnitAIType);CivRegisterBefore<CivHooks::CvUnitProductionAI_LogPossibleBuilds>(host, &BeforeCvUnitProductionAI_LogPossibleBuilds);CivRegisterAfter<CivHooks::CvUnitProductionAI_LogPossibleBuilds>(host, &AfterCvUnitProductionAI_LogPossibleBuilds);CivRegisterReplace<CivHooks::CvUnitProductionAI_LogPossibleBuilds>(host, &ReplaceCvUnitProductionAI_LogPossibleBuilds);

Code

265/// Log all potential builds266void CvUnitProductionAI::LogPossibleBuilds(UnitAITypes eUnitAIType)267{268	if(GC.getLogging() && GC.getAILogging())269	{270		// Find the name of this civ and city271		CvString playerName = GET_PLAYER(m_pCity->getOwner()).getCivilizationShortDescription();272		CvString cityName = m_pCity->getName();273274		// Open the log file275		FILogFile* pLog = LOGFILEMGR.GetLog(m_pCity->GetCityStrategyAI()->GetLogFileName(playerName, cityName), FILogFile::kDontTimeStamp);276277		// Get the leading info for this line278		CvString strBaseString;279		strBaseString.Format("%03d, ", GC.getGame().getElapsedGameTurns());280		strBaseString += playerName + ", " + cityName + ", ";281282283		// Dump out the weight of each buildable item284		for(int iI = 0; iI < m_Buildables.size(); iI++)285		{286			CvString strOutBuf = strBaseString;287288			CvUnitEntry* pUnitEntry = GC.GetGameUnits()->GetEntry(m_Buildables.GetElement(iI));289290			CvString strDesc = (pUnitEntry != NULL)? pUnitEntry->GetDescription() : "Unknown Unit";291			if(eUnitAIType == NO_UNITAI)292			{293				CvString strTemp;294				strTemp.Format("Unit, %s, %d", strDesc.GetCString(), m_Buildables.GetWeight(iI));295				strOutBuf += strTemp;296			}297			else298			{299				CvString strTempString;300				getUnitAIString(strTempString, eUnitAIType);301302				CvString strTemp;303				strTemp.Format("Special request for unit of type: %s, %s, %d", strTempString.GetCString(), strDesc.GetCString(), m_Buildables.GetWeight(iI));304				strOutBuf += strTemp;305			}306307			pLog->Msg(strOutBuf);308		}309	}310}

Calls

Called by