libmoldeo (Moldeo 1.0 Core)  1.0
libmoldeo is the group of objects and functions that executes the basic operations of Moldeo 1.0 Platform.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
moScript Class Referenceabstract

#include <moScript.h>

Inheritance diagram for moScript:
moMoldeoObject moConsole moEffect moIODevice moIODevice moResource moEffectTemplate moMasterEffect moPostEffect moPreEffect moFileRead moFileWrite moFileRead moFileWrite mo3dModelManager moDataManager moDebugManager moDecoderManager moFBManager moFileManager moFilterManager moFontManager moGLManager moGUIManager moMathManager moNetManager moRenderManager moScriptManager moShaderManager moSoundManager moTextureManager moTimeManager moVideoManager

Public Types

typedef int(* Function )(moLuaVirtualMachine &vm)
 

Public Member Functions

 moScript ()
 
virtual ~moScript (void)
 
void InitScript ()
 
void FinishScript ()
 
bool IsInitialized ()
 
bool CompileFile (const char *strFilename)
 
bool CompileBuffer (unsigned char *pbBuffer, size_t szLen)
 
int RegisterFunction (const char *strFuncName, moScript::Function &fun)
 
int RegisterFunction (const char *strFuncName)
 
int RegisterBaseFunction (const char *strFuncName)
 
bool SelectScriptFunction (const char *strFuncName)
 
void AddFunctionParam (int iInt)
 
void AddFunctionParam (float fFloat)
 
void AddFunctionParam (char *string)
 
bool RunSelectedFunction (int nReturns=0)
 
bool ScriptHasFunction (const char *strScriptName)
 
int methods (void)
 
virtual int ScriptCalling (moLuaVirtualMachine &vm, int iFunctionNumber)=0
 
virtual int ResetScriptCalling ()
 
virtual int NextScriptCalling ()
 
virtual void HandleReturns (moLuaVirtualMachine &vm, const char *strFunc)=0
 
moLuaVirtualMachinemvm (void)
 

Public Attributes

Function Functions [255]
 

Protected Attributes

bool m_initialized
 
int m_nMethods
 
int m_iThisRef
 
int m_nArgs
 
const char * m_strFunctionName
 
int m_iMethodBase
 
int m_iMethodBaseIterator
 actual class index method base More...
 
int m_iMethodBaseAncestors
 actual class iterator index method base More...
 
int m_MethodBases [256]
 increment on each call to RegisterFunctions More...
 

Static Protected Attributes

static moLuaVirtualMachine m_vm
 
static moLuaDebugger m_dbg
 

Detailed Description

Esta clase implementa la funcionalidad necesaria para crear clases scripteables con LUA. Una clase que descienda de moScript puede ser asociada a un script de LUA, y desde el mismo pueden ser llamados métodos de la clase (siempre y cuando sean registrados en la máquina virtual).

Definition at line 48 of file moScript.h.

Member Typedef Documentation

typedef int(* moScript::Function)(moLuaVirtualMachine &vm)

Definition at line 52 of file moScript.h.

Constructor & Destructor Documentation

moScript::moScript ( )

El constructor por defecto.

Definition at line 137 of file moScript.cpp.

moScript::~moScript ( void  )
virtual

El destructor por defecto.

Definition at line 164 of file moScript.cpp.

Member Function Documentation

void moScript::AddFunctionParam ( int  iInt)

Agrega un parámetro entero a la lista de parámetros para pasar a la función del script seleccionada actualmente.

Parameters
iIntvalor del parámetro entero.

Definition at line 481 of file moScript.cpp.

void moScript::AddFunctionParam ( float  fFloat)

Agrega un parámetro flotante a la lista de parámetros para pasar a la función del script seleccionada actualmente.

Parameters
fFloatvalor del parámetro flotante.

Definition at line 505 of file moScript.cpp.

void moScript::AddFunctionParam ( char *  string)

Agrega un parámetro de texto a la lista de parámetros para pasar a la función del script seleccionada actualmente.

Parameters
stringvalor del parámetro de texto.

Definition at line 456 of file moScript.cpp.

bool moScript::CompileBuffer ( unsigned char *  pbBuffer,
size_t  szLen 
)

Compila el búfer pbBuffer.

Parameters
pbBufferbúfer a compilar.
szLentamaño del búfer.
Returns
el resultado de la operación: true o false.

Definition at line 235 of file moScript.cpp.

bool moScript::CompileFile ( const char *  strFilename)

Compila el archivo strFilename.

Parameters
strFilenamenombre del archivo de script.
Returns
el resultado de la operación: true o false.

Definition at line 261 of file moScript.cpp.

void moScript::FinishScript ( )

Finaliza el script.

Definition at line 204 of file moScript.cpp.

virtual void moScript::HandleReturns ( moLuaVirtualMachine vm,
const char *  strFunc 
)
pure virtual

Esta función es llamada cuando termina la ejecución de una función del script, de manera que da la oportunidad de utilizar los valores devueltos por dicha función.

Parameters
vmreferencia a la máquina virtual.
strFuncnombre de la función en el script.

Implemented in moMoldeoObject.

