LuaEngine

public string LanguageName

Language: C#

Язык движка скриптинга

public LuaEngine()

Language: C#

Создает новый экземпляр Lua движка с настройками по умолчанию.

public object[] Evaluate(string script)

Language: C#

Вычисляет Lua выражение и возвращает результат.

Parameters:

  • script: Lua код для выполнения.

Returns: Массив возвращаемых значений (Lua может возвращать несколько значений).

public void Execute(string script)

Language: C#

Выполняет Lua скрипт без возврата значения.

Parameters:

  • script: Lua код для выполнения.

public void RegisterModule(Module<LuaModuleInterface> module)

Language: C#

Регистрирует модуль для использования через require() в Lua.

Parameters:

  • module: Модуль для регистрации.

public void UnregisterModule(Module<LuaModuleInterface> module)

Language: C#

Удаляет зарегистрированный модуль.

Parameters:

  • module: Модуль для удаления.

public void SetValue(string name, T value)

Language: C#

Устанавливает глобальную переменную в Lua.

Type Parameters:

  • T: Тип значения.

Parameters:

  • name: Имя переменной.
  • value: Значение для установки.

public void DeleteValue(string name)

Language: C#

Удаляет глобальную переменную из Lua (устанавливает в nil).

Type Parameters:

  • T: Тип значения.

Parameters:

  • name: Имя переменной.

public T? GetValue(string name)

Language: C#

Получает значение глобальной переменной из Lua.

Type Parameters:

  • T: Ожидаемый тип значения.

Parameters:

  • name: Имя переменной.

Returns: Значение переменной или default если тип не совпадает.

public bool TryGetValue(string name, [NotNullWhen(true)] out T? value)

Language: C#

Пытается получить значение глобальной переменной из Lua.

Type Parameters:

  • T: Ожидаемый тип значения.

Parameters:

  • name: Имя переменной.
  • value: Выходной параметр для значения.

Returns: true если переменная существует и имеет правильный тип, иначе false.

public IScript<object[]> Compile(string script)

Language: C#

Компилирует Lua скрипт для повторного использования.

Parameters:

  • script: Lua код для компиляции.

Returns: Скомпилированный скрипт.

public Task<IScript<object[]>> CompileAsync(string script, CancellationToken cancellationToken = default)

Language: C#

Асинхронно компилирует Lua скрипт для повторного использования.

Parameters:

  • script: Lua код для компиляции.
  • cancellationToken: Токен отмены операции.

Returns: Задача, возвращающая скомпилированный скрипт.

public Task<object[]> EvaluateAsync(string script, CancellationToken cancellationToken = default)

Language: C#

Асинхронно вычисляет Lua выражение и возвращает результат.

Parameters:

  • script: Lua код для выполнения.
  • cancellationToken: Токен отмены операции.

Returns: Задача, возвращающая массив результатов.

public Task ExecuteAsync(string script, CancellationToken cancellationToken = default)

Language: C#

Асинхронно выполняет Lua скрипт без возврата значения.

Parameters:

  • script: Lua код для выполнения.
  • cancellationToken: Токен отмены операции.

Returns: Задача, представляющая асинхронную операцию.

public bool TryEvaluate(string script, [NotNullWhen(true)] out object[]? result)

Language: C#

Пытается вычислить Lua выражение без генерации исключений.

Parameters:

  • script: Lua код для выполнения.
  • result: Выходной параметр для результата.

Returns: true если выполнение успешно, иначе false.

public async Task<(bool Success, object[]? Result)> TryEvaluateAsync(string script, CancellationToken cancellationToken = default)

Language: C#

Асинхронно пытается вычислить Lua выражение без генерации исключений.

Parameters:

  • script: Lua код для выполнения.
  • cancellationToken: Токен отмены операции.

Returns: Кортеж, содержащий результат выполнения и флаг успешности.

public IScriptEngineProfiler? Profiler

Language: C#

Профайлер скриптового движка (не реализован).

public IScriptCache<object[]>? Cache

Language: C#

Кэш скриптового движка (не реализован).

public IScriptDebugger? Debugger

Language: C#

Отладчик скриптового движка (не реализован).

public void Update(float deltaTime)

Language: C#

Обновляет состояние скриптового движка (не реализован).

Parameters:

  • deltaTime: Время, прошедшее с последнего обновления.

public IScriptContext CreateContext()

Language: C#

Создает новый контекст выполнения скриптов.

Returns: Новый контекст выполнения скриптов.

public bool RemoveContext(string contextId)

Language: C#

Удаляет контекст выполнения скриптов.

Parameters:

  • contextId: Идентификатор контекста.

Returns: Возвращает true, если контекст успешно удален, иначе false.

public IScriptContext? GetContext(string contextId)

Language: C#

Получает контекст выполнения скриптов по идентификатору (не реализован).

Parameters:

  • contextId: Идентификатор контекста.

Returns: Контекст выполнения скриптов или null, если контекст не найден.

public void Dispose()

Language: C#

Освобождает ресурсы, используемые скриптовым движком.