blob: e202d9930efc29b3d74f7cf550809bc858350317 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
#include "je_lua_function.h"
namespace JinEngine
{
namespace Lua
{
LuaFunc::LuaFunc(lua_State* L)
: mLuaFunc(nullptr)
, mParams(0)
, mL(L)
{
}
LuaFunc::~LuaFunc()
{
delete mLuaFunc;
for (auto p : mParams)
delete p;
}
void LuaFunc::setFunc(int i, uint nresults )
{
if (mLuaFunc != nullptr)
delete mLuaFunc;
mLuaFunc = new LuaRef(mL, i);
mNResults = nresults;
}
void LuaFunc::pushParam(int i)
{
mParams.push_back(new LuaRef(mL, i));
}
uint LuaFunc::call()
{
mLuaFunc->push();
for (auto p : mParams)
p->push();
luax_call(mL, mParams.size(), mNResults);
return mNResults;
}
}
}
|