BenjaminBot

BenjaminBot

Пикабушник
Дата рождения: 1 января
10К рейтинг 2 подписчика 32 подписки 16 постов 3 в горячем
Награды:
Пикабу 17 лет!10 лет на Пикабу
5

Система игровых событий⁠⁠

В Unity известен подход ко взаимодействию объектов посредством событий.

Объявляется Action с необходимыми параметрами. Какие-то объекты на него подписываются, кто-то это событие вызывает и все подписчики исполняют методы, которыми подписались на это событие. Такой подход уменьшает связанность объектов, что есть хорошо.

Однако важно подписки вовремя добавлять и убирать, чтобы не происходило утечек памяти или объекты не подписывались на событие несколько раз. Обычно это делают в методах OnEnable и OnDisable. В каждом подписчике нужно рутинно прописывать подписку/отписку и если событий набралось много, то это может вылиться в простыню кода.

Я решил запилить кастомный пакет с решением, которое поможет создавать события через удобный UI и избавит от рутины ручной подписки/отписки на них, что немного облегчит разработку.

Game Events System

Добавляйте необходимые события, выбирайте типы аргументов, группируйте события в логические "каналы" и жмите "Generate".

Сгенерируются классы по каналам со статическими событиями.
Если в качестве аргумента события необходимо указать типы, объявленные в других пакетах в проекте, то включите галочку "Include packages".

Использование

Вызов событий происходит обычным способом:

MenuChannel.OnPause?.Invoke();

Чтобы подписаться на событие, нужно добавить соответствующий атрибут к колбек-методу:

[MenuChannel.OnPause]
public void Pause()
{
// Event handling logic here
Time.timeScale = 0;
// ...
}

Вот и все, вся остальная логика по подписке/отписке сделана за вас.

Ссылка на репозиторий с пакетом:
https://github.com/IRKhabibullin/com.jarmallnick.gameeventss...

Чтобы добавить пакет к проекту нужно:
1) Скопировать ссылку на проект
2) В Unity зайти в Window -> Package Manager
3) Нажать на + и выбрать загрузку по git url

В пакет добавлена сцена с примерами использования

Буду благодарен за фидбек и идеи улучшения системы.

Показать полностью 1
84

Интересный момент в звукопостановке Atomic Heart, или признательность Jeoffrey Day за крутые треки⁠⁠

Прохожу я, значит, Atomic Heart. Забегаю в деревню, там по радио на столбе оригинал "звёздное лето" с Пугачевой играет, а недалеко бегают култыши. Я подхожу к ним "поздороваться", начинается драка и ровно в этот момент оригинал песни заменяется на рок-версию от Jeoffrey Day, причем момент перехода в песне подобрался так грамотно, что меня тут же подхватил этот боевой азарт и я пошел кромсать всех кого вижу, прям как в думе под музыку Мика Гордона.

И вот через несколько дней мне попалось видео того самого музыканта Jeoffrey Day, где он рассказывает, что он специально подвёл оригинальные треки и их ремиксы друг к другу, чтобы их можно было подменить как только начинается драка. Он передал эту идею разработчикам и добавил, что кажется они не успели добавить такую фичу в игру. Сдается мне, в каком-то виде все же добавили, чему я весьма впечатлился когда встретил.

Видео, правда, на английском, но он там рассказывает ещё пару интересных фактов, например что означает название песни PT-1X12, под которую мы эпично рубимся с ежихой.

Музыканту большой респект за такие саундтреки

Показать полностью
217

Бесконечное⁠⁠

Внимание, СПОЙЛЕРЫ! Кто не хочет отхватить спойлеров (хотя фактически их тут нет), сворачивайте пост и проходите мимо, не задерживайтесь.

И маленький бонус для тех, кто уже посмотрел

Показать полностью 4
Отличная работа, все прочитано!

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества

Недвижимость и ремонт

Теги

Популярные авторы

Сообщества