Cocos2d-x  v3.17
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Groups Pages
ScriptEngineProtocol Class Referenceabstract

Don't make ScriptEngineProtocol inherits from Object since setScriptEngine is invoked only once in AppDelegate.cpp, It will affect the lifecycle of ScriptEngine instance, the autorelease pool will be destroyed before destructing ScriptEngine. More...

Inherited by LuaEngine, and ScriptingCore.

Public Types

enum  ConfigType
 ConfigType enum. More...
 

Public Member Functions

 ScriptEngineProtocol ()
 Constructor of ScriptEngineProtocol.
 
virtual ~ScriptEngineProtocol ()
 Destructor of ScriptEngineProtocol.
 
virtual ccScriptType getScriptType ()
 Get the specific script type. More...
 
virtual void retainScriptObject (Ref *, Ref *)
 Reflect the retain relationship to script scope.
 
local retainScriptObject ()
 Reflect the retain relationship to script scope.
 
virtual void rootScriptObject (Ref *)
 Add the script object to root object.
 
virtual void releaseScriptObject (Ref *, Ref *)
 Reflect the release relationship to script scope.
 
local releaseScriptObject ()
 Reflect the release relationship to script scope.
 
virtual void unrootScriptObject (Ref *)
 Remove the script object from root object.
 
virtual void releaseAllChildrenRecursive (Node *)
 Release all children native refs for the given node in script scope.
 
local releaseAllChildrenRecursive ()
 Release all children native refs for the given node in script scope.
 
virtual void releaseAllNativeRefs (cocos2d::Ref *)
 Release all native refs for the given owner in script scope.
 
local releaseAllNativeRefs ()
 Release all native refs for the given owner in script scope.
 
virtual void removeScriptObjectByObject (Ref *)
 Remove script object,The specific meaning should refer to the ScriptType. More...
 
virtual void removeScriptHandler (int)
 Remove script function handler, only LuaEngine class need to implement this function. More...
 
virtual int reallocateScriptHandler (int)
 Reallocate script function handler, only LuaEngine class need to implement this function. More...
 
virtual int executeString (const char *codes)=0
 Execute script code contained in the given string. More...
 
virtual int executeScriptFile (const char *filename)=0
 Execute a script file. More...
 
virtual int executeGlobalFunction (const char *functionName)=0
 Execute a scripted global function. More...
 
virtual int sendEvent (ScriptEvent *evt)=0
 When trigger a script event ,call this func,add params needed into ScriptEvent object.nativeObject is object triggering the event, can be nullptr in Lua.
 
virtual bool handleAssert (const char *msg)=0
 Handle the assert message. More...
 
virtual void setCalledFromScript (bool)
 Useless for Lua.
 
virtual bool isCalledFromScript ()
 Useless for Lua.
 
virtual bool parseConfig (ConfigType type, const std::string &str)=0
 Parse configuration file. More...
 
virtual void rootObject (Ref *)
 Root a Reference. More...
 
virtual void unrootObject (Ref *)
 Unroot a Reference. More...
 
virtual void removeObjectProxy (Ref *obj)
 Remove proxy for a native object.
 
virtual void garbageCollect ()
 Triggers the garbage collector.
 
local garbageCollect ()
 Triggers the garbage collector.
 

Detailed Description

Don't make ScriptEngineProtocol inherits from Object since setScriptEngine is invoked only once in AppDelegate.cpp, It will affect the lifecycle of ScriptEngine instance, the autorelease pool will be destroyed before destructing ScriptEngine.

So a crash will appear on Win32 if you click the close button.

Member Function Documentation

virtual ccScriptType getScriptType ( )
inlinevirtual

Get the specific script type.

Returns
the specific script type.

Reimplemented in ScriptingCore, and LuaEngine.

virtual void
removeScriptObjectByObject
( Ref )
inlinevirtual

Remove script object,The specific meaning should refer to the ScriptType.

For Lua,

See also
removeScriptObjectByObject of LuaEngine.

Reimplemented in ScriptingCore, and LuaEngine.

virtual void removeScriptHandler ( int  )
inlinevirtual

Remove script function handler, only LuaEngine class need to implement this function.

See also
removeScriptHandler of LuaEngine.

Reimplemented in LuaEngine.

virtual int reallocateScriptHandler ( int  )
inlinevirtual

Reallocate script function handler, only LuaEngine class need to implement this function.

See also
reallocateScriptHandler of LuaEngine.

Reimplemented in LuaEngine.

virtual int executeString ( const char *  codes)
pure virtual

Execute script code contained in the given string.

Parameters
codesholding the valid script code that should be executed.
Returns
0 if the string is executed correctly.
other if the string is executed wrongly.

Implemented in ScriptingCore, and LuaEngine.

virtual int executeScriptFile ( const char *  filename)
pure virtual

Execute a script file.

Parameters
filenameString object holding the filename of the script file that is to be executed.
Returns
0 if it happen the error or it hasn't return value, otherwise it return the value by calling the lua function.

Implemented in ScriptingCore, and LuaEngine.

virtual int executeGlobalFunction ( const char *  functionName)
pure virtual

Execute a scripted global function.

The function should not take any parameters and should return an integer.

Parameters
functionNameString object holding the name of the function, in the global script environment, that is to be executed.
Returns
The integer value returned from the script function.

Implemented in ScriptingCore, and LuaEngine.

virtual bool handleAssert ( const char *  msg)
pure virtual

Handle the assert message.

Returns
true if the assert was handled by the script engine, false otherwise.

Implemented in ScriptingCore, and LuaEngine.

virtual bool parseConfig ( ConfigType  type,
const std::string &  str 
)
pure virtual

Parse configuration file.

Parameters
typethe specific type value.
strthe information data.

Implemented in LuaEngine, and ScriptingCore.

virtual void rootObject ( Ref )
inlinevirtual

Root a Reference.

It tells the Garbage Collector that the associated Scripting object should not be collected

Reimplemented in ScriptingCore.

local rootObject ( local  )
inlinevirtual

Root a Reference.

It tells the Garbage Collector that the associated Scripting object should not be collected

Reimplemented in ScriptingCore.

virtual void unrootObject ( Ref )
inlinevirtual

Unroot a Reference.

It tells the Garbage Collector that the associated Scripting object can be collected

Reimplemented in ScriptingCore.

local unrootObject ( local  )
inlinevirtual

Unroot a Reference.

It tells the Garbage Collector that the associated Scripting object can be collected

Reimplemented in ScriptingCore.


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