Я нахожусь в стадии исследования проекта, который потребует разработки специального менеджера событий для событий компьютерной игры.
В прошлом код маршрутизации для опроса правильных фрагментов кода для потребления событий целиком помещался в функцию ProcessEvents () диспетчера событий. Пример: пользовательскому интерфейсу должна быть предоставлена возможность использовать событие «щелчок мышью», а объекту игрока - нет.
Размер предстоящего проекта довольно велик, и я вижу, что это довольно раздражает необходимость включать этот тип маршрутизации в функцию ProcessEvents ().
Во время моего вчерашнего чтения я прочитал о концепции регистрации и отмены регистрации слушателей .
Это звучит как отличная идея, но я в полной растерянности относительно того, как именно это работает или как я реализовал бы это в VB.NET. Я полагаю, концепция заключается в следующем. Если бы я создал новый объект Monster , я бы каким-то образом зарегистрировал его в качестве прослушивателя для таких типов событий, как GunShoot, BombExplode и т. Д. Во время обработки событий менеджером событий, если он встречает событие BombExplode он будет опрашивать каждого зарегистрированного слушателя, если они могут использовать событие.
Как это можно эффективно реализовать в VB.NET?
Спасибо.