CvUnitProductionAI::AddFlavorWeights(FlavorTypes, int)
- Defined in
- CvUnitProductionAI.cpp, line 140
- Class
- CvUnitProductionAI
- Hook name
CivHooks::CvUnitProductionAI_AddFlavorWeights
Hooks
static bool BeforeCvUnitProductionAI_AddFlavorWeights(CvUnitProductionAI* self, FlavorTypes eFlavor, int iWeight);static void AfterCvUnitProductionAI_AddFlavorWeights(CvUnitProductionAI* self, FlavorTypes eFlavor, int iWeight);static void ReplaceCvUnitProductionAI_AddFlavorWeights(void (*original)(CvUnitProductionAI*, FlavorTypes, int), CvUnitProductionAI* self, FlavorTypes eFlavor, int iWeight);CivRegisterBefore<CivHooks::CvUnitProductionAI_AddFlavorWeights>(host, &BeforeCvUnitProductionAI_AddFlavorWeights);CivRegisterAfter<CivHooks::CvUnitProductionAI_AddFlavorWeights>(host, &AfterCvUnitProductionAI_AddFlavorWeights);CivRegisterReplace<CivHooks::CvUnitProductionAI_AddFlavorWeights>(host, &ReplaceCvUnitProductionAI_AddFlavorWeights);
Code
139/// Establish weights for one flavor; can be called multiple times to layer strategies140void CvUnitProductionAI::AddFlavorWeights(FlavorTypes eFlavor, int iWeight)141{142 // Loop through all units143 for(int iUnit = 0; iUnit < m_pUnits->GetNumUnits(); iUnit++)144 {145 CvUnitEntry* entry = m_pUnits->GetEntry(iUnit);146 if(entry)147 {148 // Set its weight by looking at unit's weight for this flavor and using iWeight multiplier passed in149 m_UnitAIWeights.IncreaseWeight(iUnit, entry->GetFlavorValue(eFlavor) * iWeight);150 }151 }152}
Calls
- CvUnitEntry::GetFlavorValue(int) const
- CvUnitXMLEntries::GetEntry(int)
- CvUnitXMLEntries::GetNumUnits()
CvWeightedVector::IncreaseWeight