blob: 06f4fe228722b03155a43a22ec1387335ed4ee0d (
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
 | #ifndef _LUA_CORE_H_
#define _LUA_CORE_H_
struct HandleRefParam
{
	HANDLE h;
	int ref;
	lua_State *L;
	HandleRefParam(HANDLE h) : L(NULL), h(h), ref(0) { }
	HandleRefParam(lua_State *L, HANDLE h, int ref = 0) : L(L), h(h), ref(ref) { }
};
class CMLua
{
private:
	lua_State *L;
	void SetPaths();
	static void KillLuaRefs();
public:
	static LIST<void> HookRefs;
	static LIST<void> ServiceRefs;
	LIST<CMLuaScript> Scripts;
	CMLua();
	~CMLua();
	void Load();
	void Unload();
	INT_PTR Call(WPARAM, LPARAM);
	INT_PTR Exec(WPARAM, LPARAM);
	INT_PTR Eval(WPARAM, LPARAM);
};
#endif //_LUA_CORE_H_
 |