My Project
List of all members
NPL::IMonoScriptingState Class Reference

This is the NPLMono DLL plugin interface. More...

#include <INPLScriptingState.h>

Inheritance diagram for NPL::IMonoScriptingState:
NPL::INPLScriptingState CMonoScriptingState CMonoScriptingState

Additional Inherited Members

- Public Member Functions inherited from NPL::INPLScriptingState
virtual void Release ()=0
 this is something like delete this
 
virtual void * GetState ()=0
 get the Mono Domain state. More...
 
virtual bool IsValid ()=0
 return true if the runtime state is valid
 
virtual bool IsScriptFileLoaded (const std::string &filepath)=0
 whether a given script file is loaded. More...
 
virtual bool LoadFile (const std::string &filePath, bool bReload)=0
 load a new CS script file without running it. More...
 
virtual int DoString (const char *sCall, int nLength=0)=0
 do string in the current state. More...
 
virtual NPL::NPLReturnCode ActivateFile (const std::string &filepath, const char *code=NULL, int nLength=0)=0
 Activate a local file. More...
 
virtual bool CreateState (const char *name, INPLRuntimeState *pState=NULL)=0
 load or restore the runtime state More...
 
virtual void DestroyState ()=0
 destroy the runtime state careful with this function, it will make the state invalid.
 
virtual void SetNPLRuntimeState (INPLRuntimeState *pState)=0
 set the NPL runtime state that this mono scripting state belongs to. More...
 
virtual INPLRuntimeStateGetNPLRuntimeState ()=0
 Get the NPL runtime state that this mono scripting state belongs to.
 

Detailed Description

This is the NPLMono DLL plugin interface.

In ParaEngine server side plugin project NPLMono, the class CMonoScriptingState implement this interface. NPLRuntimeState will use this interface to load and activate files in the mono runtime environment.

The reason that I make mono runtime a plugin, instead of build-in class, is that it is usually only used on the server side and Mono runtime is pretty big both at compile time and run time.


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