Size: a a a

2020 May 30

YK

Yevhen Kazmin in unity3d.ru
Paul Dyatlov
И как это поможет понять какие методы есть а каких нету?
1)можно открыть базовый класс и посмотреть какие в нем виртуальные методы есть
2)можно в визулке написать "protected override " и она удобно списочком подсказку выдаст
источник

AD

Aidan Arcueid D'athe... in unity3d.ru
formurik
Да он вроде всегда там был. Дока кривая значит )
да, юнитеки славятся кривыми доками)))
источник

PD

Paul Dyatlov in unity3d.ru
Yevhen Kazmin
1)можно открыть базовый класс и посмотреть какие в нем виртуальные методы есть
2)можно в визулке написать "protected override " и она удобно списочком подсказку выдаст
У тебя документация есть, там все написано. Я понимаю если бы базовых монобехов было несколько, а так он один и список методов общий
источник

YK

Yevhen Kazmin in unity3d.ru
Paul Dyatlov
И как это поможет понять какие методы есть а каких нету?
а самое главное - никакой рефлексии, сейчас, как я понимаю, с помощью нее вызовы идут. Иначе нет способа
источник

PD

Paul Dyatlov in unity3d.ru
Да, есть SO, но для него список тоже свой
источник

PD

Paul Dyatlov in unity3d.ru
Yevhen Kazmin
а самое главное - никакой рефлексии, сейчас, как я понимаю, с помощью нее вызовы идут. Иначе нет способа
Как связана рефлексия и виртуальные методы?
источник

YK

Yevhen Kazmin in unity3d.ru
Paul Dyatlov
У тебя документация есть, там все написано. Я понимаю если бы базовых монобехов было несколько, а так он один и список методов общий
в новой версии юнити убрали некий метод, твой код будет компилится, но упадет в рантайме
источник

AD

Aidan Arcueid D'athe... in unity3d.ru
я надеюсь вы разобрали, что где есть. А теперь, пожалуйста, подскажите почему оно не пересоздает мне список нужной длины(
источник

YK

Yevhen Kazmin in unity3d.ru
Paul Dyatlov
Как связана рефлексия и виртуальные методы?
если метод написан как просто
private OnValidate()
источник

YK

Yevhen Kazmin in unity3d.ru
то как его вызвать?
источник

PD

Paul Dyatlov in unity3d.ru
Yevhen Kazmin
в новой версии юнити убрали некий метод, твой код будет компилится, но упадет в рантайме
Я понимаю о чем ты, и в этом наверное даже есть смысл, но из флоу юнити метод уже просто так не уберут. Его пометят deprecated, и убирать будут 25 лет
источник

A

Arkasha in unity3d.ru
Aidan Arcueid D'athemon
я надеюсь вы разобрали, что где есть. А теперь, пожалуйста, подскажите почему оно не пересоздает мне список нужной длины(
скинь скрипт плиз, аж интересно стало попробовать
источник

YK

Yevhen Kazmin in unity3d.ru
1)он приватный, что запрещает вызов из-вне
2)мы вызываем код на базовом монобехе, поэтому скорее всего вызов идет как-то так
typeof(MyBehavior).Methods.First(m => m.Name == "OnValidate")?.Invoke();
источник

AD

Aidan Arcueid D'athe... in unity3d.ru
Arkasha
скинь скрипт плиз, аж интересно стало попробовать
там большая зависимость от других классов
источник

AD

Aidan Arcueid D'athe... in unity3d.ru
хотя щя попробую упростить
источник

A

Arkasha in unity3d.ru
Aidan Arcueid D'athemon
там большая зависимость от других классов
порву их, просто впадлу писать
тебе же просто лист текстур надо
источник

PD

Paul Dyatlov in unity3d.ru
Yevhen Kazmin
1)он приватный, что запрещает вызов из-вне
2)мы вызываем код на базовом монобехе, поэтому скорее всего вызов идет как-то так
typeof(MyBehavior).Methods.First(m => m.Name == "OnValidate")?.Invoke();
Сделай свой монобех с виртуальными флоу методами и наследуй все от него
источник

YK

Yevhen Kazmin in unity3d.ru
Yevhen Kazmin
1)он приватный, что запрещает вызов из-вне
2)мы вызываем код на базовом монобехе, поэтому скорее всего вызов идет как-то так
typeof(MyBehavior).Methods.First(m => m.Name == "OnValidate")?.Invoke();
но это для чистых шарпов, имхо как раз вот тут и вступает в дело магия il2cpp
источник

A

Arkasha in unity3d.ru
Aidan Arcueid D'athemon
хотя щя попробую упростить
кидай как есть
источник

AD

Aidan Arcueid D'athe... in unity3d.ru
Arkasha
кидай как есть
источник