Hooks
static bool BeforeCvLuaPlayer_lCanBuild(lua_State* L, int& result);static void AfterCvLuaPlayer_lCanBuild(lua_State* L, int& result);static int ReplaceCvLuaPlayer_lCanBuild(int (*original)(lua_State*), lua_State* L);CivRegisterBefore<CivHooks::CvLuaPlayer_lCanBuild>(host, &BeforeCvLuaPlayer_lCanBuild);CivRegisterAfter<CivHooks::CvLuaPlayer_lCanBuild>(host, &AfterCvLuaPlayer_lCanBuild);CivRegisterReplace<CivHooks::CvLuaPlayer_lCanBuild>(host, &ReplaceCvLuaPlayer_lCanBuild);
Code
1910//bool canBuild(CyPlot* pPlot, BuildTypes eBuild, bool bTestEra = false, bool bTestVisible = false, bool bTestGold = false);1911int CvLuaPlayer::lCanBuild(lua_State* L)1912{1913 CvPlayerAI* pkPlayer = GetInstance(L);1914 CvPlot* pkPlot = CvLuaPlot::GetInstance(L, 2);1915 const BuildTypes eBuild = (BuildTypes)lua_tointeger(L, 3);1916 const bool bTestEra = luaL_optint(L, 4, 0);1917 const bool bTestVisible = luaL_optint(L, 5, 0);1918 const bool bTestGold = luaL_optint(L, 6, 0);19191920 const bool bResult = pkPlayer->canBuild(pkPlot, eBuild, bTestEra, bTestVisible, bTestGold);1921 lua_pushboolean(L, bResult);1922 return 1;1923}