r5sdk/r5dev/pluginsdk/pluginsdk.h
Kawe Mazidjatari befd38bf51 Interface factory system rewrite
Removed all extraneous copies by adding the class 'InterfaceReg' which will construct a new interface, and link it to the engine's static register. The Source Engine macro 'EXPOSE_INTERFACE_FN' will help utilizing this. The game module from the plugin is not obtained through the process environment block, so the executable is no longer sensitive to names.
2023-08-22 01:11:49 +02:00

25 lines
506 B
C++

#pragma once
class IFactorySystem;
class IPluginSystem;
//-----------------------------------------------------------------------------//
class CPluginSDK
{
public:
CPluginSDK(const char* pszSelfModule);
~CPluginSDK();
bool InitSDK();
inline void SetSDKModule(const CModule& sdkModule) { m_SDKModule = sdkModule; };
private:
IFactorySystem* m_FactoryInstance;
IPluginSystem* m_PluginSystem;
CModule m_SelfModule;
CModule m_GameModule;
CModule m_SDKModule;
};
extern CPluginSDK* g_pPluginSDK;