CvUnit::CanBuildSpaceship(const CvPlot *, bool) const
- Defined in
- CvUnit.cpp, line 9657
- Class
- CvUnit
- Hook name
CivHooks::CvUnit_CanBuildSpaceship
Hooks
static bool BeforeCvUnit_CanBuildSpaceship(const CvUnit* self, const CvPlot* pPlot, bool bVisible, bool& result);static void AfterCvUnit_CanBuildSpaceship(const CvUnit* self, const CvPlot* pPlot, bool bVisible, bool& result);static bool ReplaceCvUnit_CanBuildSpaceship(bool (*original)(const CvUnit*, const CvPlot*, bool), const CvUnit* self, const CvPlot* pPlot, bool bVisible);CivRegisterBefore<CivHooks::CvUnit_CanBuildSpaceship>(host, &BeforeCvUnit_CanBuildSpaceship);CivRegisterAfter<CivHooks::CvUnit_CanBuildSpaceship>(host, &AfterCvUnit_CanBuildSpaceship);CivRegisterReplace<CivHooks::CvUnit_CanBuildSpaceship>(host, &ReplaceCvUnit_CanBuildSpaceship);
Code
9656/// Can this Unit build a spaceship part at pPlot??9657bool CvUnit::CanBuildSpaceship(const CvPlot* pPlot, bool bVisible) const9658{9659 VALIDATE_OBJECT96609661 // Delayed death9662 if(isDelayedDeath())9663 return false;96649665 if(GAMESTATE_ON != GC.getGame().getGameState())9666 return false;96679668 // Can this unit actually build a part?9669 ProjectTypes eSpaceshipProject = (ProjectTypes) getUnitInfo().GetSpaceshipProject();9670 if(eSpaceshipProject == NO_PROJECT)9671 return false;96729673 // Things that block usage but not visibility9674 if(!bVisible)9675 {9676 CvCity* pCity = pPlot->getPlotCity();96779678 // Not in a city9679 if(pCity == NULL)9680 return false;96819682 // Must be our city9683 if(pCity->getOwner() != getOwner())9684 return false;96859686 // Can only build SS part in our capital9687 if(!pCity->isCapital())9688 return false;9689 }96909691 return true;9692}