CvUnit::construct(BuildingTypes)
- Defined in
- CvUnit.cpp, line 8142
- Class
- CvUnit
- Hook name
CivHooks::CvUnit_construct
Hooks
static bool BeforeCvUnit_construct(CvUnit* self, BuildingTypes eBuilding, bool& result);static void AfterCvUnit_construct(CvUnit* self, BuildingTypes eBuilding, bool& result);static bool ReplaceCvUnit_construct(bool (*original)(CvUnit*, BuildingTypes), CvUnit* self, BuildingTypes eBuilding);CivRegisterBefore<CivHooks::CvUnit_construct>(host, &BeforeCvUnit_construct);CivRegisterAfter<CivHooks::CvUnit_construct>(host, &AfterCvUnit_construct);CivRegisterReplace<CivHooks::CvUnit_construct>(host, &ReplaceCvUnit_construct);
Code
8142bool CvUnit::construct(BuildingTypes eBuilding)8143{8144 VALIDATE_OBJECT8145 CvCity* pCity;81468147 if(!canConstruct(plot(), eBuilding))8148 {8149 return false;8150 }81518152 pCity = plot()->getPlotCity();81538154 if(pCity != NULL)8155 {8156 pCity->GetCityBuildings()->SetNumRealBuilding(eBuilding, pCity->GetCityBuildings()->GetNumRealBuilding(eBuilding) + 1);8157 }81588159 if(plot()->isActiveVisible(false))8160 {8161 auto_ptr<ICvUnit1> pDllUnit(new CvDllUnit(this));8162 gDLL->GameplayUnitActivate(pDllUnit.get());8163 }81648165 kill(true);81668167 return true;8168}
Calls
- CvCity::GetCityBuildings() const
- CvCityBuildings::GetNumRealBuilding(BuildingTypes) const
- CvCityBuildings::SetNumRealBuilding(BuildingTypes, int)
- CvDllUnit::CvDllUnit(CvUnit *)
- CvGlobals::getDLLIFace()
- CvPlot::getPlotCity() const
- CvPlot::isActiveVisible(bool) const
- CvUnit::canConstruct(const CvPlot *, BuildingTypes) const
- CvUnit::kill(bool, PlayerTypes)
- CvUnit::plot() const
ICvEngineUtility1::GameplayUnitActivatestd::auto_ptr::auto_ptrstd::auto_ptr::get