For the complete documentation index, see llms.txt. This page is also available as Markdown.

Интерактивные объекты

An interact prompt near a world object

Компонент Interactable

Interactable component fields in the inspector

Добавление компонента Interactable к сущности автоматически будет показывать UI, когда игроки находятся в пределах радиуса который вы зададите.

Радиус взаимодействия масштабируется вместе с мировым масштабом сущности, поэтому держите корень interactable в масштабе 1 и масштабируйте визуальный дочерний объект, если хотите, чтобы дальность взаимодействия оставалась фиксированной.

Чтобы реагировать на нажатие игроком на interactable, вам нужно написать код CSL.

У сущности может быть больше одного Interactable. Используйте приоритет когда несколько подсказок могут быть доступны одновременно.

Самый распространённый шаблон такой:

  • Создайте класс, который наследуется от Interactable

  • Вызывайте this.set_listener(this) в ao_start

  • Реализуйте can_use и on_interact в вашем классе

Если вы добавляете новый класс interactable в коде, вам всё равно нужно добавить этот компонент к сущности в редакторе (или создать сущность и добавить компонент во время выполнения).

Пример с мусором

Пример роста

Interactable, который «увеличивает» сущность (один раз):

Пример с запросом на покупку

Interactable, который открывает окно покупки товара:

Справочник API

Необязательные хуки игрока (глобальные правила)

Вы также можете реализовать это в вашем Player классе, чтобы задать правила для всей игры (например, нельзя использовать interactables до возрождения):

Последнее обновление