InputManager09 / 15

Нажатие на кнопку

Отправим событие перезапуска по нажатию.

Добавим к кнопке компонент. node.input.onTap обрабатывает клик мыши и касание. По нажатию отправим RESTART_REQUESTED, а в FSM укажем, что делать с этим событием.

import { BaseComponent } from '@gamedevland/engine/layouts';

export class RestartButtonComponent extends BaseComponent {
  private off: (() => void) | undefined;

  protected override onEnable(): void {
    this.off = this.node.input.onTap(() => {
      this.node.events.emit({ type: 'RESTART_REQUESTED', data: {} });
    });
  }
  protected override onDisable(): void {
    this.off?.();
    this.off = undefined;
  }
}
Игрок нажимает кнопкуМышь или касание
onTapКомпонент отправляет RESTART_REQUESTED
FSMЗапускает перезапуск