Задать вопрос
@DaNKuL

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

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

Я в том смысле, что создается ли экземпляр класса в каком то из этих случаев. Чтобы не использовать static
  • Вопрос задан
  • 44 просмотра
Подписаться 1 Простой 6 комментариев
Помогут разобраться в теме Все курсы
  • Нетология
    Разработчик игр на Unity
    13 месяцев
    Далее
  • Skillbox
    Middle-разработчик игр на Unity
    3 месяца
    Далее
  • GB (GeekBrains)
    Разработчик Игр на Unity
    10 месяцев
    Далее
Решения вопроса 1
Griboks
@Griboks Куратор тега Unity
Второй вариант медленный и ненадёжный, потому что GameObject вовсе не гарантирует содержание компонента Script.

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

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

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

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