57 lines
No EOL
1.6 KiB
C++
57 lines
No EOL
1.6 KiB
C++
#ifndef __PLUGIN_H
|
|
#define __PLUGIN_H
|
|
|
|
#include "glua.h"
|
|
#include "networkvar.h"
|
|
|
|
class CBasePlugin : public ILuaPluginCallbacks
|
|
{
|
|
public:
|
|
CBasePlugin();
|
|
|
|
virtual bool Load(CreateInterfaceFn,CreateInterfaceFn);
|
|
virtual void Unload();
|
|
virtual void Pause();
|
|
virtual void UnPause();
|
|
virtual const char* GetPluginDescription();
|
|
|
|
virtual void LevelInit(const char*);
|
|
virtual void ServerActivate(edict_t*,int,int);
|
|
virtual void GameFrame(bool);
|
|
virtual void LevelShutdown();
|
|
|
|
virtual void ClientActive(edict_t*);
|
|
virtual void ClientDisconnect(edict_t*);
|
|
virtual void ClientPutInServer(edict_t*,const char*);
|
|
virtual void SetCommandClient(int);
|
|
virtual void ClientSettingsChanged(edict_t*);
|
|
|
|
virtual PLUGIN_RESULT ClientConnect(bool*,edict_t*,const char*,
|
|
const char*,char*,int);
|
|
virtual PLUGIN_RESULT ClientCommand(edict_t*);
|
|
virtual PLUGIN_RESULT NetworkIDValidated(const char*,
|
|
const char*);
|
|
|
|
virtual bool GlobalInit(ILua502*);
|
|
virtual bool LuaInit(lua_State*);
|
|
virtual void OnSWEPLuaCreate(lua_State*);
|
|
private:
|
|
int m_iCommandClientIndex;
|
|
static const char* s_pPluginName;
|
|
};
|
|
|
|
#define DECLARE_PLUGIN(dllName) \
|
|
class dllName : public CBasePlugin \
|
|
{ \
|
|
public: \
|
|
DECLARE_CLASS(dllName,CBasePlugin);
|
|
#define END_PLUGIN(dllName,plugName) \
|
|
}; \
|
|
const char* CBasePlugin::s_pPluginName = plugName; \
|
|
static dllName s_##dllName; \
|
|
EXPOSE_SINGLE_INTERFACE_GLOBALVAR(dllName,IServerPluginCallbacks, \
|
|
INTERFACEVERSION_ISERVERPLUGINCALLBACKS,s_##dllName)
|
|
|
|
extern ILua502* g_pLua502;
|
|
|
|
#endif |