CvCity::canPrepare(SpecialistTypes, bool) const
- Defined in
- CvCity.cpp, line 3040
- Class
- CvCity
- Hook name
CivHooks::CvCity_canPrepare- Lua events
GameEvents.CityCanPrepare
Hooks
static bool BeforeCvCity_canPrepare(const CvCity* self, SpecialistTypes eSpecialist, bool bContinue, bool& result);static void AfterCvCity_canPrepare(const CvCity* self, SpecialistTypes eSpecialist, bool bContinue, bool& result);static bool ReplaceCvCity_canPrepare(bool (*original)(const CvCity*, SpecialistTypes, bool), const CvCity* self, SpecialistTypes eSpecialist, bool bContinue);CivRegisterBefore<CivHooks::CvCity_canPrepare>(host, &BeforeCvCity_canPrepare);CivRegisterAfter<CivHooks::CvCity_canPrepare>(host, &AfterCvCity_canPrepare);CivRegisterReplace<CivHooks::CvCity_canPrepare>(host, &ReplaceCvCity_canPrepare);
Code
3040bool CvCity::canPrepare(SpecialistTypes eSpecialist, bool bContinue) const3041{3042 VALIDATE_OBJECT30433044 if(!(GET_PLAYER(getOwner()).canPrepare(eSpecialist, bContinue)))3045 {3046 return false;3047 }30483049 ICvEngineScriptSystem1* pkScriptSystem = gDLL->GetScriptSystem();3050 if(pkScriptSystem)3051 {3052 CvLuaArgsHandle args;3053 args->Push(getOwner());3054 args->Push(GetID());3055 args->Push(eSpecialist);30563057 // Attempt to execute the game events.3058 // Will return false if there are no registered listeners.3059 bool bResult = false;3060 if(LuaSupport::CallTestAll(pkScriptSystem, "CityCanPrepare", args.get(), bResult))3061 {3062 // Check the result.3063 if(bResult == false)3064 {3065 return false;3066 }3067 }3068 }30693070 return true;3071}
Calls
- CvCity::GetID() const
- CvCity::getOwner() const
- CvGlobals::getDLLIFace()
- CvLuaArgsHandle::CvLuaArgsHandle()
- CvLuaArgsHandle::get() const
- CvLuaArgsHandle::operator->() const
- CvPlayer::canPrepare(SpecialistTypes, bool) const
- CvPlayerAI::getPlayer(PlayerTypes)
ICvEngineScriptSystemArgs1::PushICvEngineUtility1::GetScriptSystem- LuaSupport::CallTestAll(ICvEngineScriptSystem1 *, const char *, ICvEngineScriptSystemArgs1 *, bool &)