aboutsummaryrefslogtreecommitdiff
path: root/src/lua/common
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2018-11-13 08:27:26 +0800
committerchai <chaifix@163.com>2018-11-13 08:27:26 +0800
commit75792c15480d3d99b2ba7e79e143e4b569b22611 (patch)
tree61e3abc45326c67d348e08400da11f60dff18fa3 /src/lua/common
parentc7e59fb376453e5abad8c862b52eb0f4c7ba829b (diff)
*修改lua ref
Diffstat (limited to 'src/lua/common')
-rw-r--r--src/lua/common/je_lua_callback.cpp (renamed from src/lua/common/je_lua_function.cpp)16
-rw-r--r--src/lua/common/je_lua_callback.h (renamed from src/lua/common/je_lua_function.h)35
-rw-r--r--src/lua/common/je_lua_reference.h17
-rw-r--r--src/lua/common/je_lua_shared.hpp8
4 files changed, 56 insertions, 20 deletions
diff --git a/src/lua/common/je_lua_function.cpp b/src/lua/common/je_lua_callback.cpp
index e202d99..392f919 100644
--- a/src/lua/common/je_lua_function.cpp
+++ b/src/lua/common/je_lua_callback.cpp
@@ -1,44 +1,42 @@
-#include "je_lua_function.h"
+#include "je_lua_callback.h"
namespace JinEngine
{
namespace Lua
{
- LuaFunc::LuaFunc(lua_State* L)
+ LuaCallback::LuaCallback(lua_State* L)
: mLuaFunc(nullptr)
, mParams(0)
, mL(L)
{
}
- LuaFunc::~LuaFunc()
+ LuaCallback::~LuaCallback()
{
delete mLuaFunc;
for (auto p : mParams)
delete p;
}
- void LuaFunc::setFunc(int i, uint nresults )
+ void LuaCallback::setFunc(int i)
{
if (mLuaFunc != nullptr)
delete mLuaFunc;
mLuaFunc = new LuaRef(mL, i);
- mNResults = nresults;
}
- void LuaFunc::pushParam(int i)
+ void LuaCallback::pushParam(int i)
{
mParams.push_back(new LuaRef(mL, i));
}
- uint LuaFunc::call()
+ void LuaCallback::call()
{
mLuaFunc->push();
for (auto p : mParams)
p->push();
- luax_call(mL, mParams.size(), mNResults);
- return mNResults;
+ luax_call(mL, mParams.size(), 0);
}
}
diff --git a/src/lua/common/je_lua_function.h b/src/lua/common/je_lua_callback.h
index a2d5ccc..f3301fc 100644
--- a/src/lua/common/je_lua_function.h
+++ b/src/lua/common/je_lua_callback.h
@@ -12,16 +12,26 @@ namespace JinEngine
namespace Lua
{
- class LuaFunc
+ ///
+ ///
+ ///
+ class LuaCallback
{
public:
- LuaFunc(lua_State* L);
- ~LuaFunc();
+ ///
+ ///
+ ///
+ LuaCallback(lua_State* L);
+
+ ///
+ ///
+ ///
+ ~LuaCallback();
///
///
///
- void setFunc(int i, uint nresults);
+ void setFunc(int i);
///
///
@@ -31,13 +41,24 @@ namespace JinEngine
///
///
///
- uint call();
+ void call();
private:
+ ///
+ ///
+ ///
LuaRef* mLuaFunc;
+
+ ///
+ ///
+ ///
std::vector<LuaRef*> mParams;
- lua_State* mL;
- uint mNResults;
+
+ ///
+ ///
+ ///
+ lua_State* const mL;
+
};
} // namespace Lua
diff --git a/src/lua/common/je_lua_reference.h b/src/lua/common/je_lua_reference.h
index d2d077f..f338762 100644
--- a/src/lua/common/je_lua_reference.h
+++ b/src/lua/common/je_lua_reference.h
@@ -15,9 +15,19 @@ namespace JinEngine
class LuaRef
{
public:
+ ///
+ ///
+ ///
LuaRef(lua_State* L, int i);
+
+ ///
+ ///
+ ///
~LuaRef();
+ ///
+ ///
+ ///
void unref();
///
@@ -26,7 +36,14 @@ namespace JinEngine
void push();
private:
+ ///
+ ///
+ ///
lua_State* const mL;
+
+ ///
+ ///
+ ///
int mIndex;
};
diff --git a/src/lua/common/je_lua_shared.hpp b/src/lua/common/je_lua_shared.hpp
index 7ac8923..876fe28 100644
--- a/src/lua/common/je_lua_shared.hpp
+++ b/src/lua/common/je_lua_shared.hpp
@@ -6,7 +6,7 @@ namespace JinEngine
namespace Lua
{
- /*abstract*/class SharedBase
+ class SharedBase
{
public:
void retain()
@@ -20,7 +20,7 @@ namespace JinEngine
delete this;
}
- // object type string
+ // Object type string.
const char* const type;
void setUserdata(void* data)
@@ -63,12 +63,12 @@ namespace JinEngine
T* operator->()
{
- return (T*)object;
+ return static_cast<T*>(object);
}
T* getObject()
{
- return (T*)object;
+ return static_cast<T*>(object);
}
private: