Referencia de la Clase zak::Script

Lista de todos los miembros.

Métodos públicos

int GetFunctionIdByDecl (char *functionPrototype)
bool Prepare (char *functionPrototype)
bool Prepare (int funcId)
bool Execute ()
bool LoadScript (char *filename)
bool LoadByteCode (char *filename)
bool SaveByteCode (char *filename)
bool ExecuteString (char *script)
int SetArgDWord (int iArg, asDWORD value)
int SetArgQWord (int iArg, asQWORD value)
int SetArgFloat (int iArg, float value)
int SetArgDouble (int iArg, double value)
int SetArgObject (int iArg, void *object)
asDWORD GetReturnDWord ()
asQWORD GetReturnQWord ()
float GetReturnFloat ()
double GetReturnDouble ()
void * GetReturnObject ()

Amigas

class ScriptMgr

Descripción detallada

Clase que permite la comunicación con n script Ejemplo de uso:
// Codigo C++
bool TestGame::OnInit() {
        int ap = 10;

        if (!ScriptMgr::StartUp())
                return false;
        
        // Registro la variable ap en el sistema de script
        int result = ScriptMgr::RegisterGlobalProperty("int ap",&ap);

        // Pido un nuevo script en el módulo ZakEngine y la sección namespace
        _script = ScriptMgr::AddScript("ZakEngine", "namespace");

        // Cargo el script
        _script->LoadScript("data/scripts/script.as");

        // Compilo el módulo
        if (!ScriptMgr::CompileModule("ZakEngine"))
                return false;

        // Pido el id de la función
        _func = _script->GetFunctionIdByDecl("void DoSomething(int x)");
        
        // Preparo la función
        _script->Prepare(_func);

        // Paso al argumento 0 (el primero de tipo DWord) el valor 5
        _script->SetArgDWord(0,5);

        // Ejecuto el script
        _script->Execute();
}

bool TestGame::OnShutdown() {
        // Elimino la lista de scripts
        ScriptMgr::ClearScriptList();

        return true;
}
// Codigo en AngelScript

void DoSomething(int x) {
        ap = x;
}
Autor:
Juan Pablo "McKrackeN" Bettini


Documentación de las funciones miembro

int zak::Script::GetFunctionIdByDecl ( char *  functionPrototype  ) 

Devuelve el índice de la función según su prototipo

Parámetros:
functionPrototype prototipo de la función
Devuelve:
índice de la función

bool zak::Script::Prepare ( char *  functionPrototype  ) 

Prepara la función para ser ejecutada.

Atención:
Debe ser invocado SIEMPRE antes de ejecutar una función
Parámetros:
functionPrototype prototipo de la función
Devuelve:
retorna true si todo salió bien y false en caso contrario

bool zak::Script::Prepare ( int  funcId  ) 

Prepara la función para ser ejecutada.

Atención:
Debe ser invocado SIEMPRE antes de ejecutar una función
Parámetros:
funcId índice de la función obtenido por medio del método GetFunctionIdByDecl
Devuelve:
retorna true si todo salió bien y false en caso contrario

bool zak::Script::Execute (  ) 

Ejecuta la función preparada

bool zak::Script::LoadScript ( char *  filename  ) 

Carga un script en texto

bool zak::Script::LoadByteCode ( char *  filename  ) 

Carga un script precompilado (binario) Todavía no está desarrollado

bool zak::Script::ExecuteString ( char *  script  ) 

Ejecuta una sentencia pasada en una cadena de caracteres

Parámetros:
script la sentencia a ejecutar
Devuelve:
retorna true si no hubo errores y false en caso contrario

int zak::Script::SetArgDWord ( int  iArg,
asDWORD  value 
) [inline]

Pasa un argumento del tipo DWord por parámetro a la función a ser ejecutada.

Atención:
Este método debe ser invocado luego de llamar a Prepare
Parámetros:
iArg número de argumento donde el primero es 0
value valor a pasar por parámetro
Devuelve:
retorna un valor negativo si la función no pudo ser encontrada y 0 o positivo y todo salió bien.

int zak::Script::SetArgQWord ( int  iArg,
asQWORD  value 
) [inline]

Pasa un argumento del tipo QWord por parámetro a la función a ser ejecutada.

Atención:
Este método debe ser invocado luego de llamar a Prepare
Parámetros:
iArg número de argumento donde el primero es 0
value valor a pasar por parámetro
Devuelve:
retorna un valor negativo si la función no pudo ser encontrada y 0 o positivo y todo salió bien.

int zak::Script::SetArgFloat ( int  iArg,
float  value 
) [inline]

Pasa un argumento del tipo float por parámetro a la función a ser ejecutada.

Atención:
Este método debe ser invocado luego de llamar a Prepare
Parámetros:
iArg número de argumento donde el primero es 0
value valor a pasar por parámetro
Devuelve:
retorna un valor negativo si la función no pudo ser encontrada y 0 o positivo y todo salió bien.

int zak::Script::SetArgDouble ( int  iArg,
double  value 
) [inline]

Pasa un argumento del tipo double por parámetro a la función a ser ejecutada.

Atención:
Este método debe ser invocado luego de llamar a Prepare
Parámetros:
iArg número de argumento donde el primero es 0
value valor a pasar por parámetro
Devuelve:
retorna un valor negativo si la función no pudo ser encontrada y 0 o positivo y todo salió bien.

int zak::Script::SetArgObject ( int  iArg,
void *  object 
) [inline]

Pasa un objeto por parámetro a la función a ser ejecutada.

Atención:
Este método debe ser invocado luego de llamar a Prepare
Parámetros:
iArg número de argumento donde el primero es 0
value valor a pasar por parámetro
Devuelve:
retorna un valor negativo si la función no pudo ser encontrada y 0 o positivo y todo salió bien.

asDWORD zak::Script::GetReturnDWord (  )  [inline]

Retorna un valor del tipo DWord de la función ejecutada anteriormente.

Atención:
Este valor es válido solo si la función fue ejecutada satisfactoriamente
Devuelve:
retorna el valor de la función ejecutada.

asQWORD zak::Script::GetReturnQWord (  )  [inline]

Retorna un valor del tipo QWord de la función ejecutada anteriormente.

Atención:
Este valor es válido solo si la función fue ejecutada satisfactoriamente
Devuelve:
retorna el valor de la función ejecutada.

float zak::Script::GetReturnFloat (  )  [inline]

Retorna un valor del tipo float de la función ejecutada anteriormente.

Atención:
Este valor es válido solo si la función fue ejecutada satisfactoriamente
Devuelve:
retorna el valor de la función ejecutada.

double zak::Script::GetReturnDouble (  )  [inline]

Retorna un valor del tipo double de la función ejecutada anteriormente.

Atención:
Este valor es válido solo si la función fue ejecutada satisfactoriamente
Devuelve:
retorna el valor de la función ejecutada.

void* zak::Script::GetReturnObject (  )  [inline]

Retorna un objeto de la función ejecutada anteriormente.

Atención:
Este valor es válido solo si la función fue ejecutada satisfactoriamente
Devuelve:
retorna el valor de la función ejecutada.


La documentación para esta clase fué generada a partir de los siguientes archivos:
Generado el Tue May 29 14:46:16 2007 para Zak Engine v1.1.0 por  doxygen 1.5.1-p1