Универсальный Менеджер обработки событий в Unity.
Описание прикреплённого примера :
В сцене три объекта.
GameObject0
GameObject1
GameObject2
На них висят скрипты, регистрирующиеся в Менеджере и ожидающие от него событий.
Ждут они в функцию public void InputGetMouseButtonDown()
Все три объекта регистрируются, а третий ещё и выходит из очереди (для теста и демонстрации функционала). То есть, ожидающих остаётся только два.
При нажатии на колёсико мыши, срабатывает скрипт, висящий на камере и проверяющий нажатие. Он посылает сообщение о событии Менеджеру. Менеджер оповещает очередь.
Скрипты,вызванные Менеджером, пишут сообщение в дебаггер.
Всё.
(Вложение удалено как безнадёжно устаревшее)