Leviathan  0.8.0.0
Leviathan game engine
Leviathan::ScriptArgumentsProvider Class Referenceabstract

Classes implementing this interface allow script modules to run automatic OnInit and OnRelease function during release. More...

#include <ScriptArgumentsProvider.h>

Public Member Functions

virtual DLLEXPORT std::unique_ptr< ScriptRunningSetupGetParametersForInit ()=0
 
virtual DLLEXPORT std::unique_ptr< ScriptRunningSetupGetParametersForRelease ()=0
 

Protected Member Functions

DLLEXPORT void _BondWithModule (ScriptModule *module)
 
DLLEXPORT void _LeaveBondBridge ()
 

Protected Attributes

std::shared_ptr< ScriptArgumentsProviderBridge_ArgumentBridge
 

Detailed Description

Classes implementing this interface allow script modules to run automatic OnInit and OnRelease function during release.

Definition at line 13 of file ScriptArgumentsProvider.h.

Member Function Documentation

◆ _BondWithModule()

DLLEXPORT void Leviathan::ScriptArgumentsProvider::_BondWithModule ( ScriptModule module)
protected

Definition at line 14 of file ScriptArgumentsProvider.cpp.

14  {
15  _ArgumentBridge = std::shared_ptr<ScriptArgumentsProviderBridge>(new ScriptArgumentsProviderBridge());
16 
17  _ArgumentBridge->SetProvider(this);
18  _ArgumentBridge->SetModule(module);
19 
21 }
std::shared_ptr< ScriptArgumentsProviderBridge > _ArgumentBridge
Forms a connection between a ScriptModule and a ScriptArgumentsProvider which either can disconnect...
DLLEXPORT bool OnAddedToBridge(std::shared_ptr< ScriptArgumentsProviderBridge > bridge)
Call when this module is added to a bridge.

◆ _LeaveBondBridge()

DLLEXPORT void Leviathan::ScriptArgumentsProvider::_LeaveBondBridge ( )
protected

Definition at line 9 of file ScriptArgumentsProvider.cpp.

9  {
10  _ArgumentBridge->LeaveProvider();
11  _ArgumentBridge.reset();
12 }
std::shared_ptr< ScriptArgumentsProviderBridge > _ArgumentBridge

◆ GetParametersForInit()

virtual DLLEXPORT std::unique_ptr<ScriptRunningSetup> Leviathan::ScriptArgumentsProvider::GetParametersForInit ( )
pure virtual

◆ GetParametersForRelease()

virtual DLLEXPORT std::unique_ptr<ScriptRunningSetup> Leviathan::ScriptArgumentsProvider::GetParametersForRelease ( )
pure virtual

Member Data Documentation

◆ _ArgumentBridge

std::shared_ptr<ScriptArgumentsProviderBridge> Leviathan::ScriptArgumentsProvider::_ArgumentBridge
protected

Definition at line 28 of file ScriptArgumentsProvider.h.


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