Убейте менеджеров, контроллеры и системы. Декомпозиция компонентов в Unity / Unity Best Practices #3

  Рет қаралды 33,664

Роман Сакутин

Роман Сакутин

Күн бұрын

Пікірлер: 31
@kraken1649
@kraken1649 5 жыл бұрын
Лол замазал надпись активации винды?
@FloatingGames
@FloatingGames 4 жыл бұрын
@Злая собака . Гааав-гав-гав можно без покупок на время, хотя правиль и ссовестью купить
@unreal-illia
@unreal-illia 4 жыл бұрын
@@FloatingGames пиши в дс Unreal#9394 скину прогу на всегда дает активацию)
@Roman-09111
@Roman-09111 5 жыл бұрын
Вчера убил менеджеров! Сегодня на меня хотят завести уголовное дело ))))))
@rahatbakum7852
@rahatbakum7852 2 жыл бұрын
хпххпхх
@AtlantZ
@AtlantZ 5 ай бұрын
Увидел ошибку в if за минуту до того, как Рома об этом начал говорить. Мой внутренний программист чуть с ума не сошёл. Когда Рома обратил на это внимание - выдохнул с облегчением.
@avocadocoder185
@avocadocoder185 4 жыл бұрын
Роман, отличная подача, так держать! Никто на отечественном Ютубе так здраво не рассказывает про такие темы в Unity и C#. По крайней мере я не встречал
@Lynatik001
@Lynatik001 Ай бұрын
название менеджер плохо? у меня есть такая структура, игра автобатлер 5 на 5. (автобой на сервере происходит) Есть клас гейм в нем - _battleManager(клас).SimulateBattle(осн функа) - ну и лист активных боев, и еще пару методов + подписка на старт и конец боя(под сомнением что там нужны) - далее в нем battle(класс BattleSimulation).Initialize С проброской в него персонажей и евентсистем и уже в BattleSimulation приисходит симуляция боя и вызов всех событий (типа окончания боя и тдп) а раз на сервере все то мне нужно каждое действие записывать. Думал сначало сделать класс команды но вышло чуть интереснее(нейронка посоветовала) -Не знал что так можно извращатся с событиями. теперь у меня история боев ето список событий. а каждое событие ето обьект что содержит все нужные данные. (тик, тип события(атака, движение и тд) и прочие параметры Как вам такая логика:?)
@Shumtakatak
@Shumtakatak 2 жыл бұрын
В asp net core используется model + service + controller, и внедряются зависимости
@snatvb
@snatvb 4 жыл бұрын
Мини ошибочка, у тебя в спавнере var coin есть, хотя спавнер никакого отношения к монеткам не имеет, это мелочь конечно Вообще я gamemanager использую как entry point для взаимодействия с другими элемнтами, например я написал модуль работы с сетью, и сделал инстанс в GameManager, он же в свою очередь синглтон, а вот модуль я не могу сделать синглтоном, ибо его можно протестировать задав разные конфиги и сопрягать 2 инстанса в тесте. Придется писать какую-то синглтоновскую обертку, что в свою очередь порадит по сути такую же шляпу, как и GameManager, только вот "хламосброс" у меня будет один, вместо нескольких. Если есть ответ, как это можно получше организовать, расскажи, буду рад))
@DimaBriquez
@DimaBriquez 8 ай бұрын
Вряд ли кто то ответит но всё-таки. Есть же музыка и настройки разве для них не подойдёт аналог менеджера?
@zheka9877
@zheka9877 6 ай бұрын
Роман, как мне кажется, хотел передать мысль, что делать класс отвечающий за всё - не самая лучшая идея. Если у тебя, например, несколько источников музыки (музыка игры и музыка в машине), то это явно разные классы, не пихаем все в один. Но, если у тебя, например есть только музыка уровня, то делать менеджер можно, потому что он будет отвечать только за музыку уровня и не за чью больше
@DimaBriquez
@DimaBriquez 6 ай бұрын
@@zheka9877 Но все ровно есть классы у которых должны быть ссылки. Например настройки, там может быть громкость эффектов, громкость музыки, Громкость озвучки и т.п.
@zheka9877
@zheka9877 6 ай бұрын
@@DimaBriquezну и там по идее нужно отделить UI (переключатели, галочки и т.д.) от самих ссылок. Да и ссылки разные: настройки графики, музыки, управления... Я точно не знаю, я не профессиональный разработчик, но, думаю, хранить ты никакие ссылки не будешь, а настройки у тебя в json будут лежать, а необходимые компоненты потом в Awake() будет забирать эти настройки
@soulsteppe4358
@soulsteppe4358 5 жыл бұрын
Небольшое замечание - звук при записи чутка громче надо сделать, а то с телефона на максимальной громкости очень тихо слышно (особенно если на машине едешь, или в общественном транспорте)
@Migiwara-Yo
@Migiwara-Yo 7 ай бұрын
а можно ли делать класс Scene manager в котором я буду только переключать сцены?
@AHEKDOTbl
@AHEKDOTbl 6 ай бұрын
Почему бы класс не назвать "SceneLoader" тогда?
@zzz3781
@zzz3781 5 жыл бұрын
Курс на котором он будет учитЬся*
@mihaelnew676
@mihaelnew676 4 жыл бұрын
Делаю GameManager, но он у меня управляет только игровыми состояниями. В чём проблема.
@horrest790
@horrest790 4 жыл бұрын
проблема в том, как пилят курсы и как раздуваются всякие геймманагеры в обучающих материалах, что потом оседает у людей как норма
@alexkruglov7548
@alexkruglov7548 3 жыл бұрын
Для своих проектов и каких-нибудь прототипов - вполне себе, большее уже можно считать оверинженерингом. Для проектов требуемых расширяемости и гибкости, и для проектов в которых работает несколько программистов - уже не очень, т.к игровое состояние - понятие растяжимое, и при добавлении этих состояний, или при добавлении различных фич/модулей класс обязательно разрастется.
@ScrewY0UguyS
@ScrewY0UguyS 3 жыл бұрын
@@alexkruglov7548 а как в таком случае правильно проектировать управление игровыми состояниями? Лучшее решение, пришедшее мне в голову - это статические методы, вроде GameOver() или LevelCompleted(). Очень интересен правильный подход к этому вопросу.
@СлавныйЛехаОбломов
@СлавныйЛехаОбломов 4 жыл бұрын
Благодарю!
@АлександрОмельченко-ы1у
@АлександрОмельченко-ы1у 10 ай бұрын
SRP как всегда не верно трактуется он не о том говорит, блин, для кого Чистую Архитектуру писали хз
@dadlord689
@dadlord689 2 жыл бұрын
Я услышал в начале правильные слова про контроллер который делает всё (я столкнулся именно с таким проектом: там и Zenject и имитация single responsibility и вся херня). Но дальше смотреть боюсь потому что скорее всего будет лютый бред как и во всех отечественных видосах. Если человек не понимает то А: ничего нормального не сделает, Б: ничему ты его не научишь. Все эти эпические туторы с разбором кода, заданиями из пальца и подобная дичь - до лампочки. Ничего ты не поймёшь пока думать не начнёшь. А если уже своя башка работает - туторы не нужны, читай доки.
Мен атып көрмегенмін ! | Qalam | 5 серия
25:41
So Cute 🥰 who is better?
00:15
dednahype
Рет қаралды 19 МЛН
Избавляемся от If и Switch в коде на C#! КАК !?
14:38
Роман Сакутин
Рет қаралды 98 М.
Архитектура проекта в Unity. Часть 1
20:52
Лавка Разработчика
Рет қаралды 38 М.
ООП вопросы на юнити собеседовании
14:11
Максим Крюков
Рет қаралды 44 М.