void moScript::InitScript ( )

Inicializa el script con la máquina virtual .

Inicializamos el moLuaVirtualMachine con la funcion estatica del moScriptManager

Definition at line 183 of file moScript.cpp.

bool moScript::IsInitialized ( )
inline

Definition at line 74 of file moScript.h.

int moScript::methods ( void  )
inline

Devuelve cuantos métodos de la clase han sido registrados en la máquina virtual con RegisterFunction.

Returns
número de métodos.
See also
RegisterFunction

Definition at line 153 of file moScript.h.

moLuaVirtualMachine& moScript::mvm ( void  )
inline

Devuelve una referencia a la máquina virtual utilizada por este script.

Returns
referencia a la máquina virtual.

Definition at line 195 of file moScript.h.

virtual int moScript::NextScriptCalling ( )
inlinevirtual

Definition at line 178 of file moScript.h.

int moScript::RegisterBaseFunction ( const char *  strFuncName)

Registra la primera función (método) de la clase en la máquina virtual de LUA. Se debe llamar primero esta función para registrar los métodos dentro e la instancia de una clase Además esta función guarda un registro de la cantidad de veces que se llamo a RegisterFunctions para heredar los métodos de las clases de las que se deriva el objeto

Parameters
strFuncNamenombre de la función.
Returns
regresa el índice de la función den la tabla de LUA, -1 si la operación no es exitosa.

Function was correctly registered so beginning new MethodBase for this derivation

Definition at line 340 of file moScript.cpp.

int moScript::RegisterFunction ( const char *  strFuncName,
moScript::Function fun 
)

Registra una función (método) de la clase en la máquina virtual de LUA.

Parameters
strFuncNamenombre de la función.
Returns
regresa el índice de la función den la tabla de LUA, -1 si la operación no es exitosa.

Definition at line 286 of file moScript.cpp.

int moScript::RegisterFunction ( const char *  strFuncName)

Definition at line 313 of file moScript.cpp.

virtual int moScript::ResetScriptCalling ( )
inlinevirtual

Esta función es llamada cuando se quiere reiniciar el indice iterativo de métodos una vez encontrada la función para que de esta manera la siguiente búsqueda

Parameters
vmreferencia a la máquina virtual.
iFunctionNumberíndice del método siendo llamado.
Returns
número valores que el método de la clase agrega a la pila de LUA. Estos valores son los que en el script son interpretados como los valores que retorna el método. Pueden ser más de 1.

Definition at line 172 of file moScript.h.

bool moScript::RunSelectedFunction ( int  nReturns = 0)

Ejecuta la función del script LUA seleccionada con SelectScriptFunction.

Parameters
nReturnsnúmero esperado de valores a devolver por la función.
Returns
el resultado de la operación: true o false.
See also
SelectScriptFunction

Definition at line 529 of file moScript.cpp.

virtual int moScript::ScriptCalling ( moLuaVirtualMachine vm,
int  iFunctionNumber 
)
pure virtual

Esta función es llamada cuando en el LUA script un método registrado de la clase es ejecutado.

Parameters
vmreferencia a la máquina virtual.
iFunctionNumberíndice del método siendo llamado.
Returns
número valores que el método de la clase agrega a la pila de LUA. Estos valores son los que en el script son interpretados como los valores que retorna el método. Pueden ser más de 1.

Implemented in moMoldeoObject, moConsole, and moEffect.

bool moScript::ScriptHasFunction ( const char *  strScriptName)

Revisa que el script tenga la función especificada.

Parameters
strFuncNamenombre de la función.
Returns
true si la función existe, false en caso contrario.

Definition at line 417 of file moScript.cpp.

bool moScript::SelectScriptFunction ( const char *  strFuncName)

Selecciona una función del script LUA para ejecutar con RunSelectedFunction.

Parameters
strFuncNamenombre de la función a seleccionar.
Returns
el resultado de la operación: true o false.
See also
RunSelectedFunction

Definition at line 370 of file moScript.cpp.

Member Data Documentation

Function moScript::Functions[255]

Definition at line 54 of file moScript.h.

moLuaDebugger moScript::m_dbg
staticprotected

Definition at line 200 of file moScript.h.

int moScript::m_iMethodBase
protected

Definition at line 206 of file moScript.h.

int moScript::m_iMethodBaseAncestors
protected

actual class iterator index method base

Definition at line 209 of file moScript.h.

int moScript::m_iMethodBaseIterator
protected

actual class index method base

Definition at line 207 of file moScript.h.

bool moScript::m_initialized
protected

Definition at line 197 of file moScript.h.

int moScript::m_iThisRef
protected

Definition at line 201 of file moScript.h.

int moScript::m_MethodBases[256]
protected

increment on each call to RegisterFunctions

Definition at line 210 of file moScript.h.

int moScript::m_nArgs
protected

Definition at line 202 of file moScript.h.

int moScript::m_nMethods
protected

Definition at line 198 of file moScript.h.

const char* moScript::m_strFunctionName
protected

Definition at line 203 of file moScript.h.

moLuaVirtualMachine moScript::m_vm
staticprotected

Definition at line 199 of file moScript.h.


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