mirror of
https://github.com/Mauler125/r5sdk.git
synced 2025-02-09 19:15:03 +01:00
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.
25 lines
506 B
C++
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; |