@DaNKuL

Создаётся ли экземпляр класса?

Отличается ли чем то это:
Public Script script;
От этого:
Public GameObject go
go.GetComponent<Script>();

Я в том смысле, что создается ли экземпляр класса в каком то из этих случаев. Чтобы не использовать static
  • Вопрос задан
  • 42 просмотра
Решения вопроса 1
Griboks
@Griboks Куратор тега Unity
Второй вариант медленный и ненадёжный, потому что GameObject вовсе не гарантирует содержание компонента Script.

Оба случая являются нестатическими полями. Главное отличие от статических - они привязаны к GameObject, на котором весит компонент, а их значения уникальны и независимы между разными копиями этого GameObject.

Использовать статичные поля в контексте GameObject смысла мало. При необходимости рекомендую использовать либо просто статические классы, либо (если их поведение завязано именно на игровом движке/редакторе) ScriptableObject.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы