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
- CvGlobals::getNumProcessInfos()
- CvGlobals::getProcessInfo(ProcessTypes)
- CvProcessInfo::GetFlavorValue(int) const
CvWeightedVector::IncreaseWeight