Что такое делегаты в С#? Как их можно использовать в Unity?

Поділитися
Вставка
  • Опубліковано 7 вер 2024

КОМЕНТАРІ • 34

  • @lakergame6435
    @lakergame6435 Рік тому +15

    Незаслуженно мало подписчиков, контент на уровне милионника

    • @syavochka
      @syavochka Рік тому +4

      Просто далеко не всем интересно разбираться в чем-то сложном, головой же думать надо)

  • @user-mm7ch3xw4e
    @user-mm7ch3xw4e Рік тому +4

    Интересная тема делегаты и события. Читал троелсона, смотрел видосы. Вроде все понятно, но как дело доходит до практики, какая-то дичь начинается))) Спасибо за полезное видео!!!

  • @StratoCatster
    @StratoCatster Рік тому +5

    сначала лайк - потом просмотр!
    и комент не забываем!

  • @DemoN_MF
    @DemoN_MF Рік тому +4

    Спасибо за видео!
    Но все ещё ждем документацию по архитектуре, ну и новые видосы по актуальной 4-й версии ;)

  • @mishamarietta5264
    @mishamarietta5264 Рік тому +2

    Видос крутой, давай про архитектуру проекта следующий видос

  • @user-de1wo4xd4j
    @user-de1wo4xd4j Рік тому +1

    Спасибо, месяц назад как раз задался вопросом чем отличаются различные записи событий потому что и так и так в различных источниках видел. Теперь буду знать!

  • @yujeck
    @yujeck Рік тому +1

    Наконец-то разобрался с тем, что все это из себя представляет. Оч хорошие уроки 👍

  • @nikolai4660
    @nikolai4660 Рік тому +1

    Тайное становится явным.Когда никто об этом не говорит, но все все понимают, однако вот он первый. Тоже никогда за всю практику не приходилось использовать Predicate явно :D Отличный материал, так держать!

  • @goldgold594
    @goldgold594 Рік тому +1

    Благодарю за урок, теперь стал понимать, для чего нужны делегаты)

  • @xagent
    @xagent Рік тому

    Насколько я понял, event это тот же делегат, но с ООП надстройкой, накладывающей ограничения
    P. S. Спасибо, что рассказали про Func. Было очень полезно. Сам не раз сталкивался с проблемой перекрестных ссылок.

    • @gamedevlavka
      @gamedevlavka  Рік тому

      event - это специальное слово, которое накладывает ограничения на делегат, так будет лучше сказать

  • @nepochat
    @nepochat Рік тому +2

    Вполне понятно, правда щелкаешь между скриптами больно шустро, приходится ставить на паузу.
    Лайк)

    • @gamedevlavka
      @gamedevlavka  Рік тому

      Это у меня волнение насчет затянутого ролика работает :/

    • @olsney
      @olsney Рік тому +4

      @@gamedevlavka Это да, переключаешься конечно быстро, тоже на паузу приходилось ставить) А так контент топ

    • @_dexeltod_
      @_dexeltod_ Рік тому +1

      @@olsney ты даже тут

    • @olsney
      @olsney Рік тому

      @@_dexeltod_ 😆

    • @nightyonetwothree
      @nightyonetwothree Рік тому

      лучше пусть будет быстро и когда надо нажмёшь паузу, нежели чем на 2х смотреть

  • @user-yx5mb4sz9t
    @user-yx5mb4sz9t Рік тому +1

    Оперативно👍 А следующее сам же сказал про лямбда-выражения.

  • @vladimirkraft4315
    @vladimirkraft4315 Рік тому +2

    Спасибо большое за этот урок! 👍

  • @MrKingofTiger
    @MrKingofTiger Рік тому +1

    Func ещё используется для Unity AI. Делаешь 3 Func, а именно какое условие, как обработать, какой результат. И так можно прописывать очень много вариантов, а AI просто пробирает по всем Func, применяет их и смотрит какое действие самое полезное. Или хилл или удар или например убежать

  • @maxwad
    @maxwad Рік тому

    Я бы посмотрел видео (а лучше - серию видео) об UniRX. Этот фреймворк становится всё популярнее, а русскоязычных видео по нему кот наплакал.)

    • @gamedevlavka
      @gamedevlavka  Рік тому

      UniRx, конечно, хорош. Но в большом игрострое его уже не применяют, т.к. он три года уже не поддерживается)
      Лучше глядеть в System.Reactive, но там, конечно, космический шатл) не знаю, как скоро ролик будет)

  • @MoronicSoul
    @MoronicSoul 4 дні тому

    Понял только Ивенты. всякие предикаты с Функами не поддаются осмыслению без практики.. )

  • @volodyaDikiy
    @volodyaDikiy Рік тому +1

    Лучший пример

  • @user-sx7vo6kg8t
    @user-sx7vo6kg8t Рік тому +1

    Вообще на счёт неиспользования predicate, сам возможно не создаёшь, но вот используешь достаточно часто, например List.Find(predicate).

    • @gamedevlavka
      @gamedevlavka  Рік тому

      Это да, согласен)
      Только через лямбда выражения, в явном виде не создавал. Спасибо за уточнение, всецело согласен

  • @alexsklyarov6792
    @alexsklyarov6792 Рік тому

    Спасибо, полезно. Не понял зачем func пробрасывать вместо прямого экземпляра, если оно все в одном месте инициализируется, возможно чтоб не подменить ссылку сервиса на null в другом сервисе? Еще интересно, как ты связываешь UI с логикой, как эвенты пробрасываешь (если UI как-то независимо идет в игре)?

  • @GameManagerController
    @GameManagerController Рік тому

    Почему ты не можешь следовать официальным
    гайдлайнам по кодстайлу и называть приватные переменные с нижнего подчеркивания? так ты перестанешь использовать обосаный this для разделения локальных переменных и полей

    • @maxwad
      @maxwad Рік тому

      Нижнее подчёркивание для тряпочек.

  • @ktotakoi6037
    @ktotakoi6037 Рік тому

    Автор видимо сам никогда не пользовался делегатами, потому что в видео нет ни слова про отписаться, утечка памяти обеспечена!

    • @gamedevlavka
      @gamedevlavka  Рік тому

      Автор комментария видимо сам никогда не пользовался делегатами, потому что в комментарии нет ни слова про контекст применения делегатов! Не везде это критически необходимо.
      Однако ж, согласен, стоило об этом рассказать в видео, чтобы не возникало подобного рода комментариев.
      Тем не менее, я об этом часто говорю в роликах, где присутствует тот же Action, в том числе в видео про события