My Project
Classes | Typedefs | Functions | Variables
ParaScripting Namespace Reference

for luabind, The main drawback of this approach is that the compilation time will increase for the file that does the registration, it is therefore recommended that you register everything in the same cpp-file. More...

Classes

class  CAssetScriptCallbackData
 terrain mask file callback data More...
 
class  CNPL
 Neural Parallel Language functions are in this namespace. More...
 
class  CNPLScriptingState
 a NPL scripting state (wrapper of lua State), for binding c++ classes to lua. More...
 
class  CParaEngine
 global game engine related functions, such as ParaEngineCore interface, copy right information, simple water marking More...
 
struct  CStringCompare
 
struct  FileSystemWatcher_NPLCallback
 callback to npl runtime More...
 
class  JabberClientManager
 jabber client manager or factory More...
 
struct  lua_func_entry
 for registering functions More...
 
struct  lua_vale_entry
 
struct  NPL_GetNidsArray_Iterator
 
struct  NPL_GetNidsStr_Iterator
 
class  NPLJabberClient
 NPL Jabber Client class. More...
 
class  ParaAsset
 ParaAsset namespace contains a list of HAPI functions to manage resources(asset) used in game world composing, such as 3d models, textures, animations, sound, etc. More...
 
class  ParaAssetObject
 it represents an asset entity. More...
 
class  ParaAttributeObject
 it represents an attribute object associated with an object. More...
 
class  ParaAudio
 Audio Engine functions. More...
 
class  ParaAudioSource
 It represents a 2D or 3D audio source object. More...
 
class  ParaBlockWorld
 Wrapper of internal CBlockWorld. More...
 
class  ParaBootStrapper
 ParaGlobal namespace contains a list of HAPI functions to access the boot strapper functionality. More...
 
class  ParaBrowserManager
 managing HTML browsers More...
 
class  ParaCamera
 The camera controller. More...
 
class  ParaCharacter
 ParaObject class: it is used to control game scene objects from scripts. More...
 
class  ParaConfig
 
class  ParaDataProvider
 Wrapper of internal ParaWorld data provider. More...
 
class  ParaFaceTrackingCtrler
 ParaFaceTrackingCtrler object: it will allow the biped to always face to a given target or another biped. More...
 
class  ParaFileObject
 file object. More...
 
class  ParaFileSystemWatcher
 file system watcher to monitor file changes in one or several directories .NET also provides a class similar to this one, called FileSystemWatcher. More...
 
class  ParaGlobal
 ParaGlobal namespace contains a list of HAPI functions to globally control the engine. More...
 
class  ParaHTMLBrowser
 a HTML browser control and texture More...
 
class  ParaIO
 ParaIO class: IO functions ported to the scripting system. More...
 
class  ParaMiniSceneGraph
 ParaMiniSceneGraph class: More...
 
class  ParaMisc
 Contains miscellaneous functions. More...
 
class  ParaMovie
 movie making and screen capture functions More...
 
class  ParaMovieCtrler
 ParaMovieCtrler object: it is used to control time based movie of character object. More...
 
class  ParaNetwork
 API wrapper for NPL Network Layer functions. More...
 
class  ParaNPLRuntimeState
 A runtime state contains the scripting runtime stack and can be run in a single thread. More...
 
class  ParaObject
 ParaObject class: it is used to control game scene objects from scripts. More...
 
class  ParaObjectNode
 for Para Script global dictionary object More...
 
class  ParaPainter
 the current painter object. More...
 
class  ParaParamBlock
 a list of CParameter{name, value} pairs of anything. More...
 
class  ParaScene
 ParaScene namespace contains a list of HAPI functions to create and modify scene objects in paraworld. More...
 
class  ParaSearchResult
 it represents a search result. More...
 
class  ParaSelection
 A pool of currently selected objects. More...
 
class  ParaSeqCtrler
 ParaSeqCtrler object: A sequence controller is a biped controller which moves the biped according to some predefined sequence. More...
 
class  ParaServiceLogger
 service logger More...
 
class  ParaTerrain
 Contains Terrain functions. More...
 
class  ParaUI
 ParaUI namespace contains a list of HAPI functions to create user interface controls, such as windows, buttons, as well as event triggers. More...
 
class  ParaUIFont
 a GUI font object More...
 
class  ParaUIObject
 it represents a GUI object. More...
 
class  ParaUITexture
 a GUI texture object More...
 
class  ParaWorld
 world creation functions. More...
 
class  ParaXML
 ParaXML class. More...
 
class  ParaZipWriter
 ParaZipWriter class: creating zip files. More...
 
class  StackObjectPtr
 this is for luabinding a pointer object on lua stack, instead of invoking new operator each time an object is created. More...
 

Typedefs

typedef pair< const char *, ParaObjectNodeParaObject_Pair
 

Functions

int luaopen_sqlite3 (lua_State *L)
 
int NPL_dummy (lua_State *L)
 split registration to save compiling time. More...
 
int NPL_export_capi (lua_State *L)
 
int NPL_filename_capi (lua_State *L)
 
template<typename T >
T * get_pointer (StackObjectPtr< T > const &pointer)
 
template<typename T >
T * get_pointer (T const &pointer)
 this defines a rule, so that every object defined in ParaScripting namespace will be treated as StackObject by luabind. More...
 
string FileTimeToDateString (const FILETIME *pTime)
 
template<class T >
void traverse (const Json::Value &var, const object &outTable, const T &sKey, bool bFirstTable=false)
 
OBJECT_FILTER_CALLBACK GetFilterFuncByName (const char *sFilterFunc)
 
DWORD GetPhysicsGroupMaskByName (const char *sFilterFunc)
 get the physics group mask by filter name
 

Variables

lua_func_entry luaxml_api_entries []
 
CParaFile g_currentIOfile
 the current IO file.
 

Detailed Description

for luabind, The main drawback of this approach is that the compilation time will increase for the file that does the registration, it is therefore recommended that you register everything in the same cpp-file.

ParaScripting contains all classes and functions used for communication between the game engine and scripts.

Function Documentation

§ get_pointer()

template<typename T >
T* ParaScripting::get_pointer ( T const &  pointer)

this defines a rule, so that every object defined in ParaScripting namespace will be treated as StackObject by luabind.

i.e. all objects such as ParaObject, ParaUIObject, etc are passed by value on the stack, instead of using std::auto_ptr( new ParaObject(p)). if one wants to pass by reference, overwrite this method.

See also
: see make_pointee_instance in luabind/policy.hpp and object_rep.hpp.

§ NPL_dummy()

int ParaScripting::NPL_dummy ( lua_State L)

split registration to save compiling time.

void register_part1(class_<X>& x){ x.def(...); } void register_part2(class_<X>& x){ x.def(...); } void register_(lua_State* L){ class_<X> x("x"); register_part1(x); register_part2(x); module(L) [ x ]; }this function does nothing but count as one instruction in preemptive function.

Variable Documentation

§ luaxml_api_entries

lua_func_entry ParaScripting::luaxml_api_entries[]
Initial value:
= {
{ "LuaXML_ParseFile", ParaXML::LuaXML_ParseFile },
{ "LuaXML_ParseString", ParaXML::LuaXML_ParseString },
{ 0, 0 }
}