CvUnit::shouldLoadOnMove(const CvPlot *) const
- Defined in
- CvUnit.cpp, line 4333
- Class
- CvUnit
- Hook name
CivHooks::CvUnit_shouldLoadOnMove
Hooks
static bool BeforeCvUnit_shouldLoadOnMove(const CvUnit* self, const CvPlot* pPlot, bool& result);static void AfterCvUnit_shouldLoadOnMove(const CvUnit* self, const CvPlot* pPlot, bool& result);static bool ReplaceCvUnit_shouldLoadOnMove(bool (*original)(const CvUnit*, const CvPlot*), const CvUnit* self, const CvPlot* pPlot);CivRegisterBefore<CivHooks::CvUnit_shouldLoadOnMove>(host, &BeforeCvUnit_shouldLoadOnMove);CivRegisterAfter<CivHooks::CvUnit_shouldLoadOnMove>(host, &AfterCvUnit_shouldLoadOnMove);CivRegisterReplace<CivHooks::CvUnit_shouldLoadOnMove>(host, &ReplaceCvUnit_shouldLoadOnMove);
Code
4333bool CvUnit::shouldLoadOnMove(const CvPlot* pPlot) const4334{4335 VALIDATE_OBJECT4336 if(isCargo())4337 {4338 return false;4339 }43404341 switch(getDomainType())4342 {4343 case DOMAIN_LAND:4344 if(pPlot->isWater())4345 {4346 return true;4347 }4348 break;4349 case DOMAIN_AIR:4350 if(!pPlot->isFriendlyCity(*this, true))4351 {4352 return true;4353 }4354 break;4355 default:4356 break;4357 }43584359 if(isTerrainImpassable(pPlot->getTerrainType()))4360 {4361 bool bCanPass = false;4362 bCanPass = m_Promotions.GetAllowTerrainPassable(pPlot->getTerrainType());43634364 if(!bCanPass)4365 {4366 return true;4367 }4368 }43694370 return false;4371}