Какой метод использовать правильнее typeof(*).IsAssignableFrom(Type) или typeof(*).IsSubclassOf(Type) для определения унаследованных типов? Или для реализации интерфейсов подойдёт только первый метод, а не второй?
Видео хорошее. Но тут больше идёт речь об валидации (проверка) объекта на содержание нужного интерфейса, а не отрисовка его содержимого. Кстати начиная с версии Unity 2019.4 - появился аттрибут [SerializeReference] - он как раз таки позволяет отображать в инспекторе содержимое реализации интерфейса, если конечно эта реализация может сериализоваться, класс имеет аттрибут [System.Serializable] и поля тоже сериализуемы: public или [SerializeField] private. P.S. И блин - у тебя мощнейший инструмент для программирования - Rider. И ты не пользуешься его крутыми и удобными фишками. В частности ты создаёшь метод вручную. Как это можно легко сделать удобнее: Пишешь ''красным" имя метода `MethodName();` и нажимаешь `Alt + Enter` -> `Create Method`. И Вуалья - метод создался. Если интересно, то можно по изучать какие ещё действия предлагает комбинация `Alt + Enter` в разных ситуациях самостоятельно
Благодарочка. Кстати Как сделать штоб можно било вибирать из предложенних обьектов(когда на ту точку в круге нажимаеш), потомушто там показивает все обьекти сцени а хотелось би только с вибраним типом
А как настроить VC, что бы можно было так же создавать классы и интерфейсы и они сразу были в заданном namespace? У меня вообще невозможно добавить в студии что либо, только в юнити.
1. Это применяется в случаях, когда референсы нужны на конкретные объекты. Такое делается для ассетов, где другие разрабы не погружаясь глубоко в код могут кидать ссылки на нужные объекты, или геймдизайнеры, которые часто вообще в коде не шарят - кидают ссылки на нужные объекты 2. Я подробно рассказываю не только ради фичи, а еще и ради инструментов, которыми я пользуюсь, в видео показано, как отобразить поле в редакторе, как обрабатывать DragAndDrop'ы, как доставать тип поля и др.
@@gamedevlavka это видео рассчитано на крепкого джуна,понимающего,где он сможет это применить.Так сказать,для повышения квалификации.Мне лично еще рановато даже пытаться осмысливать это.Через полгодика буду пересматривать:)
Odin оч классный инструмент, всем его рекомендую. Но: 1. Это видео больше не про пользу инструмента, а про то, как такое создавать 2. Если хочешь создавать готовые ассеты и продавать их, то на Odin завязываться нельзя, так что придется либо свой инструмент пилить, либо вообще без него обходиться
Как-то пытался сделать так чтобы в инспекторе можно было в виде выпадающего списка выбирать классы унаследованные от конкретных интерфейсов через отражения и Editor скрипты. Там тематика пожаротушения и в одном списке мы отображаем все виды огнетушителей, а в другом все виды возгораний (наследники интерфейсов огнетушителя и возгорания) и в итоге получался Scriptable Object в котором мы задаем какая реакция у них друг на друга при тушении пожара. (Например, Огнетушитель Пенный - Возгорание Газ - Нет реакции). При добавлении нового вида огнетушителя или возгорания сразу детектит и трубит что нужно указать реакцию Интересно ваше мнение, о том на сколько это разумный, безопасный ход и можно ли вообще так делать в проектах Unity (про сбор данных через Assembly). Ну и как вариант вам идея для видео
Я как-то делал такую штуку для архитектуры, где также в ScriptableObject указываешь выпадающим списком, какие интеракторы добавить на сцену, и какие репозитории. Подход удобный, но не идеальный. Если Assembly собирается в редакторе, то в этом нет ничего плохого, это ж инструмент.
Как раз недавно столкнулся с такой проблемой. Спасибо за видео!
В новых версиях HelpBox принимает другие аргументы. Что делать?
Какой метод использовать правильнее typeof(*).IsAssignableFrom(Type) или typeof(*).IsSubclassOf(Type) для определения унаследованных типов? Или для реализации интерфейсов подойдёт только первый метод, а не второй?
Видео хорошее. Но тут больше идёт речь об валидации (проверка) объекта на содержание нужного интерфейса, а не отрисовка его содержимого. Кстати начиная с версии Unity 2019.4 - появился аттрибут [SerializeReference] - он как раз таки позволяет отображать в инспекторе содержимое реализации интерфейса, если конечно эта реализация может сериализоваться, класс имеет аттрибут [System.Serializable] и поля тоже сериализуемы: public или [SerializeField] private.
P.S. И блин - у тебя мощнейший инструмент для программирования - Rider. И ты не пользуешься его крутыми и удобными фишками. В частности ты создаёшь метод вручную. Как это можно легко сделать удобнее: Пишешь ''красным" имя метода `MethodName();` и нажимаешь `Alt + Enter` -> `Create Method`. И Вуалья - метод создался. Если интересно, то можно по изучать какие ещё действия предлагает комбинация `Alt + Enter` в разных ситуациях самостоятельно
Спасибо за видео ;)
Благодарочка.
Кстати Как сделать штоб можно било вибирать из предложенних обьектов(когда на ту точку в круге нажимаеш), потомушто там показивает все обьекти сцени а хотелось би только с вибраним типом
Cool)
А как настроить VC, что бы можно было так же создавать классы и интерфейсы и они сразу были в заданном namespace? У меня вообще невозможно добавить в студии что либо, только в юнити.
Тут не подскажу, я пользуюсь райдером, а в VC не заходил сто лет
Правда колдун 😁.
Хотелось бы знать для начала,для чего все это,где возможность применения.
1. Это применяется в случаях, когда референсы нужны на конкретные объекты. Такое делается для ассетов, где другие разрабы не погружаясь глубоко в код могут кидать ссылки на нужные объекты, или геймдизайнеры, которые часто вообще в коде не шарят - кидают ссылки на нужные объекты
2. Я подробно рассказываю не только ради фичи, а еще и ради инструментов, которыми я пользуюсь, в видео показано, как отобразить поле в редакторе, как обрабатывать DragAndDrop'ы, как доставать тип поля и др.
@@gamedevlavka это видео рассчитано на крепкого джуна,понимающего,где он сможет это применить.Так сказать,для повышения квалификации.Мне лично еще рановато даже пытаться осмысливать это.Через полгодика буду пересматривать:)
А можно использовать Odin и отображать в инспекторе можно не только Interface.
Odin оч классный инструмент, всем его рекомендую. Но:
1. Это видео больше не про пользу инструмента, а про то, как такое создавать
2. Если хочешь создавать готовые ассеты и продавать их, то на Odin завязываться нельзя, так что придется либо свой инструмент пилить, либо вообще без него обходиться
@@gamedevlavka полностью с вами согласен
Как-то пытался сделать так чтобы в инспекторе можно было в виде выпадающего списка выбирать классы унаследованные от конкретных интерфейсов через отражения и Editor скрипты. Там тематика пожаротушения и в одном списке мы отображаем все виды огнетушителей, а в другом все виды возгораний (наследники интерфейсов огнетушителя и возгорания) и в итоге получался Scriptable Object в котором мы задаем какая реакция у них друг на друга при тушении пожара. (Например, Огнетушитель Пенный - Возгорание Газ - Нет реакции). При добавлении нового вида огнетушителя или возгорания сразу детектит и трубит что нужно указать реакцию
Интересно ваше мнение, о том на сколько это разумный, безопасный ход и можно ли вообще так делать в проектах Unity (про сбор данных через Assembly). Ну и как вариант вам идея для видео
Я как-то делал такую штуку для архитектуры, где также в ScriptableObject указываешь выпадающим списком, какие интеракторы добавить на сцену, и какие репозитории. Подход удобный, но не идеальный. Если Assembly собирается в редакторе, то в этом нет ничего плохого, это ж инструмент.
Пожалуйста делай урок по паттерн проектирование
Илюха