RequireComponent в Unity3D | OTUS

RequireComponent в Unity3D

Один из приемов быстрой разработки на Unity3D -- использование атрибута RequireComponent. Рассмотрим, как это работает.

Как известно, сценарии с зависимостями от компонентов являются обычным делом в разработке. К примеру, сценарий контроллера игрока в большинстве случаев будет зависеть как от Rigidbody, так и от коллайдеров игрока. Как же максимально безопасно гарантировать наличие всех зависимостей у игрового объекта в процессе исполнения сценария? В Unity3D это можно сделать с помощью атрибута RequireComponent.

Атрибут имеет 3 основные функции:

  1. Обеспечение наличия нужных компонентов у игрового объекта.
  2. Блокировка удаления необходимых компонентов.
  3. Автоматическое добавление нужных компонентов к игровому объекту в том случае, когда к нему прикрепляется сценарий.

Ниже представлен пример кода с применением RequireComponent:

Screenshot_1-20219-e7341d.png

Вышеописанная функциональность существенно увеличивает безопасность кода, одновременно с этим снижая вероятность непредусмотренного исключения пустого указателя в случае попытки получения доступа к недействительным либо несуществующим компонентам. При этом вы можете прикрепить компоненты непосредственно в окне редактора либо получить их посредством методов Awake или Start -- собственно говоря, что и показано в примере выше.

Следует понимать, что подход ускоряет подготовку объектов. Мало того, классы и структуры могут иметь одновременно несколько атрибутов RequireComponent. Достаточно будет указать их в сценарии, а потом всего лишь добавить его в игровой объект — все компоненты окажутся прикреплеными, что очень удобно.

Если же учесть, что компоненты в обычных обстоятельствах никогда не будут недействительными, а в сценарии не надо выполнять проверки на null-значение, то и писать кода надо будет меньше. Разве это не ускоряет разработку?

83e82471d53c9286de28bcf884fc99a3_1-20219-42bcb1.png

По материалам статьи "Four Techniques for Faster Unity 3D Development".

Не пропустите новые полезные статьи!

Спасибо за подписку!

Мы отправили вам письмо для подтверждения вашего email.
С уважением, OTUS!

Автор
0 комментариев
Для комментирования необходимо авторизоваться
Популярное
Сегодня тут пусто