Продвинутый C# в Unity - Паттерн Singleton

  Рет қаралды 15,830

Insane One - Разработка игр

Insane One - Разработка игр

4 жыл бұрын

Рассказываю о простом и удобном способе доступа из одного скрипта к другому, минуя поиск объектов и GetComponent, а именно - о паттерне проектирования Singleton и как его реализовать в Unity.
Поддержать канал на русскоязычном Boosty: boosty.to/insaneone
Или на Patreon: / insaneone
Discord-сервер канала: / discord
Группа VK: insaneoneblog
#Unity #РазработкаИгр #UnityCSharp
У меня на канале регулярно выходят новые видео с уроками по Unity и разработке игр, а так же другими интересными темами, связанными с геймдевом. Подписывайся!
Не забывай оставлять комментарий, если у тебя появились вопросы или предложения по видео :)

Пікірлер: 32
@insaneone-7220
@insaneone-7220 4 жыл бұрын
Привет! Сегодня рассказываю про Singleton. Тема, возможно, многим знакомая, но для полноты контента на канале я всё же решил записать по ней видео. Пишите в комментариях, на какие ещё темы вы хотели бы увидеть новые ролики. :)
@KirillBreuss
@KirillBreuss 4 жыл бұрын
Давай ещё по проектированию и архитектуре игры!) Никто эту тему на ютубе толком не затрагивает, либо касаются моментами.
@psy_gamer
@psy_gamer 4 жыл бұрын
Один из самых простых паттернов проектирования, но при этом он крайне удобный! Отличный ролик! Можно рассмотреть еще другие паттерны: фабричный или наблюдатель.
@-epicdude-
@-epicdude- 4 жыл бұрын
Спасибо за урок. Надеюсь, будет больше роликов о паттернах и "фишках" дизайна кода :)
@BuR0B
@BuR0B 4 жыл бұрын
Чувак это просто золото, а не видел, делай больше таких коротких, понятных и твой канал станет успешнее, спасибо тебе!
@user-cu5ky8qz2n
@user-cu5ky8qz2n 4 жыл бұрын
Просто, доступно, совершенно)) Спасибо за твои ролики бро
@Ligul
@Ligul 4 жыл бұрын
Спасибо за полезный ролик и удачи в развитии канала)
@user-im3nw2oo2c
@user-im3nw2oo2c 4 жыл бұрын
Привет! Спасибо за урок. Новичкам будет очень полезен. Согласен в предыдущим комментатором. Было бы круто рассмотреть фабричный метод и иные паттерны которые применяешь именно ты в разработке игр.
@thebad7628
@thebad7628 4 жыл бұрын
Полезная информация, спасибо)
@kroniecraft8339
@kroniecraft8339 3 жыл бұрын
еще подобных видосов пожалуйста, видосы очень хорошего качества
@user-xk8dl1vo3c
@user-xk8dl1vo3c 3 жыл бұрын
СПАСИБО
@user-jx7pc9ku7b
@user-jx7pc9ku7b 3 жыл бұрын
Ждёмс есчё))
@user-il6kl9tg3v
@user-il6kl9tg3v 4 жыл бұрын
Хотелось бы узнать как можно объеденить два меш объекта с коллайдером(можно считать их тайлами карты) в один объект. Они дочерние объекты и могут подгружаться.
@YasnaKo
@YasnaKo 3 жыл бұрын
А в чем разница между синглтоном и статическим классом?
@user-fn4us1te7n
@user-fn4us1te7n 4 жыл бұрын
Было бы круто если бы вы рассмотрели SOLID
@king_fox_3106
@king_fox_3106 2 жыл бұрын
Блин, всегда эту фигню использую, но не знал, что это аж целый паттерн =) Но вот я немного не понял про переход сцены. Разве в Awake не будет переопределяться ссылка на условного нового игрока?
@andreiprystupchyk9999
@andreiprystupchyk9999 3 жыл бұрын
Ускоряй те моменты где показываешь код на х100, будет удобнее разобраться.
@mitaywalle
@mitaywalle 2 жыл бұрын
классный канал (: но Singleton, чаще всего - антипаттерн. Зависимости лучше передавать в конструктор, или в функцию иницилизации
@danikk9592
@danikk9592 3 жыл бұрын
Вместо назначения в редакторе или постоянного повторного поиска можно не создавать Singleton игрока, а создать хранитель ссылок, который и будет Singleton, куда можно обратиться за этой ссылкой и кэшировать её.
@progdamnLive
@progdamnLive 3 жыл бұрын
Почему сингл тоном нельзя злоупотреблять?
@neitralov739
@neitralov739 2 жыл бұрын
Потому что новичок может забить на графопостроение и будет делать синглтон из каждого класса. Если это будет полноценная реализация с использованием DontDestroyOnLoad, то все что получит создатель своей игры - просто тонну мусора, которая будет перемещаться между сценами.
@Roman-zq7xi
@Roman-zq7xi 4 жыл бұрын
Лучше развивай тогда эту тему более серьёзно на полезные и самые необходимые или частые/полезные паттерны в разработке. Удачи :)
@pianoplay4191
@pianoplay4191 4 жыл бұрын
Меня больше волнует вопрос оптимизации игр под мобильные устройства. Я не понимаю, почему сцена МЕНЮ у меня работает хуже чем сама игра, хотя в профайлере и вкладке STATS все параметры намного ниже за исключением CPU Main. Не понимаю, что не так
@insaneone-7220
@insaneone-7220 4 жыл бұрын
Без полной информации сказать трудно. Можно попробовать шаг за шагом пересобрать сцену и найти, что так влияет на производительность)
@pianoplay4191
@pianoplay4191 4 жыл бұрын
@@insaneone-7220 мне помогло удалить старый проект, сохранив папку Assets и перенести её в новый проект.
@marvisgames
@marvisgames 2 жыл бұрын
ТЫ чего забросил, так понятно, еще информацию!
@pianoplay4191
@pianoplay4191 4 жыл бұрын
Я вообще не понимаю для чего нужны события и паттерны, почему я мог обходиться без этого уже столь длительное время разработки?
@insaneone-7220
@insaneone-7220 4 жыл бұрын
Обходиться можно до определённого момента и в небольших проектах, но когда ими привыкаешь пользоваться, это становится удобно и ускоряет разработку.
@pianoplay4191
@pianoplay4191 4 жыл бұрын
@@insaneone-7220 я начал использовать события сегодня, но ваш урок для меня был непонятен, я посмотрел другие уроки и всё получилось, но сейчас у меня появилась проблема. Когда я перезапускаю сцену не выходя из игрового режима, то есть перехожу из меню в игру, то у меня появляется ошибка о том, что объект ТЕКСТ был удалён, но я ещё пытаюсь ссылаться на него, и это как раз с тем объектом, к которому я добавил события, в чём дело?
@neitralov739
@neitralov739 2 жыл бұрын
@@pianoplay4191 тебе этот совет может не пригодиться, но напишу его для потомков. Когда вы подписываетесь на события, то в коде обязательно должна быть "точка", где происходит отписка от события. Обычно можно делать подписку в OnEnable, а отписываться от события в OnDisable. Такой простой подход избавит от многих проблем.
@fomgleb
@fomgleb 3 жыл бұрын
Так вот зачем он нужен. Спасибо, уже удаляю FindObjectOfType
Подробный урок по Entity Component System в Unity
15:27
Insane One - Разработка игр
Рет қаралды 42 М.
Я обещал подарить ему самокат!
01:00
Vlad Samokatchik
Рет қаралды 9 МЛН
Amazing weight loss transformation !! 😱😱
00:24
Tibo InShape
Рет қаралды 67 МЛН
Идеально повторил? Хотите вторую часть?
00:13
⚡️КАН АНДРЕЙ⚡️
Рет қаралды 12 МЛН
Самый популярный и тупой паттерн - Singleton
25:28
Роман Сакутин
Рет қаралды 43 М.
State Pattern - Advanced C# in Unity
6:55
Insane One - Разработка игр
Рет қаралды 38 М.
Векторная математика в Unity
9:46
CraftPix - Game Assets
Рет қаралды 40 М.
Gradient в Unity. Смена времени суток
5:10
Insane One - Разработка игр
Рет қаралды 15 М.
Everything You Need to Know About Singletons in Unity
8:38
Infallible Code
Рет қаралды 87 М.
Паттерн наблюдатель в unity3D
6:56
Максим Крюков
Рет қаралды 25 М.
Delegates, Events, Actions and Funcs - The Observer Pattern (Unity & C#)
11:48
Trigger an Action after some Time (Unity Tutorial)
18:39
Code Monkey
Рет қаралды 60 М.
Я обещал подарить ему самокат!
01:00
Vlad Samokatchik
Рет қаралды 9 МЛН