TGViewer
Mikhail Kolobov | Gamedev Forge Mikhail Kolobov | Gamedev Forge @gamedevforge · 1.08K subscribers
Post #287 1.13K
Рубрика "вредные советы от маслят"

Наткнулся на просторах тг на канал с "топ-лайфхаками по Unity" и пара из них меня прям возбудила с утра, внимание:

Вредный совет №1
"Используйте анонимные делегаты Action и Func вместо кастомных, это же гораздо проще"

Ага, проще...

Предположим, нашему игроку нанесли урон и это событие надо передать всем заинтересованным: вьюшке игрока, какой-нибудь аналитике, звук и vfx проиграть и тд. Для этого, допустим, надо передать айдишник противника, нанесенный урон по хп и урон по броне.
В оригинальном подходе от маэстро у нас получится событие:
Action<int,int,int>

- выглядит удобно?😂

Или все таки гораздо проще сделать свой делегат с понятным неймингом?
public delegate void Hit(int assaulter, int healthDamage, int armorDamage);


В общем, совет на уровне "ходите под себя, это проще чем вытирать жопу"
...

НО! Я не говорю использовать ТОЛЬКО кастомные делегаты. А призываю следить за контекстом - если вам нужно передать много данных в событии, а особенно однотипных, то гораздо удобнее свой делегат, чем каждый раз лезть в первоисточник события и проверять, что вы нужный int правильно интерпретируете.

Вредный совет №2
Используйте ScriptableObject для передачи событий между сценами

Тут тоже понятно, откуда ноги растут. Знамения говностатья любимых юнитеков про ScriptableObject Architecture.
Коротко ее основной посыл:
"если вы только научились ходить и не умеет связывать классы между собой даже через синглтон, то используйте SO - закидайте проект монобехами, а данные, события и все что приглянется, киньте в SO и прокиньте через инспектор"

И самый мой любимый подводный камень - ScriptableObject в редакторе изменяется между сессиями! Поэтому если у вас все данные хранятся в SO, то будьте любезны потом пробежаться по проекту и затереть все изменения.

И я бы не доебался, но в оригинальном после это представлено как
лайфхаки, которые отличают джуна от мидла
это шаг в сторону масштабируемого и профессионального кода

Но я бы назвал это
лайфхаки, которые обезьяну от неандертальца
это шаг в кучу говна


На этом все, буду ждать новых лайфхаков, автор обещает:
впереди про архитектуру, DI, UI-системы и async паттерны


А тем временем чтобы научиться нормально программировать, а не на уровне пещерного человека, то:
1️⃣ Можете посмотреть мой список bad practice
2️⃣ Менторство с 0 до мидла

#техничка
  • 😁 19
  • 🤣 8
  • ❤ 4
  • 🔥 3
  • 🤨 1
More from @gamedevforge
  1. Sep 22, 2026Это пока что мое любимое видео про создание игры целиком через ИИ. В отличие от всех говно…
  2. Sep 21, 2026Спорим, большинство закинут книгу в гпт и спросят "перескажи кратко че там"?
  3. Sep 10, 2026Пока все теребонькали свои клоды и кодексы, то пропустили самую ненужную фичу
  4. Sep 9, 2026Claude выкатил список скиллов для Unity https://claude.com/plugins/unity И чет... хз, звуч…
  5. Sep 5, 2026Ну что, кто-то уже сделал GTA 7 в один промпт на GPT 6 Astra?
  6. Aug 3, 2026Я каждый раз вымираю от этих рассылок Если кто-то не до конца понимает контекст, давайте н…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →