Hooks
static bool BeforeCvLuaCity_lCanTrain(lua_State* L, int& result);static void AfterCvLuaCity_lCanTrain(lua_State* L, int& result);static int ReplaceCvLuaCity_lCanTrain(int (*original)(lua_State*), lua_State* L);CivRegisterBefore<CivHooks::CvLuaCity_lCanTrain>(host, &BeforeCvLuaCity_lCanTrain);CivRegisterAfter<CivHooks::CvLuaCity_lCanTrain>(host, &AfterCvLuaCity_lCanTrain);CivRegisterReplace<CivHooks::CvLuaCity_lCanTrain>(host, &ReplaceCvLuaCity_lCanTrain);
Code
853//bool canTrain( int iUnit, bool bContinue, bool bTestVisible, bool bIgnoreCost, bool bWillPurchase);854int CvLuaCity::lCanTrain(lua_State* L)855{856 CvCity* pkCity = GetInstance(L);857 const int iUnit = lua_tointeger(L, 2);858 const bool bContinue = luaL_optint(L, 3, 0);859 const bool bTestVisible = luaL_optint(L, 4, 0);860 const bool bIgnoreCost = luaL_optint(L, 5, 0);861 const bool bWillPurchase = luaL_optint(L, 6, 0);862 const bool bResult = pkCity->canTrain((UnitTypes)iUnit, bContinue, bTestVisible, bIgnoreCost, bWillPurchase);863864 lua_pushboolean(L, bResult);865 return 1;866}