Паттерн декоратор в unity3D

2020 ж. 1 Жел.
18 658 Рет қаралды

Продолжаем разбираться в паттернах проектирования в рамках unity3D и C#. Сегодня в выпуске очень изящный и полезный паттерн декоратор.
Моя почта для отправки кода - maksym.kriukov@gmail.com
Паттерн стратегия - • Паттерны стратегия в u...
Паттерн наблюдатель - • Паттерн наблюдатель в ...
Паблик игроделов - vk.com/special3d
Поддержка канала:
Patreon - www.patreon.com/user?u=32502669
В крипте:
BTC - 16WmTb4VTFGYrwEjjnMKNNMMzsMB1rPEqD
ETH - 0x8d35406f8317b846528d0a9ea4a34ce59968dff2
XRP - rLW9gnQo7BQhU6igk5keqYnH3TVrCxGRzm (TAG - 1438215071)
LTC- MNSWdzdVsUMnozSU5HhUPEscfxaUK3Fdck
#unity3d #decorator #patterns #gamedev #ityoutubersru

Пікірлер
  • Спасибо, Максим, всё четко и ясно, без воды еще и с несколькими примерами 👍🏻👍🏻👍🏻

    @user-qu8rv6xv1c@user-qu8rv6xv1c2 жыл бұрын
  • Максим, Вы делаете очень познавательные видео, не останавливайтесь, Вы очень помогаете начинающим программистам, у меня никак не доходили руки до паттерна декоратор, но после такого видео захотелось его испробовать в своем проекте, еще бы хотелось от Вас увидеть видео по созданию продвинутого инвентаря)

    @dennijs9609@dennijs96093 жыл бұрын
  • Учиться и учиться, мне ещё такое сложно понимать, но думаю скоро и до этого доберусь

    @_EnVyUs@_EnVyUs3 жыл бұрын
    • как успехи?

      @user-it9mg3ge6p@user-it9mg3ge6p2 жыл бұрын
    • подача не самая лучшая, на англицком можно найти более простые и прикладные примеры и туториалы

      @nightyonetwothree@nightyonetwothree2 жыл бұрын
  • Очень нравятся видео про паттерны, продолжай эту тему. Колокольчик и лайк на месте

    @user-bc4me5kz7j@user-bc4me5kz7j3 жыл бұрын
  • Спасибо за хорошие примеры OC принципа.

    @overlordshor@overlordshor2 жыл бұрын
  • Очень хороший пример. Довольно наглядно. Жду новых уроков по паттернам проектирования! X_X

    @theoctan8569@theoctan85693 жыл бұрын
    • Через одно будет)

      @gaitavr1992@gaitavr19923 жыл бұрын
  • Видео про паттерны - пушка!

    @ericetto1089@ericetto10893 жыл бұрын
  • Было бы очень интересно глянуть как ты сюда прикручиваешь таймеры, на самом деле. Спасибо за видео

    @ell_pavel@ell_pavel2 жыл бұрын
  • Отличное видео! Всё ёмко и понятно.

    @IskanderPresent@IskanderPresent3 жыл бұрын
  • Дякую, Максиме. Мабуть, працювати з вами в одній команді, дуже цікаво.

    @vladfinni6797@vladfinni67972 жыл бұрын
  • Макс, дякую тобі за твій канал і роботу. Але є проблема) Я джун - понадивлювався твої відосів і тепер мені важко з іншими джунами порозумітись.

    @hryhoriinevmerzhytskyi4299@hryhoriinevmerzhytskyi42997 ай бұрын
  • Из-за страшной фоновой музыки в твоём видео показывается реклама нового ужастика😂

    @malvislightfadynightgames2925@malvislightfadynightgames29252 жыл бұрын
  • Спасибо за информативный ролик, однако можете, пожалуйста, объяснить один момент. Декоратор представляется мне абстрактным односвязным списком, однако, как удалять его звенья? Я сделал кулдаун на дебафы и все в принципе работает, но звенья не удаляются, а просто после того как таймер пройдет условную временную точку не изменяет значение. По-хорошему надо их удалить. Спасибо за ответ заранее.

    @donbolshoff8965@donbolshoff8965 Жыл бұрын
  • Максим, видео про паттерны классные) Несут много полезной информации. Есть один вопрос: Будет ли здесь обзор ecs паттерна? (Не обязательно DOTS =) )

    @evilvirraZzz@evilvirraZzz3 жыл бұрын
    • Да, будут

      @gaitavr1992@gaitavr19923 жыл бұрын
    • а зря.Мы юнити не для того юзаем, что бы под ецс писать.Правда, они там говорили(разрабы в юньке), что всю будут под ецс переделывать что ай ай ай не очень хороший знак. правда для развития канала мож быть и подойдет.

      @nicsonkinellman8166@nicsonkinellman81663 жыл бұрын
    • Не обязательно менять мышление на ецс полностью, но почему бы не расширить кругозор?

      @gaitavr1992@gaitavr19923 жыл бұрын
    • @@gaitavr1992 Кругозор да, но это парадигмы мы вообще залезем в дебри кэша, правильной процессорной оптимизации и прочей лабуды.Юнити она из коробки аля достал и ебаш.В анриале нужно хотя бы это понимать, ибо плюсы.А тут накидал геймобжектов,подрубил логику и для прототипа сойдет.Тем более, что не все сидят на про версии и доступа к исходничкам няма.Поправьте если не так.

      @nicsonkinellman8166@nicsonkinellman81663 жыл бұрын
    • Ну мы же не будем всегда на прототипе останавливаться

      @gaitavr1992@gaitavr19923 жыл бұрын
  • да все уже подписаны с колокольчиком, а кто не подписан срочно подписывайтесь!) я сначала тут посмотрел а потом ссылку в чате увидел ) круто понимать о чём идёт речь)) это я не про себя, ну ничего вернусь к этому видео попозже, когда навыки подкачаю) ЭЭЭх а мне бы в ММОРПГ пригодилось)

    @Veyron104@Veyron1043 жыл бұрын
    • Статистика показывает, что нет, по ходу с колокольчиком процентов 40-50 подписчиков

      @gaitavr1992@gaitavr19923 жыл бұрын
  • Крутой контент! Будут ли видео про DI и Zenject?

    @luchacorporation784@luchacorporation7843 жыл бұрын
    • Спасибо, будут)

      @gaitavr1992@gaitavr19923 жыл бұрын
  • Золотые слова про правильное применение. А то мамины программисты выучат новый паттерн и бегут засовывать его во все дырки

    @artUSUN@artUSUN2 жыл бұрын
  • Большое спасибо за видео, круто делаешь)))

    @Niko_Zen@Niko_Zen3 жыл бұрын
  • Крутое видео

    @darknside@darknside Жыл бұрын
  • А есть репозиторий где можно скачать код с примером Porsh. А то по видео не могу повторить

    @Ivan60179@Ivan60179 Жыл бұрын
  • Круто бы было посмотреть код матч3, не понимаю как это сделать на практике

    @user-re8ux1lp5k@user-re8ux1lp5k2 жыл бұрын
  • Очень нужна комбинация паттернов декоратор и фабрика. Делаю тестовое задание. Сдать до 15 декабря. Хотелось бы с применением паттернов. Чтобы было больше шансов

    @user-nm5zh2zb8c@user-nm5zh2zb8c3 жыл бұрын
    • К сожалению, фабрика будет уже в январе. На очереди job система и еще один шейдер

      @gaitavr1992@gaitavr19923 жыл бұрын
    • @@gaitavr1992 а в tower defense паттерн фабрика?

      @user-nm5zh2zb8c@user-nm5zh2zb8c3 жыл бұрын
    • Да, их много вариаций

      @gaitavr1992@gaitavr19923 жыл бұрын
  • Вопрос. Возьмём пример с характеристиками игрока. Допустим мы добавили баффы, а как их убрать? Создать обратный декоратор который будет отнимать такое же количество характеристик?

    @ve1c0m@ve1c0m3 жыл бұрын
    • Ни в коем случае обратный нельзя, лучше, если система баффов будет модифицировать статсы у себя внутри с таймером. А чтобы отменить можно хранить состояние до и после баффов

      @gaitavr1992@gaitavr19923 жыл бұрын
    • Для статов можем добавить ссылку на того кто их добавил и потом убирать по этой ссылке

      @alexpanov4270@alexpanov42703 жыл бұрын
    • assetstore.unity.com/packages/tools/integration/character-stats-106351 Вот тут можете подсмотреть как реализованы параметры

      @alexpanov4270@alexpanov42703 жыл бұрын
    • Вполне можно использовать, это не декоратор уже, но годится в использование

      @gaitavr1992@gaitavr19923 жыл бұрын
  • Топ канал

    @bogdao44@bogdao443 жыл бұрын
    • Скидывайте интересующимся знакомым)

      @gaitavr1992@gaitavr19923 жыл бұрын
  • А сможете сделать разбор проекта в плане кода ? Что не правильно и что можно было бы изменить ? Пожертвую своим проектом ради науки. Начинал его не я, а знаток с киберфооума по моей просьбе. Как по мне(хотя я ещё не имею опыта в проектировании и паттернах ) код ужасный и мне очень сложно его разширять и развивать. )) Игра змейка 3D. Хотя я думаю идея будет сразу слизана. Возможно я погарачился ))

    @tomasgammister5776@tomasgammister57763 жыл бұрын
    • Присылайте на почту, на главной странице есть адрес, в теме письма укажите code_review

      @gaitavr1992@gaitavr19923 жыл бұрын
    • @@gaitavr1992Извините... На какой странице ? Увидел только "наш дискорт" и "поддержать канал"... )) Просматриваю с телефона. Возможно на ПК будет отображаться...

      @tomasgammister5776@tomasgammister57763 жыл бұрын
    • О канале вкладка)

      @gaitavr1992@gaitavr19923 жыл бұрын
    • @@gaitavr1992privacy@patreon.com. это ? Не могли бы вы просто написать почту тут ?

      @tomasgammister5776@tomasgammister57763 жыл бұрын
    • @@tomasgammister5776 maksym.kriukov@gmail.com

      @gaitavr1992@gaitavr19923 жыл бұрын
  • Не понимаю, как вывести полученные значения в консоль, чтобы показать их игроку, подскажите пожалуйта.

    @blazeinfernohell1323@blazeinfernohell1323 Жыл бұрын
    • Debug.Log() или print(). Последний вариант работает только в MonoBehaviour.

      @fortnitebestmoments368@fortnitebestmoments36811 ай бұрын
  • Почему у тебя Interface и Enum одного и того же цвета?

    @malvislightfadynightgames2925@malvislightfadynightgames29253 жыл бұрын
    • Тема райдера такая

      @gaitavr1992@gaitavr19923 жыл бұрын
    • @@gaitavr1992 оу, даже не заметил, что это райдер

      @malvislightfadynightgames2925@malvislightfadynightgames29253 жыл бұрын
  • Ошибка? 1:38 FileCompressor сначала сожмет файл, а потом запишет.

    @valerypopov4041@valerypopov40413 жыл бұрын
    • Да, был уже такой коммент

      @gaitavr1992@gaitavr19923 жыл бұрын
  • protected поля именуются без нижнего подчёркивания

    @malvislightfadynightgames2925@malvislightfadynightgames29253 жыл бұрын
    • Это где такое правило?

      @gaitavr1992@gaitavr19923 жыл бұрын
    • @@gaitavr1992 Не исключаю, что я не прав, но когда изучал Camel casing было так

      @malvislightfadynightgames2925@malvislightfadynightgames29253 жыл бұрын
    • @@gaitavr1992 Поправь, пожалуйста, для общего развития))

      @malvislightfadynightgames2925@malvislightfadynightgames29253 жыл бұрын
    • Такие вещи решаются внутри команды. Без подчеркивания у меня всегда локальные переменные или параметры. С большой только публичные. Протектед в свою очередь использую, как приватные с нижним подчеркиванием. Таким образом при использовании протектед поля в наследнике я не задумываюсь, его это поле или нет

      @gaitavr1992@gaitavr19923 жыл бұрын
    • @@gaitavr1992 в целом согласен с тобой. И пока ты ещё тут хотел бы попросить сделать видео о сборщике мусора в Unity и в C#. Я знаю принцип работы и того и другого, но не могу понять отличия. И это частый вопрос на собеседованиях. Заранее спасибо!

      @malvislightfadynightgames2925@malvislightfadynightgames29253 жыл бұрын
  • Просто юмор. Декоратор: Я дополняю уже существующий код, наследую и надстраиваю его методы. Июньский программист: То есть ты, по сути, лигализованный костыль? Декоратор: Да.

    @valerypopov4041@valerypopov40413 жыл бұрын
  • Раз используешь материалы других источников, хоть бы ссылку по совести оставил на рефакторинг гуру

    @HedgehogNSK@HedgehogNSK7 ай бұрын
  • А какое это отношение к юнити имеет?

    @unreidunity2737@unreidunity27372 жыл бұрын
    • А что с юнити не так?

      @gaitavr1992@gaitavr19922 жыл бұрын
    • @@gaitavr1992 Подвязать это к игре сложно

      @unreidunity2737@unreidunity27372 жыл бұрын
    • или мне просто сложно

      @unreidunity2737@unreidunity27372 жыл бұрын
    • @@gaitavr1992 А как при этой системе уменьшать отдельные параметры? По типу стамины и т.д.?

      @unreidunity2737@unreidunity27372 жыл бұрын
  • Напряжение на протяжении всего видео. Фоновую музыку пожалуйста ставь менее навязчивую

    @malvislightfadynightgames2925@malvislightfadynightgames29253 жыл бұрын
  • Сначала сожмет а потом запишет :р

    @user-rh8ug3qi3d@user-rh8ug3qi3d3 жыл бұрын
    • Оговорился)

      @gaitavr1992@gaitavr19923 жыл бұрын
  • Ничего не понял, слишком сложно объясняешь

    @mariacho8174@mariacho81743 жыл бұрын
    • Значит через время будет понятней

      @gaitavr1992@gaitavr19923 жыл бұрын
    • @@gaitavr1992 прошло больше полугода, пересмотрел видео и действительно стало понятно!

      @mariacho8174@mariacho81742 жыл бұрын
    • Это круто!)

      @gaitavr1992@gaitavr19922 жыл бұрын
KZhead