summaryrefslogtreecommitdiffstats
path: root/source/Plugin_Lua.h
blob: 73787de0c0df02cdfd5ebe47d0d9473aa2ae1176 (plain) (blame)
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

#pragma once

class cPickup;
class cPlayer;
class cPlugin;





class cPlugin_Lua							//tolua_export
{											//tolua_export
public:
	cPlugin_Lua(const char* a_Plugin);		
	~cPlugin_Lua();

	virtual bool Initialize();

	std::string GetFileName() { return m_FileName; }	//tolua_export
	typedef struct lua_State lua_State;
	lua_State* GetLuaState();

	void AddPlugin( cPlugin* a_Plugin );
	void RemovePlugin( cPlugin* a_Plugin );
private:
	void UnloadPlugins();

	std::string m_FileName;
	lua_State* m_LuaState;

	typedef std::list< cPlugin* > PluginList;
	PluginList m_Plugins;
};											//tolua_export