Hooks
static bool BeforeCvEconomicAI_LogScrapUnit(CvEconomicAI* self, UnitHandle pUnit, int iNumWorkers, int iNumCities, int iNumImprovedPlots, int iNumValidPlots);static void AfterCvEconomicAI_LogScrapUnit(CvEconomicAI* self, UnitHandle pUnit, int iNumWorkers, int iNumCities, int iNumImprovedPlots, int iNumValidPlots);static void ReplaceCvEconomicAI_LogScrapUnit(void (*original)(CvEconomicAI*, UnitHandle, int, int, int, int), CvEconomicAI* self, UnitHandle pUnit, int iNumWorkers, int iNumCities, int iNumImprovedPlots, int iNumValidPlots);CivRegisterBefore<CivHooks::CvEconomicAI_LogScrapUnit>(host, &BeforeCvEconomicAI_LogScrapUnit);CivRegisterAfter<CivHooks::CvEconomicAI_LogScrapUnit>(host, &AfterCvEconomicAI_LogScrapUnit);CivRegisterReplace<CivHooks::CvEconomicAI_LogScrapUnit>(host, &ReplaceCvEconomicAI_LogScrapUnit);
Code
2962/// Log that a strategy is being turned on or off2963void CvEconomicAI::LogScrapUnit(UnitHandle pUnit, int iNumWorkers, int iNumCities, int iNumImprovedPlots, int iNumValidPlots)2964{2965 if(!GC.getLogging() || !GC.getAILogging())2966 {2967 return;2968 }29692970 CvString strLogString;2971 strLogString.Format("Disbanding worker. %s, X: %d, Y: %d, iNumWorkers: %d, iNumCities: %d, improved/valid plots: %d/%d", pUnit->getName().GetCString(), pUnit->getX(), pUnit->getY(), iNumWorkers, iNumCities, iNumImprovedPlots, iNumValidPlots);2972 m_pPlayer->GetHomelandAI()->LogHomelandMessage(strLogString);2973}