Bazaar developer reference

CvProjectProductionAI::AddFlavorWeights(FlavorTypes, int)

Defined in
CvProjectProductionAI.cpp, line 74
Class
CvProjectProductionAI
Hook name
CivHooks::CvProjectProductionAI_AddFlavorWeights

Hooks

static bool BeforeCvProjectProductionAI_AddFlavorWeights(CvProjectProductionAI* self, FlavorTypes eFlavor, int iWeight);static void AfterCvProjectProductionAI_AddFlavorWeights(CvProjectProductionAI* self, FlavorTypes eFlavor, int iWeight);static void ReplaceCvProjectProductionAI_AddFlavorWeights(void (*original)(CvProjectProductionAI*, FlavorTypes, int), CvProjectProductionAI* self, FlavorTypes eFlavor, int iWeight);CivRegisterBefore<CivHooks::CvProjectProductionAI_AddFlavorWeights>(host, &BeforeCvProjectProductionAI_AddFlavorWeights);CivRegisterAfter<CivHooks::CvProjectProductionAI_AddFlavorWeights>(host, &AfterCvProjectProductionAI_AddFlavorWeights);CivRegisterReplace<CivHooks::CvProjectProductionAI_AddFlavorWeights>(host, &ReplaceCvProjectProductionAI_AddFlavorWeights);

Code

73/// Establish weights for one flavor; can be called multiple times to layer strategies74void CvProjectProductionAI::AddFlavorWeights(FlavorTypes eFlavor, int iWeight)75{76	int iProject;77	CvProjectEntry* entry(NULL);7879	// Loop through all projects80	for(iProject = 0; iProject < GC.GetGameProjects()->GetNumProjects(); iProject++)81	{82		entry = GC.GetGameProjects()->GetEntry(iProject);83		if(entry)84		{85			// Set its weight by looking at project's weight for this flavor and using iWeight multiplier passed in86			m_ProjectAIWeights.IncreaseWeight(iProject, entry->GetFlavorValue(eFlavor) * iWeight);87		}88	}89}

Calls

Called by