Использование сигналов
Сигналы — это мощный инструмент коммуникации, который позволяет вашим Актёрам координировать действия и обмениваться информацией внутри Сцены. В отличие от блоков прямого взаимодействия, таких как «Уничтожить всех Актёров», сигналы — это именованные сообщения, которыми актёры обмениваются на Сцене. Любой Актёр может отправить сообщение, и все актёры в Сцене могут слушать его и реагировать на него.
Существует несколько важных правил, которые следует учитывать при работе с сигналами:
- Учитывается регистр: имена сигналов должны совпадать точно —
Открыть воротаиоткрыть ворота— это разные сигналы. - Сигналы ограничены текущей Сценой: только Актёры, присутствующие на текущей Сцене, могут получать сигналы. Если вам нужно обмениваться информацией между Сценами, рассмотрите вариант использования переменных.
- Если ни один Актёр не получает сигнал, ничего не произойдёт: нет ограничений на то, какие Актёры могут участвовать в системе сигналов, и отсутствие получателей допустимо — это не вызовет ошибку. Иногда это может быть полезно, но чаще всего следует убедиться, что отправляемое вами сообщение находит своего получателя.
Частые примеры использования сигналов
Сигналы решают несколько типов задач координации в ваших играх и могут быть полезным инструментом для создания чистых и компактных сценариев:
- Вы можете приказать нескольким Актёрам выполнить что-то синхронно или после конкретных игровых событий, даже если это разные Актёры. Это позволяет создавать сложные взаимодействия, когда активация одного события влияет на многих других Актёров.
- Вы можете разбить сложные взаимодействия на несколько сценариев. Это полезно, когда несколько исходов разных частей сценария сходятся в 1-2 группы одних и тех же блоков: например, в обширных ветвящихся диалогах с парой сюжетных исходов. Меньше «спагетти» с чётко разделёнными концовками!
- Вы также можете выделить общую логику для нескольких Актёров в одно событие другого скрытого Актёра — такие Актёры нередко называются "Контроллерами".
Сигналы сами по себе не передают никаких дополнительных данных, но отлично сочетаются с переменными.
Пример: Цепные реакции и простая кат-сцена
Вы можете создавать цепные реакции, позволяя одному сигналу запускать другой — это особенно полезно для создания небольших анимированных кат-сцен. В следующем примере три события принадлежат трём разным Актёрам: невидимому триггеру, запускающему кат-сцену, королю, и принцессе.

Советы по эффективному использованию сигналов
- Введите для себя правило по именованию сигналов: например, используйте глаголы, такие как «открыть», «закрыть», «активировать», чтобы ваши сигналы были короткими и понятными.
- Документируйте свои сигналы: ведите учёт того, какие сигналы используются и для чего в каком-либо текстовом документе.
- Тщательно тестируйте: поскольку сигналы создают косвенные, свободные соединения между Актёрами, убедитесь, что вы протестировали все возможные взаимодействия с тем, как игроки взаимодействуют с ними в реальной игре.
Освоив сигналы, вы сможете создавать более динамичные и отзывчивые игровые миры, где элементы взаимодействуют различными способами без написания сложных сценариев для каждого Актёра.