CvBuildingProductionAI::AddFlavorWeights(FlavorTypes, int)
- Defined in
- CvBuildingProductionAI.cpp, line 132
- Class
- CvBuildingProductionAI
- Hook name
CivHooks::CvBuildingProductionAI_AddFlavorWeights
Hooks
static bool BeforeCvBuildingProductionAI_AddFlavorWeights(CvBuildingProductionAI* self, FlavorTypes eFlavor, int iWeight);static void AfterCvBuildingProductionAI_AddFlavorWeights(CvBuildingProductionAI* self, FlavorTypes eFlavor, int iWeight);static void ReplaceCvBuildingProductionAI_AddFlavorWeights(void (*original)(CvBuildingProductionAI*, FlavorTypes, int), CvBuildingProductionAI* self, FlavorTypes eFlavor, int iWeight);CivRegisterBefore<CivHooks::CvBuildingProductionAI_AddFlavorWeights>(host, &BeforeCvBuildingProductionAI_AddFlavorWeights);CivRegisterAfter<CivHooks::CvBuildingProductionAI_AddFlavorWeights>(host, &AfterCvBuildingProductionAI_AddFlavorWeights);CivRegisterReplace<CivHooks::CvBuildingProductionAI_AddFlavorWeights>(host, &ReplaceCvBuildingProductionAI_AddFlavorWeights);
Code
131/// Establish weights for one flavor; can be called multiple times to layer strategies132void CvBuildingProductionAI::AddFlavorWeights(FlavorTypes eFlavor, int iWeight)133{134 CvBuildingXMLEntries* pkBuildings = m_pCityBuildings->GetBuildings();135136 // Loop through all buildings137 for(int iBuilding = 0; iBuilding < m_pCityBuildings->GetBuildings()->GetNumBuildings(); iBuilding++)138 {139 CvBuildingEntry* entry = pkBuildings->GetEntry(iBuilding);140 if(entry)141 {142 // Set its weight by looking at building's weight for this flavor and using iWeight multiplier passed in143 m_BuildingAIWeights.IncreaseWeight(iBuilding, entry->GetFlavorValue(eFlavor) * iWeight);144 }145 }146}