From 0f51f7e35883936a64857a12ca5a97eaa1c9e190 Mon Sep 17 00:00:00 2001 From: Mattes D Date: Sun, 14 Aug 2016 16:26:31 +0200 Subject: Fixed cWorld:ChunkStay bindings. (#3319) Introduced new cLuaState::cOptionalCallback for representing optional callbacks (nil from Lua side). Introduced new cLuaState::cStackTable class for easy access to Lua table's elements. Fixes #3305. --- src/Bindings/LuaChunkStay.h | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) (limited to 'src/Bindings/LuaChunkStay.h') diff --git a/src/Bindings/LuaChunkStay.h b/src/Bindings/LuaChunkStay.h index 51356d5b7..175260978 100644 --- a/src/Bindings/LuaChunkStay.h +++ b/src/Bindings/LuaChunkStay.h @@ -30,24 +30,19 @@ class cLuaChunkStay typedef cChunkStay super; public: - cLuaChunkStay(cPluginLua & a_Plugin); + cLuaChunkStay(); ~cLuaChunkStay() { } - /** Adds chunks in the specified on-stack Lua table. + /** Adds chunks in the specified Lua table. + Can be called only once. Returns true if any chunk added, false (plus log warning) if none. */ - bool AddChunks(int a_ChunkCoordTableStackPos); + bool AddChunks(const cLuaState::cStackTable & a_ChunkCoords); /** Enables the ChunkStay for the specified chunkmap, with the specified Lua callbacks. */ void Enable(cChunkMap & a_ChunkMap, cLuaState::cCallbackPtr a_OnChunkAvailable, cLuaState::cCallbackPtr a_OnAllChunksAvailable); protected: - /** The plugin which has created the ChunkStay, via cWorld:ChunkStay() binding method. */ - cPluginLua & m_Plugin; - - /** The Lua state associated with the callbacks. Only valid when enabled. */ - cLuaState * m_LuaState; - /** The Lua function to call in OnChunkAvailable. Only valid when enabled. */ cLuaState::cCallbackPtr m_OnChunkAvailable; -- cgit v1.2.3