Bazaar developer reference

CvCity::canMaintain(ProcessTypes, bool) const

Defined in
CvCity.cpp, line 3074
Class
CvCity
Hook name
CivHooks::CvCity_canMaintain
Lua events
GameEvents.CityCanMaintain

Hooks

static bool BeforeCvCity_canMaintain(const CvCity* self, ProcessTypes eProcess, bool bContinue, bool& result);static void AfterCvCity_canMaintain(const CvCity* self, ProcessTypes eProcess, bool bContinue, bool& result);static bool ReplaceCvCity_canMaintain(bool (*original)(const CvCity*, ProcessTypes, bool), const CvCity* self, ProcessTypes eProcess, bool bContinue);CivRegisterBefore<CivHooks::CvCity_canMaintain>(host, &BeforeCvCity_canMaintain);CivRegisterAfter<CivHooks::CvCity_canMaintain>(host, &AfterCvCity_canMaintain);CivRegisterReplace<CivHooks::CvCity_canMaintain>(host, &ReplaceCvCity_canMaintain);

Code

3074bool CvCity::canMaintain(ProcessTypes eProcess, bool bContinue) const3075{3076	VALIDATE_OBJECT30773078	if(!(GET_PLAYER(getOwner()).canMaintain(eProcess, bContinue)))3079	{3080		return false;3081	}30823083	ICvEngineScriptSystem1* pkScriptSystem = gDLL->GetScriptSystem();3084	if(pkScriptSystem)3085	{3086		CvLuaArgsHandle args;3087		args->Push(getOwner());3088		args->Push(GetID());3089		args->Push(eProcess);30903091		// Attempt to execute the game events.3092		// Will return false if there are no registered listeners.3093		bool bResult = false;3094		if(LuaSupport::CallTestAll(pkScriptSystem, "CityCanMaintain", args.get(), bResult))3095		{3096			// Check the result.3097			if(bResult == false)3098			{3099				return false;3100			}3101		}3102	}31033104	return true;3105}

Calls

Called by