Продвинутый C# в Unity. Паттерн Visitor [Посетитель]

แชร์
ฝัง
  • เผยแพร่เมื่อ 30 ก.ย. 2024

ความคิดเห็น • 56

  • @A3azel
    @A3azel 6 หลายเดือนก่อน +4

    Делать хитбокс визитером не очень в плане открытости/закрытости. Лучше сделать оружия визитерами, тогда для добавления нового оружия нужно будет создать 1 реализацию визитера и все. Собственно визитер и нужен для удобного добавления операции над существующей иерархией классов (хибоксов).

  • @alexsklyarov6792
    @alexsklyarov6792 2 ปีที่แล้ว +4

    Привет, спасибо за туториал. Сними ролик про UniTask, вижу ты его используешь в проекте)))

  • @psy_gamer
    @psy_gamer 3 ปีที่แล้ว +7

    Очень интересная реализация паттерна!)
    А будет ли разбор паттерна "состояние" для ИИ?

    • @NightTrainCode
      @NightTrainCode  3 ปีที่แล้ว +4

      Привет, благодарю)
      Думаю, да, будет 😎

    • @MrGreenwud
      @MrGreenwud 2 ปีที่แล้ว +1

      Я тоже жду уроки про другие патерны

  • @piijjen
    @piijjen 2 ปีที่แล้ว +3

    Ничего не понял, но очень интересно.

  • @SMT-ks8yp
    @SMT-ks8yp 2 ปีที่แล้ว +2

    Если вкратце, то смысл в том, чтобы вместо прописывания одного общего метода в интерфейсе для получения атаки с нагружением его кучей условий и аргументов, этот метод перегружается и начинает принимать отдельный класс для каждого вида атаки со всеми нужными полями?

  • @vladyan01
    @vladyan01 2 ปีที่แล้ว

    Ничерта не понял, видимо рано залез сюда

  • @VitVit312
    @VitVit312 3 ปีที่แล้ว +3

    Каеф, но моменты с кодом иногда очень быстрые, не успеваешь сообразить что тебе что то поясняют
    Отрывки из кода на столько быстро пролетают что даже не понятно что ты там хотел показать, приходится ставить на паузу постоянно
    Не спеши, ты нам ещё живой нужен с:

    • @NightTrainCode
      @NightTrainCode  3 ปีที่แล้ว

      Спасибо! 😉
      Не останавливаюсь надолго в тех моментах, которые не относятся к теме видоса, но, может быть, будут кому-то полезны)

    • @grimseal
      @grimseal 3 ปีที่แล้ว +3

      Весь ютуб смотришь на х2, и только найт трейн на x0.5 :-D

    • @NightTrainCode
      @NightTrainCode  3 ปีที่แล้ว

      @@grimseal 👻🤡

  • @PavelStr-x5w
    @PavelStr-x5w 2 ปีที่แล้ว +1

    комментарий в поддержку)

  • @Tarpopo
    @Tarpopo 2 ปีที่แล้ว +2

    кратко, емко и по делу, есть интересные практики, вот, держи лайк)

  • @ThePirateHistory
    @ThePirateHistory 3 ปีที่แล้ว +1

    Отлично, малесь быстро, но мне кажется из-за этого я и понял больше, и интереса стало больше)

    • @NightTrainCode
      @NightTrainCode  3 ปีที่แล้ว +1

      Спасибо)
      Повторюсь, быстро там, где код, не совсем (или никак не) относящийся к теме, но может быть интересен людям, видимо интерес есть 😄🔥

  • @alicewithalex
    @alicewithalex 2 ปีที่แล้ว +1

    Круто, спасибо большое, продолжай снимать ролики в том же духе)

    • @NightTrainCode
      @NightTrainCode  2 ปีที่แล้ว

      На здоровье, договорились)

  • @d3dx259
    @d3dx259 2 ปีที่แล้ว +1

    Привет, на отрывке 4:28 метод PerformAttack имеет параметр override, но он ,вроде бы, применяется только к abstract или virtual. Можно небольшое объяснение как это работает?

    • @NightTrainCode
      @NightTrainCode  2 ปีที่แล้ว +1

      Привет, это переопределение методов. Полиморфизм подтипов. Можешь это погуглить)

    • @d3dx259
      @d3dx259 2 ปีที่แล้ว

      @@NightTrainCode а ок, спасибо

  • @gamingpro3324
    @gamingpro3324 2 ปีที่แล้ว

    здраствуйте, снимите видео как уменшить трис ивертс, из за этого игра лагает

  • @evilvirraZzz
    @evilvirraZzz 2 ปีที่แล้ว +1

    Посмотрел гитхаб, увидел что местоположение - Красноярск, так ли это на самом деле?

    • @NightTrainCode
      @NightTrainCode  2 ปีที่แล้ว

      Да, всё верно, а что смущает?
      Земляк?)

    • @evilvirraZzz
      @evilvirraZzz 2 ปีที่แล้ว +1

      @@NightTrainCode Да)

    • @NightTrainCode
      @NightTrainCode  2 ปีที่แล้ว +1

      ​@@evilvirraZzz Левый берег на связи 🤙

  • @КириллКиселев-е6э
    @КириллКиселев-е6э 2 ปีที่แล้ว

    Давай про паттерн абстрактная фабрика

  • @lewaplay
    @lewaplay 2 ปีที่แล้ว

    тутор крутой но где ссылка на репу?))

  • @entity5148
    @entity5148 3 ปีที่แล้ว +1

    Спасибки!)

  • @nuciesto6917
    @nuciesto6917 3 ปีที่แล้ว

    0:18 дробовик автомат)
    P.S. Это не дробовик(

  • @moranyt8299
    @moranyt8299 2 ปีที่แล้ว

    А вы еще вернетесь?((( Я прост новенький, в танке так сказать, мб есть причина того что 7 мес без роликов.

    • @NightTrainCode
      @NightTrainCode  2 ปีที่แล้ว

      Привет, в телеграме у меня почаще посты выходят)
      Новый ролик уже на днях после такого долгого перерыва 🥳

    • @moranyt8299
      @moranyt8299 2 ปีที่แล้ว

      @@NightTrainCode ебоооииии

  • @ИванДерябкин-ц3д
    @ИванДерябкин-ц3д 2 ปีที่แล้ว

    Ой как хорошо, спасибо за видео

  • @leyn7229
    @leyn7229 2 ปีที่แล้ว

    Привет, когда видео про вкладку Lighting?

    • @NightTrainCode
      @NightTrainCode  2 ปีที่แล้ว

      Салют, вряд-ли в скором времени, пока другие темы

    • @leyn7229
      @leyn7229 2 ปีที่แล้ว

      @@NightTrainCode очень нужно просто :(

  • @gameviewer5693
    @gameviewer5693 3 ปีที่แล้ว

    Спаcибо за видео, а можно узнать про класс Unit, он в себе содержит только ссылки на компоненты и другие классы обращаются к ним через Unit? И так как доступны 2 класса UnitHealth и UnitDamageable, то можно менять значение в UnitHealth на прямую, игнорирую UnitDamageable получается

    • @NightTrainCode
      @NightTrainCode  3 ปีที่แล้ว

      На здоровье
      Да, только содержит ссылки на компоненты. А все компоненты содержат ссылку на этот класс Unit, чтобы можно было удобно друг к другу обращаться
      Можно менять значение только в UnitHealth, но это нелогично
      Через UnitDamageable можно наносить урон (метод ApplyDamage), а если необходимо вылечить юнита, то нужно сделать отдельный метод, например, просто Heal

    • @gameviewer5693
      @gameviewer5693 3 ปีที่แล้ว

      @@NightTrainCode спасибо. А касательно методов Default Visitor, там аргументом передается оружие, а параметром принимается WeaponAttack, не подскажешь какая там иерархия наследования? Странно что оружие и атака оружия наследуются друг от друга, учитывая разделение ответственности на том же юните. Хотя возможно именно с оружием это имеет смысл, но все же наверное назову IWeapon или просто Weapon тогда

    • @NightTrainCode
      @NightTrainCode  3 ปีที่แล้ว +1

      @@gameviewer5693 DefaultRaycastVisit спасает от дублирования кода
      У оружия есть основной Weapon, как у Unit
      В классе Weapon есть ссылки на все компоненты, например:
      WeaponAttack
      WeaponAudio
      WeaponAnimator
      WeaponAmmunition
      И т.д., и т.д.
      WeaponAttack для каждого оружия свой, так как поведение у них разное. А так, можно и просто Weapon основной передавать, а не WeaponAttack

  • @ВячеславПавлович-е1р
    @ВячеславПавлович-е1р 2 ปีที่แล้ว +3

    Хорошо объясняешь , а главное еще и правильно. Нету до чего прицепиться. Хотел поругать за использование тегов, но не получилось 😂

    • @NightTrainCode
      @NightTrainCode  2 ปีที่แล้ว +2

      Спасибо! Ахвххаха, да, всё продумано 🤣

  • @АлександрГрек-м2о
    @АлександрГрек-м2о 3 ปีที่แล้ว

    Подскажи пожалуйста где вообще можно взять библиотеку Юнити ?

    • @NightTrainCode
      @NightTrainCode  3 ปีที่แล้ว

      Чего?)

    • @АлександрГрек-м2о
      @АлександрГрек-м2о 3 ปีที่แล้ว

      @@NightTrainCode я просто пока в этом профан , имею ввиду где узнать как и что выполняет та или иная функция , класс , переменная ?

    • @NightTrainCode
      @NightTrainCode  3 ปีที่แล้ว

      @@АлександрГрек-м2о Что касается кода - справка Microsoft про C# + видео на ютабе
      Что касается библиотеки Unity, которая идёт вместе с движком - документация на сайте Unity + тоже видосы на ютабе

    • @АлександрГрек-м2о
      @АлександрГрек-м2о 3 ปีที่แล้ว

      @@NightTrainCode теперь осталось выучить английский, ладно спасибо и удачи )

    • @vladislavkresov2910
      @vladislavkresov2910 3 ปีที่แล้ว

      @@АлександрГрек-м2о В документации Unity есть даже туториалы