CvLuaPlayer::lGetAvailableTenets(lua_State *)
- Defined in
- Lua/CvLuaPlayer.cpp, line 5433
- Class
- CvLuaPlayer
- Hook name
CivHooks::CvLuaPlayer_lGetAvailableTenets
Hooks
static bool BeforeCvLuaPlayer_lGetAvailableTenets(lua_State* L, int& result);static void AfterCvLuaPlayer_lGetAvailableTenets(lua_State* L, int& result);static int ReplaceCvLuaPlayer_lGetAvailableTenets(int (*original)(lua_State*), lua_State* L);CivRegisterBefore<CivHooks::CvLuaPlayer_lGetAvailableTenets>(host, &BeforeCvLuaPlayer_lGetAvailableTenets);CivRegisterAfter<CivHooks::CvLuaPlayer_lGetAvailableTenets>(host, &AfterCvLuaPlayer_lGetAvailableTenets);CivRegisterReplace<CivHooks::CvLuaPlayer_lGetAvailableTenets>(host, &ReplaceCvLuaPlayer_lGetAvailableTenets);
Code
5432//<list of PolicyTypes> GetAvailableTenets(int iLevel);5433int CvLuaPlayer::lGetAvailableTenets(lua_State* L)5434{5435 CvPlayerAI* pkPlayer = GetInstance(L);5436 const int iLevel = lua_tointeger(L, 2);54375438 lua_createtable(L, 0, 0);5439 const int t = lua_gettop(L);5440 int idx = 1;54415442 PolicyBranchTypes eBranch = pkPlayer->GetPlayerPolicies()->GetLateGamePolicyTree();5443 if (eBranch != NO_POLICY_BRANCH_TYPE)5444 {5445 std::vector<PolicyTypes> availableTenets = pkPlayer->GetPlayerPolicies()->GetAvailableTenets(eBranch, iLevel);5446 for(std::vector<PolicyTypes>::iterator it = availableTenets.begin();5447 it!= availableTenets.end(); ++it)5448 {5449 const PolicyTypes ePolicy = (*it);5450 lua_pushinteger(L, ePolicy);5451 lua_rawseti(L, t, idx++);5452 }5453 }54545455 return 1;5456}
Calls
CvLuaScopedInstance::GetInstance- CvPlayer::GetPlayerPolicies() const
- CvPlayerPolicies::GetAvailableTenets(PolicyBranchTypes, int)
- CvPlayerPolicies::GetLateGamePolicyTree() const
lua_createtablelua_gettoplua_pushintegerlua_rawsetilua_tointegerstd::_Vector_const_iterator::operator!=std::_Vector_iterator::operator*std::_Vector_iterator::operator++std::vector::beginstd::vector::end