События
Интерфейс обработчика событий.
Предоставляет класс события и интерфейс для его обработчика. Обработчик событий используется чтобы реагировать на игровое поведение. Большинство действий игроков сопровождаются некоторыми действиями.
BaseEventHandler
Bases: ABC
Базовый обработчик событий.
Предоставляет интерфейс для обработки событий на стороне клиента. При возникновении игровых события они отправляются в обработчик. Обработчик уже решает как поступить с этими событиями. Базовый класс определяет интерфейс взаимодействия с событиями.
dispatch
abstractmethod
dispatch(event: Event) -> None
Обрабатывает игровое событие.
Событие обрабатывается на усмотрение клиента. Это может быть отправка в консоль, по веб сокету или действие в боте.
Обработка некоторых из событий важна для корректной игры.
DebugEventHandler
Bases: BaseEventHandler
Отладочный обработчик событий.
Используется для тестирования как заглушка. Все пришедшие события перенаправляются в консоль. Не подходит для использования во время игры, поскольку некоторые из событий требуют действий со стороны клиента.
Event
dataclass
Event(
game: MauGame,
player: Player,
event_type: GameEvents,
data: _T,
)
Bases: Generic[_T]
Игровое событие.
Когда во время игры происходит действие, создаётся события. Событие описывает исчерпывающую информацию о произошедшем:
- Для какой игры произошло событие.
- Какой игрок его совершил.
- Тип события.
- Некоторая опциональная информация о событии.
Созданные игрой события отправляются в обработчик.
data
instance-attribute
data: _T