summaryrefslogtreecommitdiffstats
path: root/source/cPlugin_Lua.h
blob: 1ce582a29c5a9591f80489301fa80f841ae33ac6 (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

#pragma once

class cPickup;
class cPlayer;
class cPacket_BlockPlace;
class cPacket_BlockDig;
class cPacket_Login;
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