Hooks
static bool BeforeCvLuaCity_lIsCanPurchase(lua_State* L, int& result);static void AfterCvLuaCity_lIsCanPurchase(lua_State* L, int& result);static int ReplaceCvLuaCity_lIsCanPurchase(int (*original)(lua_State*), lua_State* L);CivRegisterBefore<CivHooks::CvLuaCity_lIsCanPurchase>(host, &BeforeCvLuaCity_lIsCanPurchase);CivRegisterAfter<CivHooks::CvLuaCity_lIsCanPurchase>(host, &AfterCvLuaCity_lIsCanPurchase);CivRegisterReplace<CivHooks::CvLuaCity_lIsCanPurchase>(host, &ReplaceCvLuaCity_lIsCanPurchase);
Code
1416// int IsCanPurchase(UnitTypes eUnitType, BuildingTypes eBuildingType, ProjectTypes eProjectType, YieldTypes ePurchaseYield);1417int CvLuaCity::lIsCanPurchase(lua_State* L)1418{1419 CvCity* pkCity = GetInstance(L);1420 const bool bTestPurchaseCost = lua_toboolean(L, 2);1421 const bool bTestTrainable = lua_toboolean(L, 3);1422 const UnitTypes eUnitType = (UnitTypes) lua_tointeger(L, 4);1423 const BuildingTypes eBuildingType = (BuildingTypes) lua_tointeger(L, 5);1424 const ProjectTypes eProjectType = (ProjectTypes) lua_tointeger(L, 6);1425 const YieldTypes ePurchaseYield = (YieldTypes) lua_tointeger(L, 7);14261427 const bool bResult = pkCity->IsCanPurchase(bTestPurchaseCost, bTestTrainable, eUnitType, eBuildingType, eProjectType, ePurchaseYield);14281429 lua_pushboolean(L, bResult);1430 return 1;1431}