👉 out&ref
В нашей библиотеке реализована работа с out&ref посредством стека. При вызове функции с out/ref на стек ложится выходное значение/ссылка. А при создании новой переменной - забирается при наличии.
Это значит, что вы можете вызывать все C# функции, как игры, так и чита, без каких либо ограничений по параметрам в отличии от других API.
Пример с out:
local is_success, output = clr.System.Int32.TryParse("23")
log(is_success)
log(output)По стандарту функция выглядит так:
public static bool TryParse(string s, out int result)Вывод: True 23
Пример с ref из C#:
C#:local value = 5
local new_value = clr.lua_lib_tests.main.test_ref(value)
log("value after ref:", new_value)По стандарту функция выглядит так:
public static void test_ref(ref int value) => value += 1;Вывод: value after ref: 6
Пример с ref из Lua:
Lua:Вывод: value2 after ref: 4
Также вы можете задавать старой переменной новое значение.
Пример с ref из C#:
C#:Вывод: value after ref: 6
Пример с ref из Lua:
Lua:Вывод: value2 after ref: 4
Last updated