UNPKG

asciitorium

Version:
42 lines (41 loc) 1.28 kB
import { Component, ComponentProps } from '../core/Component.js'; import { State } from '../core/State.js'; export type MobileButtonId = 'btn-up' | 'btn-down' | 'btn-left' | 'btn-right' | 'btn-a' | 'btn-b' | 'btn-x' | 'btn-y' | 'btn-menu'; export interface MobileControllerProps extends ComponentProps { dpad?: { up?: () => void; down?: () => void; left?: () => void; right?: () => void; }; buttons?: { a?: () => void; b?: () => void; x?: () => void; y?: () => void; }; menu?: () => void; enabled?: State<boolean> | boolean; priority?: number; } export declare class MobileController extends Component { readonly priority: number; private disabledState?; private staticDisabled; private actionMap; private registrationAttempted; private timeoutId?; private destroyed; constructor(props: MobileControllerProps); get disabled(): boolean; /** * Handle a button press * @returns true if this controller handled the button, false otherwise */ handleButton(buttonId: MobileButtonId): boolean; setParent(parent: Component): void; private registerWithApp; destroy(): void; private unregisterWithApp; draw(): string[][]; }