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}