Hooks
static bool BeforeCvLuaDeal_lGetNextItem(lua_State* L, int& result);static void AfterCvLuaDeal_lGetNextItem(lua_State* L, int& result);static int ReplaceCvLuaDeal_lGetNextItem(int (*original)(lua_State*), lua_State* L);CivRegisterBefore<CivHooks::CvLuaDeal_lGetNextItem>(host, &BeforeCvLuaDeal_lGetNextItem);CivRegisterAfter<CivHooks::CvLuaDeal_lGetNextItem>(host, &AfterCvLuaDeal_lGetNextItem);CivRegisterReplace<CivHooks::CvLuaDeal_lGetNextItem>(host, &ReplaceCvLuaDeal_lGetNextItem);
Code
159int CvLuaDeal::lGetNextItem(lua_State* L)160{161 CvDeal* pkDeal = GetInstance(L);162163 if(m_iterator == pkDeal->m_TradedItems.end())164 return 0;165166 const CvTradedItem& item = (*m_iterator);167 lua_pushinteger(L, item.m_eItemType);168 lua_pushinteger(L, item.m_iDuration);169 lua_pushinteger(L, item.m_iFinalTurn);170 lua_pushinteger(L, item.m_iData1);171 lua_pushinteger(L, item.m_iData2);172 lua_pushinteger(L, item.m_iData3);173 lua_pushboolean(L, item.m_bFlag1);174 lua_pushinteger(L, item.m_eFromPlayer);175176 m_iterator++;177178 return 8;179}