пятница, 28 июня 2019 г.

FungusLua. LuaBindings

Компонент LuaBindings позволяет отображать игровые объекты и компоненты в ваших сценах на переменные Lua, которые вы затем можете использовать в скриптах Lua. Вы можете связать с любым компонентом, включая стандартные компоненты Unity, компоненты из Unity Asset Store и ваши собственные пользовательские сценарии.

Как и сцены GameObjects и компоненты, вы можете привязать к любому объекту Unity в вашем проекте. Это включает в себя такие вещи, как префабы, материалы, тексты, текстуры, ScriptableObjects и т. д.



LuaBinding

Добавление LuaBindings

Чтобы настроить LuaBindings в вашей сцене:
  1. Создать объект LuaBindings (Tools > Fungus > Create > LuaBindings)
  2. Перетащите объект Unity, к которому вы хотите получить доступ, в поле «Object» в списке «Object Bindings».
  3. Поле Key заполняется автоматически на основе имени объекта. Это будет имя переменной, которую вы используете для доступа к связанному объекту из скрипта Lua. Вы можете изменить этот ключ на любую строку, которую вы предпочитаете.
  4. Если связанный объект является GameObject, вы можете дополнительно выбрать компонент внутри него для привязки.

Использование глобальной таблицы

Привязки, указанные в компоненте LuaBindings, автоматически регистрируются как глобальные переменные во всех LuaEnvironments сцены при запуске.

Регистрация в качестве глобальных переменных удобна при написании коротких сценариев, но для более сложных сценариев это может вызвать проблемы, если вы случайно определите другую переменную с тем же именем в качестве привязки. Чтобы избежать этой проблемы, вы можете использовать свойство Table Name для регистрации привязок в глобальной таблице, чтобы добавить степень безопасности пространства имен.

Например, если ваша привязка называется «camera» и вы установили имя таблицы как «myobjects», вы получите доступ к объекту камеры, например:
myobjects.camera

Обратите внимание, что по умолчанию компонент LuaBindings регистрирует свои привязки со всеми LuaEnvironments в сцене. Если вы не хотите использовать это поведение, отмените выбор параметра «All Environments» и выберите конкретную среду Lua, которую вы хотите использовать.

Поиск информации об участнике


Раскрывающийся список Member Info позволяет быстро искать свойства и методы для любого связанного объекта. Когда вы выбираете Member, его описание отображается вместе со скриптом Lua, необходимым для доступа к нему. При связывании со стандартными объектами Unity вы также можете проверить документы API, чтобы узнать больше о поддерживаемых методах и свойствах.

Опция Register Types


Чтобы получить доступ к типу C# из Lua, этот тип должен быть зарегистрирован в MoonSharp. Если выбран параметр Register Types, LuaBindings автоматически зарегистрирует  типы связанных объектов и все открытые свойства и методы, которые использует этот тип. связанных объектов и все открытые свойства и методы, используемые этим типом.

Комментариев нет:

Отправить комментарий

Примечание. Отправлять комментарии могут только участники этого блога.