Я использую LuaInterface для написания сценариев в игре, которую я создаю.
Сценарии работают довольно хорошо, но я получаю много случайных исключений.
Я сузил проблему до того места, где я вызываю функции lua из кода C #, которые вызываются из другого потока и обрабатывают сеть с помощью игрового сервера.
Я думаю, что происходит то, что код lua выполняется, и функции lua вызываются из C # из другого потока, что вызывает случайные ошибки.
Как я вызываю функции из C #:
function.Call(message);
Функция
имеет тип LuaFunction, а сообщение - это пользовательский объект.
Ошибки, которые я получаю:
- Первое случайное исключение типа 'LuaInterface.LuaScriptException'
произошло в LuaInterface.dll
- Ошибка при запуске lua: function
- Первое исключение типа LuaInterface.LuaScriptException
произошло в LuaInterface.dll
- Невозможно открыть скрипт: mainmenu / console
Может ли это быть связано с выполнением функций lua из потоков, отличных от потока, в котором был создан LuaVM?