Bazaar developer reference

CvProcessProductionAI::AddFlavorWeights(FlavorTypes, int)

Defined in
CvProcessProductionAI.cpp, line 84
Class
CvProcessProductionAI
Hook name
CivHooks::CvProcessProductionAI_AddFlavorWeights

Hooks

static bool BeforeCvProcessProductionAI_AddFlavorWeights(CvProcessProductionAI* self, FlavorTypes eFlavor, int iWeight);static void AfterCvProcessProductionAI_AddFlavorWeights(CvProcessProductionAI* self, FlavorTypes eFlavor, int iWeight);static void ReplaceCvProcessProductionAI_AddFlavorWeights(void (*original)(CvProcessProductionAI*, FlavorTypes, int), CvProcessProductionAI* self, FlavorTypes eFlavor, int iWeight);CivRegisterBefore<CivHooks::CvProcessProductionAI_AddFlavorWeights>(host, &BeforeCvProcessProductionAI_AddFlavorWeights);CivRegisterAfter<CivHooks::CvProcessProductionAI_AddFlavorWeights>(host, &AfterCvProcessProductionAI_AddFlavorWeights);CivRegisterReplace<CivHooks::CvProcessProductionAI_AddFlavorWeights>(host, &ReplaceCvProcessProductionAI_AddFlavorWeights);

Code

83/// Establish weights for one flavor; can be called multiple times to layer strategies84void CvProcessProductionAI::AddFlavorWeights(FlavorTypes eFlavor, int iWeight)85{86	int iProcess;87	CvProcessInfo* entry(NULL);8889	// Loop through all projects90	for(iProcess = 0; iProcess < GC.getNumProcessInfos(); iProcess++)91	{92		entry = GC.getProcessInfo((ProcessTypes)iProcess);93		if (entry)94		{95			// Set its weight by looking at project's weight for this flavor and using iWeight multiplier passed in96			m_ProcessAIWeights.IncreaseWeight(iProcess, entry->GetFlavorValue(eFlavor) * iWeight);97		}98	}99}

Calls

Called by