Bazaar developer reference

CvLuaPlayer::lGetCityOfClosestGreatWorkSlot(lua_State *)

Defined in
Lua/CvLuaPlayer.cpp, line 2794
Class
CvLuaPlayer
Hook name
CivHooks::CvLuaPlayer_lGetCityOfClosestGreatWorkSlot

Hooks

static bool BeforeCvLuaPlayer_lGetCityOfClosestGreatWorkSlot(lua_State* L, int& result);static void AfterCvLuaPlayer_lGetCityOfClosestGreatWorkSlot(lua_State* L, int& result);static int ReplaceCvLuaPlayer_lGetCityOfClosestGreatWorkSlot(int (*original)(lua_State*), lua_State* L);CivRegisterBefore<CivHooks::CvLuaPlayer_lGetCityOfClosestGreatWorkSlot>(host, &BeforeCvLuaPlayer_lGetCityOfClosestGreatWorkSlot);CivRegisterAfter<CivHooks::CvLuaPlayer_lGetCityOfClosestGreatWorkSlot>(host, &AfterCvLuaPlayer_lGetCityOfClosestGreatWorkSlot);CivRegisterReplace<CivHooks::CvLuaPlayer_lGetCityOfClosestGreatWorkSlot>(host, &ReplaceCvLuaPlayer_lGetCityOfClosestGreatWorkSlot);

Code

2793//CvCity *GetCityOfClosestGreatWorkSlot(int iX, int iY, GreatWorkSlotType eGreatWorkSlot);2794int CvLuaPlayer::lGetCityOfClosestGreatWorkSlot(lua_State* L)2795{2796	CvPlayerAI* pkPlayer = GetInstance(L);2797	int iX = lua_tointeger(L, 2);2798	int iY = lua_tointeger(L, 3);2799	GreatWorkSlotType eGreatWorkSlot = static_cast<GreatWorkSlotType>(lua_tointeger(L, 4));2800	BuildingClassTypes eBuildingClass;2801	int iSlot;2802	CvCity* pkCity = pkPlayer->GetCulture()->GetClosestAvailableGreatWorkSlot(iX, iY, eGreatWorkSlot, &eBuildingClass, &iSlot);2803	if (pkCity)2804	{2805		CvLuaCity::Push(L, pkCity);2806		return 1;2807	}2808	else2809	{2810		return 0;2811	}2812}

Calls

Called by