@daniil14056

Почему методы Start Update в Unity не наследуются?

Как я понимаю эти методы через рефлексию обнаружатся.
А в чем смысл, почему они не virtual у MonoBehavior.
Я так понимаю, это какой-то оптимизирующий механизм с# даже. А где можно прочитать про этот прием.
  • Вопрос задан
  • 64 просмотра
Пригласить эксперта
Ответы на вопрос 2
@vabka Куратор тега C#
Токсичный
Unity и без наследования знает, что их надо запускать. За счёт того, что они не виртуальные - их вызов становится сильно дешевле.
Хз как это реализовано в юнити, если честно.
Ответ написан
DanceM
@DanceM Куратор тега Unity
Кто хочет -ищет способ, кто не хочет -ищет причину
Погуглил:
Потому, что они не являются частью интерфейса, не определены, создаются именно при объявлении в классе и через рефлексию находятся именно по именам и вызываются. Так проще, чем в каждом скрипте держать каждый метод виртуальным, даже если они не используются вообще (что часто бывает).
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы