Перейти к содержанию

События

Интерфейс обработчика событий.

Предоставляет класс события и интерфейс для его обработчика. Обработчик событий используется чтобы реагировать на игровое поведение. Большинство действий игроков сопровождаются некоторыми действиями.

BaseEventHandler

Bases: ABC

Базовый обработчик событий.

Предоставляет интерфейс для обработки событий на стороне клиента. При возникновении игровых события они отправляются в обработчик. Обработчик уже решает как поступить с этими событиями. Базовый класс определяет интерфейс взаимодействия с событиями.

dispatch abstractmethod

Python
dispatch(event: Event) -> None

Обрабатывает игровое событие.

Событие обрабатывается на усмотрение клиента. Это может быть отправка в консоль, по веб сокету или действие в боте.

Обработка некоторых из событий важна для корректной игры.

DebugEventHandler

Bases: BaseEventHandler

Отладочный обработчик событий.

Используется для тестирования как заглушка. Все пришедшие события перенаправляются в консоль. Не подходит для использования во время игры, поскольку некоторые из событий требуют действий со стороны клиента.

dispatch

Python
dispatch(event: Event) -> None

Вернуть событие в отладочную консоль.

Event dataclass

Python
Event(
    game: MauGame,
    player: Player,
    event_type: GameEvents,
    data: _T,
)

Bases: Generic[_T]

Игровое событие.

Когда во время игры происходит действие, создаётся события. Событие описывает исчерпывающую информацию о произошедшем:

  • Для какой игры произошло событие.
  • Какой игрок его совершил.
  • Тип события.
  • Некоторая опциональная информация о событии.

Созданные игрой события отправляются в обработчик.

data instance-attribute

Python
data: _T

event_type instance-attribute

Python
event_type: GameEvents

game instance-attribute

Python
game: MauGame

player instance-attribute

Python
player: Player