api.script: | Functions | Types | Modinfo | Source |
Данный модуль реализует интерфейс для скриптовых двигателей.
Модуль содержит в себе весь необходимый функционал для загрузки и обновления скриптов. Для загрузки скрипта служит команда LoadScript, функция ExecuteScript необходима для вызова функции скрипта.
ArgumentFloat | Получить дробный аргумент. |
ArgumentInt | Получить целочисленный аргумент. |
ArgumentObject | Получить аморфный аргумент. |
ArgumentString | Получить строковый аргумент. |
ExecuteScript | Вызов функции из скрипта. |
LoadScript | Загрузить скрипт. |
RegisterFloat | Зарегестрировать дробное число. |
RegisterFunction | Зарегестрировать функцию. |
RegisterInt | Зарегестрировать целое число. |
RegisterObject | Зарегестрировать обьект. |
RegisterString | Зарегестрировать строку. |
ReturnFloat | Зарегестрировать строку. |
ReturnInt | Зарегестрировать строку. |
ReturnObject | Вернуть обьект. |
ReturnString | Зарегестрировать строку. |
ScriptDriver | Получить текущий драйвер скрипта. |
ScriptDrivers | Получить все доступные имена драйверов. |
SetScriptDriver | Установить драйвер. |
TScript | Обьект скрипта. |
Function ArgumentFloat:Float(index:Int = 0) | |
Description | Получить дробный аргумент. |
Information | index - индекс аргумента. |
Function ArgumentInt:Int(index:Int = 0) | |
Description | Получить целочисленный аргумент. |
Information | index - индекс аргумента. |
Function ArgumentObject:Object(index:Int = 0) | |
Description | Получить аморфный аргумент. |
Information | index - индекс аргумента. |
Function ArgumentString:String(index:Int = 0) | |
Description | Получить строковый аргумент. |
Information | index - индекс аргумента. |
Function ExecuteScript:Object(script:TScript, func:String, args:Object[] = Null) | |
Returns | Обьект, возвращаемый вызванной функцией из скрипта. |
Description | Вызов функции из скрипта. |
Information | script - Обьект скрипта для которой выполняется операция.
func - имя вызываемой функции в скрипте. args - аргументы вызываемой функции в скрипте. |
Example | Import api.script Type TR Method Inv(txt:String) Notify(txt) End Method End Type Local t:TR = New TR Local script:TScript = LoadScript("test.lua") ExecuteScript(script, "Test4", [Object(t), Object("Hello from t:TR->Inv(txt:String) method!")]) t = Null script = Null End |
Function LoadScript:TScript(url:Object) | |
Returns | Обьект TScript. |
Description | Загрузить скрипт. |
Information | url может принимать типы String и TStream.
LUA VM feature : В исполнений LUA данная функция поддерживает загрузку 2-х типов скриптов - исходные и прекомпилированные. Функция поведет себя следующим образом : 1) если не указано расширение файла то функция в начале попытается загрузить исходный скрипт (*.lua) 2) Если исходный файл (*.lua) не обнаружен, функция попытается загрузить комилированный вариант скрипта (*.luac). |
Example | Import api.script Local script:TScript = LoadScript("test.lua") ExecuteScript(script, "Test1") script = Null Notify "See debug..." End |
Function RegisterFloat(name:String, value:Float) | |
Description | Зарегестрировать дробное число. |
Information | name - имя по которому переменная задекларируется в скриптовом двигателе.
value - значение декларируемой переменной. |
Example | SuperStrict Import api.script Global MY_VAR:Float = 123456.6 RegisterFloat("MY_VAR", MY_VAR) Local script:TScript = LoadScript("test.lua") Notify "MY_VAR = " + ExecuteScript(script, "Test3").ToString() script = Null End |
Function RegisterFunction(name:String, func:Byte Ptr) | |
Description | Зарегестрировать функцию. |
Information | name - имя по которому функция задекларируется в скриптовом двигателе.
func - указатель на декларируемую функцию. |
Example | SuperStrict Import api.script RegisterFunction("Notify", Lua_notify) Local script:TScript = LoadScript("test.lua") Notify(String(ExecuteScript(script, "Test2", ["Hello!"]))) script = Null End Function Lua_notify:Byte(state:Byte Ptr) Notify(ArgumentString()) ReturnString(ArgumentString(1)) Return True End Function |
Function RegisterInt(name:String, value:Int) | |
Description | Зарегестрировать целое число. |
Information | name - имя по которому переменная задекларируется в скриптовом двигателе.
value - значение декларируемой переменной. |
Example | Import api.script ' default LUA script driver DebugLog ScriptDriver() Global MY_VAR:Int = 123456 RegisterInt("MY_VAR", MY_VAR) Local script:TScript = LoadScript("test.lua") Notify "MY_VAR = " + ExecuteScript(script, "Test3").ToString() script = Null End |
Function RegisterObject(name:String, value:Object) | |
Description | Зарегестрировать обьект. |
Information | name - имя по которому переменная задекларируется в скриптовом двигателе.
value - значение декларируемой переменной. |
Example | Import api.script Type TObject Field name:String Method Notify() .Notify(name) End Method EndType Local obj:TObject = New TObject obj.name = "Hello from TObject!" RegisterObject("myObject", obj) Local script:TScript = LoadScript("test.lua") ExecuteScript(script, "Test5") script = Null End |
Function RegisterString(name:String, value:String) | |
Description | Зарегестрировать строку. |
Information | name - имя по которому переменная задекларируется в скриптовом двигателе.
value - значение декларируемой переменной. |
Example | SuperStrict Import api.script Global MY_VAR:String = "ALBERT!" RegisterString("MY_VAR", MY_VAR) Local script:TScript = LoadScript("test.lua") Notify "MY_VAR = " + ExecuteScript(script, "Test3").ToString() script = Null End |
Function ReturnFloat(value:Float) | |
Description | Зарегестрировать строку. |
Information | value - значение переменной. |
Function ReturnInt(value:Int) | |
Description | Зарегестрировать строку. |
Information | value - значение переменной. |
Function ReturnObject(value:Object) | |
Description | Вернуть обьект. |
Information | value - значение переменной. |
Function ReturnString(value:String) | |
Description | Зарегестрировать строку. |
Information | value - значение переменной. |
Function ScriptDriver:String() | |
Returns | Текущее имя драйвера в виде строки. |
Description | Получить текущий драйвер скрипта. |
Information | Используйте данную функцию что бы узнать имя установленного в систему драйвера.
Что бы узнать список доступных драйверов, используйте команду ScriptDrivers. Что бы установить драйвер в систему используйте команду SetScriptDriver. |
Function ScriptDrivers:String[] () | |
Returns | Массив строк имен доступных драйверов. |
Description | Получить все доступные имена драйверов. |
Information | Используйте данную функцию что бы узнать список доступных драйверов.
Что бы узнать текущий установленный в систему драйвер используйте команду ScriptDriver. Что бы установить драйвер в систему используйте команду SetScriptDriver. |
Function SetScriptDriver:Byte(name:String) | |
Returns | Успешность установки драйвера. |
Description | Установить драйвер. |
Information | name - имя драйвера для установки в систему.
Используйте данную функцию что бы установить драйвер в систему. Что бы узнать текущий установленный в систему драйвер используйте команду ScriptDriver. Что бы узнать список доступных драйверов, используйте команду ScriptDrivers. |
Type TScript Abstract | |
Description | Обьект скрипта. |
Methods Summary | |
---|---|
Execute | Вызов функции из скрипта. |
Method Execute:Object(func:String, args:Object[] = Null) Abstract | |
Returns | Обьект, возвращаемый вызванной функцией из скрипта. |
Description | Вызов функции из скрипта. |
Information | func - имя вызываемой функции в скрипте.
args - аргументы вызываемой функции в скрипте. |
Версия | 1.45 |
---|---|
Автор | Al'bert Gaskarov & Mark Sibly |
Лицензия | LGPL |
Правообладатель | Dynamic bytes |
Сервер | API |
История | 1.45 |
История | Официальный драйвер скриптов - LUA VM устанавливается автоматически при импорте данного модуля. |
История | Доработка MAXLUA. 1) Возможность загружать прекомпилированные скрипты. 2) Компилятор в поставке с модулем. |
История | Модуль BRL.MaxLua - перенесен с доработками в модуль API.ScriptLua |
История | 1.41 |
История | Некоторые изменения и доработки. |
История | 1.4 |
История | Добавлено RegisterObject() |
История | Добавлено ReturnObject() |
История | Добавлено ArgumentObject() |
История | 1.3 |
История | Добавлено Return(int/float/string) |
История | Добавлено Argument(int/float/string) |
История | 1.2 |
История | Фиксирован баг обращения к несуществующему драйверу при завершении программы. |
История | 1.1 |
История | Внесены изменения в драйвер. |
История | Дописан хэлп. |
История | 1.0 |
История | Пробный выпуск |