CvCityCitizens::IsCanWork(CvPlot *) const
- Defined in
- CvCityCitizens.cpp, line 1967
- Class
- CvCityCitizens
- Hook name
CivHooks::CvCityCitizens_IsCanWork
Hooks
static bool BeforeCvCityCitizens_IsCanWork(const CvCityCitizens* self, CvPlot* pPlot, bool& result);static void AfterCvCityCitizens_IsCanWork(const CvCityCitizens* self, CvPlot* pPlot, bool& result);static bool ReplaceCvCityCitizens_IsCanWork(bool (*original)(const CvCityCitizens*, CvPlot*), const CvCityCitizens* self, CvPlot* pPlot);CivRegisterBefore<CivHooks::CvCityCitizens_IsCanWork>(host, &BeforeCvCityCitizens_IsCanWork);CivRegisterAfter<CivHooks::CvCityCitizens_IsCanWork>(host, &AfterCvCityCitizens_IsCanWork);CivRegisterReplace<CivHooks::CvCityCitizens_IsCanWork>(host, &ReplaceCvCityCitizens_IsCanWork);
Code
1966/// Can our City work a particular CvPlot?1967bool CvCityCitizens::IsCanWork(CvPlot* pPlot) const1968{1969 if(pPlot->getWorkingCity() != m_pCity)1970 {1971 return false;1972 }19731974 CvAssertMsg(GetCityIndexFromPlot(pPlot) != -1, "GetCityIndexFromPlot(pPlot) is expected to be assigned (not -1)");19751976 if(pPlot->plotCheck(PUF_canSiege, GetOwner()) != NULL)1977 {1978 return false;1979 }19801981 if(pPlot->isWater())1982 {1983 if(!(GET_TEAM(GetTeam()).isWaterWork()))1984 {1985 return false;1986 }19871988 }19891990 if(!pPlot->hasYield())1991 {1992 return false;1993 }19941995 if(IsPlotBlockaded(pPlot))1996 {1997 return false;1998 }19992000 return true;2001}
Calls
- CvCityCitizens::GetOwner() const
- CvCityCitizens::GetTeam() const
- CvCityCitizens::IsPlotBlockaded(CvPlot *) const
- CvPlot::getWorkingCity() const
- CvPlot::hasYield() const
- CvPlot::isWater() const
- CvPlot::plotCheck(ConstPlotUnitFunc, int, int, PlayerTypes, TeamTypes, ConstPlotUnitFunc, int, int)
- CvTeam::getTeam(TeamTypes)
- CvTeam::isWaterWork() const
- PUF_canSiege(const CvUnit *, int, int)
Called by
- CvBuilderTaskingAI::GetWorkingCity(CvPlot *)
- CvCityCitizens::DoAlterWorkingPlot(int)
- CvCityCitizens::DoFoundCity()
- CvCityCitizens::DoVerifyWorkingPlot(CvPlot *)
- CvCityCitizens::GetBestCityPlotWithValue(int &, bool, bool)
- CityStrategyAIHelpers::IsTestCityStrategy_NeedNavalTileImprovement(CvCity *)
- CvDllCity::CanWork(ICvPlot1 *) const
- CvEconomicAI::LogCityMonitor()
- CvLuaCity::lCanWork(lua_State *)