PC Stable Documentation
 
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
Loading...
Searching...
No Matches
PluginManager Class Reference

Private Member Functions

void PluginManager ()
 
void ~PluginManager ()
 
void Init ()
 
void PluginsInit ()
 
void MainOnUpdate (float delta_time)
 
PluginBase GetPluginByType (typename plugin_type)
 Returns registred plugin by class type, better is to use global funtion GetPlugin(typename plugin_type)
 
protected void RegisterPlugin (string plugin_class_name, bool reg_on_client, bool reg_on_server, bool reg_on_release=true)
 Register new PluginBase to PluginManager for storing and handling plugin.
 
protected void RegisterPluginDebug (string plugin_class_name, bool reg_on_client, bool reg_on_server)
 Register new PluginBase to PluginManager for storing and handling plugin.
 
protected void RegisterPluginDiag (string plugin_class_name, bool reg_on_client, bool reg_on_server)
 
protected bool UnregisterPlugin (string plugin_class_name)
 

Private Attributes

private ref array< typenamem_PluginRegister
 
private ref map< typename, ref PluginBasem_PluginsPtrs
 

Constructor & Destructor Documentation

◆ PluginManager()

void PluginManager ( )
inlineprivate

References m_PluginRegister, and m_PluginsPtrs.

◆ ~PluginManager()

Member Function Documentation

◆ GetPluginByType()

PluginBase GetPluginByType ( typename plugin_type  )
inlineprivate

Returns registred plugin by class type, better is to use global funtion GetPlugin(typename plugin_type)

Parameters
module_tpyetypename class type of plugin
Returns
PluginBase
PluginRepairing plugin = GetPluginManager().GetPluginByType(PluginRepairing);
PluginManager GetPluginManager()
Returns registred plugin by class type, better is to use global funtion GetPlugin(typename plugin_typ...
Definition PluginManager.c:274
PluginBase GetPluginByType(typename plugin_type)
Returns registred plugin by class type, better is to use global funtion GetPlugin(typename plugin_typ...
Definition PluginManager.c:157

References m_PluginsPtrs.

Referenced by GetPlugin(), and PluginsInit().

◆ Init()

◆ MainOnUpdate()

void MainOnUpdate ( float  delta_time)
inlineprivate

References m_PluginsPtrs, and PluginBase::OnUpdate().

Referenced by Init(), and ~PluginManager().

◆ PluginsInit()

void PluginsInit ( )
inlineprivate

◆ RegisterPlugin()

protected void RegisterPlugin ( string  plugin_class_name,
bool  reg_on_client,
bool  reg_on_server,
bool  reg_on_release = true 
)
inlineprivate

Register new PluginBase to PluginManager for storing and handling plugin.

Parameters
module_tpyetypename class type of plugin
Returns
void
class PluginRepairing extends PluginBase
{
...
}
RegisterPlugin(PluginRepairing);
Plugin interface for controlling of agent pool system.
Definition PluginBase.c:2
protected void RegisterPlugin(string plugin_class_name, bool reg_on_client, bool reg_on_server, bool reg_on_release=true)
Register new PluginBase to PluginManager for storing and handling plugin.
Definition PluginManager.c:183

References GetGame(), m_PluginRegister, and string::ToType().

Referenced by Init(), RegisterPluginDebug(), and RegisterPluginDiag().

◆ RegisterPluginDebug()

protected void RegisterPluginDebug ( string  plugin_class_name,
bool  reg_on_client,
bool  reg_on_server 
)
inlineprivate

Register new PluginBase to PluginManager for storing and handling plugin.

Parameters
module_tpyetypename class type of plugin
Returns
void
class PluginRepairing extends PluginBase
{
...
}
RegisterPlugin(PluginRepairing);

References RegisterPlugin().

Referenced by Init().

◆ RegisterPluginDiag()

protected void RegisterPluginDiag ( string  plugin_class_name,
bool  reg_on_client,
bool  reg_on_server 
)
inlineprivate

References RegisterPlugin().

Referenced by Init().

◆ UnregisterPlugin()

protected bool UnregisterPlugin ( string  plugin_class_name)
inlineprivate

Field Documentation

◆ m_PluginRegister

private ref array<typename> m_PluginRegister
private

◆ m_PluginsPtrs

private ref map<typename, ref PluginBase> m_PluginsPtrs
private

The documentation for this class was generated from the following file: