gtScriptSystem
abstract class : gtRefObject
Класс для работы со скриптовыми языками.
Методы основаны на Lua.
Методы
gtScriptSystem::addCFunction
virtual void addCFunction( const gtStringA& name, void * ptr ) = 0;
Добавить функцию которую можно будет вызвать из скрипта.
static int gt_messageBox(){
scriptSystem->setReturn( 666 );
return 1;}
script->addCFunction( "gt_messageBox", (void*)gt_messageBox );
gtScriptSystem::callSFunction
virtual void callSFunction( const gtStringA& name ) = 0;
Вызвать функцию скрипта.
gtScriptSystem::callSFunction
virtual void callSFunction( const gtStringA& name, const char * args, ... ) = 0;
Вызвать функцию скрипта с передачей параметров.
Формат параметров зависит от реализации скриптового плагина.
Например так.
callSFunction("f", "%i %f", 1, 2.2f)
Стандартный Lua плагин имеет такое форматирование параметров:
callSFunction("f", "dis>d", 3.1415, 20, "string", &out_double )
Основано на книге `Programming in Lua`
После символа `>` идёт символ определяющий возвращаемое значение. Возвращаемое значение записывается по указанному адресу.
gtScriptSystem::getArgBool
virtual s32 getArgBool( s32 index ) = 0;
Получить аргумент скриптовой функции.
gtScriptSystem::getArgFloat
virtual f32 getArgFloat( s32 index ) = 0;
Получить аргумент скриптовой функции.
gtScriptSystem::getArgInt
virtual s32 getArgInt( s32 index ) = 0;
Получить аргумент скриптовой функции.
Плагин вызывает СИ функцию, заполняя свой стек аргументами. Чтобы получить эти аргументы в виде параметров, в СИ функции (в её реализации) нужно вручную вызвать соответствующие методы.
gtScriptSystem::getArgString
virtual gtStringA getArgString( s32 index ) = 0;
Получить аргумент скриптовой функции.
gtScriptSystem::getBool
virtual s32 getBool( const gtStringA& name ) = 0;
Получить глобальное значение.
gtScriptSystem::getBool
Получить значение из таблицы или чтото типа неё.
gtScriptSystem::getFloat
virtual f32 getFloat( const gtStringA& name ) = 0;
Получить глобальное значение.
gtScriptSystem::getFloat
Получить значение из таблицы или чтото типа неё.
gtScriptSystem::getInt
virtual s32 getInt( const gtStringA& name ) = 0;
Получить глобальное значение.
gtScriptSystem::getInt
Получить значение из таблицы или чтото типа неё.
gtScriptSystem::getString
Получить глобальное значение.
gtScriptSystem::getString
Получить значение из таблицы или чтото типа неё.
gtScriptSystem::loadScript
virtual bool loadScript( const gtString& fileName ) = 0;
Загрузить скрипт.
gtScriptSystem::setBool
virtual void setBool( const gtStringA& name, s32 val ) = 0;
Установить глобальное значение.
gtScriptSystem::setBool
Установить глобальное значение внутри таблици или что-то типа неё.
gtScriptSystem::setFloat
virtual void setFloat( const gtStringA& name, f32 val ) = 0;
Установить глобальное значение.
gtScriptSystem::setFloat
Установить глобальное значение внутри таблици или что-то типа неё.
gtScriptSystem::setInt
virtual void setInt( const gtStringA& name, s32 val ) = 0;
Установить глобальное значение.
gtScriptSystem::setInt
Установить глобальное значение внутри таблици или что-то типа неё.
gtScriptSystem::setReturn
virtual void setReturn( bool val ) = 0;
Установить возвращаемое значение.
Устанавливается в функции которую вызвал плагин.
gtScriptSystem::setReturn
virtual void setReturn( s32 val ) = 0;
Установить возвращаемое значение.
gtScriptSystem::setReturn
virtual void setReturn( f32 val ) = 0;
Установить возвращаемое значение.
gtScriptSystem::setReturn
virtual void setReturn( const gtStringA& val ) = 0;
Установить возвращаемое значение.
gtScriptSystem::setString
Установить глобальное значение.
gtScriptSystem::setString
Установить глобальное значение внутри таблици или что-то типа неё.
gtScriptSystem::update
virtual void update() = 0;
Обновить состояние плагина.
Нужно вызвать при завершении установки значений для таблицы.
|