Bazaar developer reference

CvBuilderTaskingAI::LogDirective(BuilderDirective, CvUnit *, int, bool)

Defined in
CvBuilderTaskingAI.cpp, line 2473
Class
CvBuilderTaskingAI
Hook name
CivHooks::CvBuilderTaskingAI_LogDirective

Hooks

static bool BeforeCvBuilderTaskingAI_LogDirective(CvBuilderTaskingAI* self, BuilderDirective directive, CvUnit* pUnit, int iWeight, bool bChosen);static void AfterCvBuilderTaskingAI_LogDirective(CvBuilderTaskingAI* self, BuilderDirective directive, CvUnit* pUnit, int iWeight, bool bChosen);static void ReplaceCvBuilderTaskingAI_LogDirective(void (*original)(CvBuilderTaskingAI*, BuilderDirective, CvUnit*, int, bool), CvBuilderTaskingAI* self, BuilderDirective directive, CvUnit* pUnit, int iWeight, bool bChosen);CivRegisterBefore<CivHooks::CvBuilderTaskingAI_LogDirective>(host, &BeforeCvBuilderTaskingAI_LogDirective);CivRegisterAfter<CivHooks::CvBuilderTaskingAI_LogDirective>(host, &AfterCvBuilderTaskingAI_LogDirective);CivRegisterReplace<CivHooks::CvBuilderTaskingAI_LogDirective>(host, &ReplaceCvBuilderTaskingAI_LogDirective);

Code

2473void CvBuilderTaskingAI::LogDirective(BuilderDirective directive, CvUnit* pUnit, int iWeight, bool bChosen)2474{2475	if(!m_bLogging)2476	{2477		return;2478	}24792480	CvString strLog;2481	CvString strTemp;24822483	strTemp.Format("%d,", pUnit->GetID()); // unit id2484	strLog += strTemp;24852486	strLog += "Evaluating,";24872488	switch(directive.m_eDirective)2489	{2490	case BuilderDirective::BUILD_IMPROVEMENT_ON_RESOURCE:2491		strLog += "BUILD_IMPROVEMENT_ON_RESOURCE,";2492		break;2493	case BuilderDirective::BUILD_IMPROVEMENT:2494		strLog += "BUILD_IMPROVEMENT,";2495		break;2496	case BuilderDirective::REPAIR:2497		strLog += "REPAIR,";2498		break;2499	case BuilderDirective::BUILD_ROUTE:2500		strLog += "BUILD_ROUTE,";2501		break;2502	case BuilderDirective::CHOP:2503		strLog += "CHOP";2504	}25052506	strLog += GC.getBuildInfo(directive.m_eBuild)->GetType();2507	strLog += ",";25082509	if(directive.m_eResource != NO_RESOURCE)2510	{2511		CvResourceInfo* pkResourceInfo = GC.getResourceInfo(directive.m_eResource);2512		if(pkResourceInfo)2513		{2514			strLog += pkResourceInfo->GetType();2515			strLog += ",";2516			CvPlot* pPlot = GC.getMap().plot(directive.m_sX, directive.m_sY);2517			strLog += pPlot->getNumResource();2518			strLog += ",";2519		}2520	}2521	else2522	{2523		strLog += ",";2524	}25252526	if(directive.m_eDirective == BuilderDirective::REPAIR)2527	{2528		CvPlot* pPlot = GC.getMap().plot(directive.m_sX, directive.m_sY);2529		if(pPlot->IsImprovementPillaged())2530		{2531			if(pPlot->getImprovementType() != NO_IMPROVEMENT)2532			{2533				CvImprovementEntry* pkImprovementInfo = GC.getImprovementInfo(pPlot->getImprovementType());2534				if(pkImprovementInfo)2535				{2536					strLog += pkImprovementInfo->GetType();2537				}2538			}2539		}2540		else2541		{2542			if(pPlot->getRouteType() != NO_ROUTE)2543			{2544				CvRouteInfo* pkRouteInfo = GC.getRouteInfo(pPlot->getRouteType());2545				if(pkRouteInfo)2546				{2547					strLog += pkRouteInfo->GetType();2548				}2549			}2550		}2551	}2552	else2553	{2554		CvPlot* pPlot = GC.getMap().plot(directive.m_sX, directive.m_sY);2555		if(pPlot->getImprovementType() != NO_IMPROVEMENT)2556		{2557			CvImprovementEntry* pkImprovementInfo = GC.getImprovementInfo(pPlot->getImprovementType());2558			if(pkImprovementInfo)2559			{2560				strLog += pkImprovementInfo->GetType();2561			}2562		}2563	}2564	strLog += ",";25652566	strTemp.Format("%d,%d,", directive.m_sX, directive.m_sY);2567	strLog += strTemp;25682569	strTemp.Format("%d,", directive.m_sMoveTurnsAway);2570	strLog += strTemp;25712572	strTemp.Format("%d,", iWeight);2573	strLog += strTemp;25742575	if(bChosen)2576	{2577		strLog += (", Chosen!");2578	}25792580	LogInfo(strLog, m_pPlayer, GET_PLAYER(pUnit->getOwner()).isHuman());2581}

Calls

Called by