UnityEvents. ЛУЧШЕЕ решение для разработки игр на Unity???
Вставка
- Опубліковано 25 лип 2024
- 🔎🔎📝Всем, привет! Сегодня мы разберемся с тем, что из себя представляют UnityEvents и чем они отличаются от стандартных событий. В подробностях разберем способы их применения, а также посмотрим на то какое из решений является более производительным. Проанализируем все вышеперечисленное и разберемся что и когда лучше применять при разработке своих проектов. Так что смотрите видео до конца - будет интересно!
🕒Тайм-коды:
➜ 00:00 - Вступление
➜ 00:39 - Небольшой рефакторинг кода с прошлого урока и немножко воды
➜ 01:56 - Анонс двух примеров и небольшая схема первого из них
➜ 02:36 - Разбор первого примера с применением UnityEvents
➜ 07:42 - Разбор второго примера - применяем UnityEvents для настройки из инспектора
➜ 13:00 - Подводим некоторые итоги по UnityEvents
➜ 15:12 - Разбираемся: что же производительнее?
➜ 16:44 - Мое мнение по применению UnityEvents и заключение)
⚡️⚡️⚡️ Полезные ссылки ⚡️⚡️⚡️
🔎 • C# Делегаты и события(... - ссылка на урок по ивентам и делегатам
🔎 • ХП БАР (HEALTH BAR) в ... - ссылка на урок по HealthBar на ивентах
🔎 metanit.com/sharp/tutorial/7.... - обещанная ссылка на статью по форматированию строк в C#
🔎 ua-cam.com/play/PL0.html... - ссылка на плейлист по созданию персонажа
🔎 • С# КЛАССЫ с ПРИМЕРАМИ ... - ссылка на уроки по C# по Unity
🔥🔥🔥 На этом канале вы найдете множество уроков по Unity и C#, а так же различных видео на игровую тематику, так что не стесняйтесь, заглядывайте на канал и вы обязательно найдете что-то по душе!🔥🔥🔥
🎧🎧🎧 Музыка в видео 🎧🎧🎧
➜ Effervescence - ZAYFALL
➜ Soave - Vendredi
➜ When You Feel Most Alive - Broke in Summer
➜ Teen Party (feat. Vendredi) - Broke in Summer
#UnityEvents#ЯковлевИлья#Unity3D#ИВЕНТЫВUNITY
Без доп. классов для передачи аргументов работают юнити ивенты. Вот так например задавал поле в одном из проектов
[SerializeField] private UnityEvent _redLight;
Все отлично работает. И передача через код и в инспекторе норм отображается и передаются аргументы
Да, не проверил это дело в новых версиях. Раньше насколько я помню UnityEvent был абстрактным классом и необходимо было создавать обертку. Перед видосом глянул документацию docs.unity3d.com/2022.2/Documentation/Manual/UnityEvents.html и там до сих рекомендуют создавать такой оберточный класс, поэтому подумал что все так и осталось. Спасибо за наблюдение!)
Ахренительный контент!! Очень всё понятно и интересно спасибо огромное!) Очень хочется увидеть продолжение!
Пишу обо всем, что замечаю - комментариев под видео стало побольше, рад этому факту. Канал достоин большего числа подписчиков. Спасибо за материал.
И почему я не мог найти твой канал раньше? Это годнота! Жаль, что ролики не выходят(
Надеюсь скоро будут ещё)
О, молодец, ждал это видео)
Похоже именно вы, товарищ, поможете мне с курсачом
Спасибо за работу автору
Не особо еще шарю, но очень хорошо что ты продолжаешь деятельность свою 🤝 я думаю придет у меня понимание позже так что не бросай смотрю твои видосы и делюсь с людьми ✌️
Но что хочу сказать пока учился по UnityEvents
Спасибо!
Пожалуйста не забрасывай свой контент, он невероятно крутой!! У тебя очень приятные для глаз ролики, и всё понятно) Только пожалуйста делай побольше схем работы кода. Это очень хорошо создаёт целостнуб картигу!!!)
Сейчас у создателя канала много дел. И он занят. Контент и я хочу
Спасибо за видео :)
Хотя всё равно многое пока что не понятно, надо руками пробовать
3:44, строка 7, для оптимизации перед int лучше поставить in.
В такой "оптимизации" практической пользы особо нету
@@user-cs8tz7nn1c ахах, ты проверял?)
@@slash7076 да
Полезные видео. Только звук появления мемов отвлекает, особенно в наушниках. Без них было бы круче) Успехов каналу!
3:50, дак оператор ?. и так проверяет же сам объект на null, и он является сокращённой версией того, чего сделал в итоге ты. Получается, всё равно стоит писать ?.Invoke()
Спасибо, смотрю почти все ваши видео.Не могли бы вы сделать механику атаки как в бравл старс(типо показывается на какое расстаяние стреляет и т.д)?Заранее спасибо
красавец
Используй класс StopWatch чтобы замерять время работы. А ещё время зависит от количества подписчиков на ивенты. У меня разница 30x при одном подписчике в пользу C# events. При 10 подписчиках 15x(казалось что разница будет больше, а не меньше).
У тебя очень полезный контент? Желаю тебе успеха в развитии канала и профессиональных навыков! Подписка, лайк и колокольчик с меня!
Чувак, расскажи про разные паттерны проектирования, где не обойтись без ивентов и делегатов)
Этот человек делает метод который позволяет вызывать событие кому-угодно. Что уже противоречит принципам SOLID. А вы паттерны просите его разобрать.
то что это "пример", "код для начинающих", не освобождает от принципов написания качественного кода.
@@creex463 солидарен.
@Дарий значит у вас в компании не занимаются поддержкой написанного ПО. Это враньё что бизнесу не нужен чистый код)
События сами по себе реализация паттерна Наблюдатель. Так что во всех паттернах можно обойтись без событий)
Может и не профи, но уроки и материал интереснее и качественнее чем у многих "профи" учащих других людей.
настройка событий дизайнером через инспектор - опасное дело :) в более-менее крупном проекте он может разгуляться с этими настройками и потом при небольшом рефакторе кода всё это к чертям рассыпется. И вы даже не сразу это заметите. Но для совсем крохотных вещей, или например для встроенных компонентов ( как AudioSource в примере) сойдёт.
3:25, 🤔, лучше использовать scriptable object, а то когда будешь добавлять вторую валюту (донатную или кристаллы) придётся код копировать.
Мы не разбирали ещё scriptable objects( Да и в целом тут простой примерчик чисто под тему. В таком случае и UnityEvents тут необязательно применять:)
Сделай пожалуйста видио где враг отнимает хп
1
Ассет UltEvent - круче, лучше его использовать
@Дарий да. Загугли на ассет сторе
Это самое, лучше всё-таки отписываться даже при объявление UnityEvent, ибо потом после компиляции этот мусор остаётся в памяти)
Не дуже приклад... GetComponent()... Instantiate ... А як розширюватися усе буде? static в окремому классі ... Такі собі рішення. Архетиктуру й взагалі не видно.
Вы можете уточнить про какие моменты в видео вы говорите? Со статическими ивентами возможно соглашусь, но хочется тогда найти какой-то ещё вариант связывания таких эвентов. А на счёт создания текстовых сообщений я сказал, лучше будет создать пул объектов для такого, но ещё и это в данном видео объяснять не хотелось. Надеюсь правильно вас понял
Есле линковать эвенты через редактор, главный минус состоит в том что ты его хер потом найдешь и будешь гадать а какого вот тут в игре происходит это и не происходит вот то. Когда ты все делаешь в коде то все это значительно легче отслеживать хоть и тут бывают ньюансы. Дизайнер парень отличный но он за баги не отвечает, а тебе геморой на ровном месте. Конечно все это актуально только не в том случае если проект это гиперкеж.