the-world-engine
Version:
three.js based, unity like game engine for browser
86 lines (85 loc) • 3.12 kB
TypeScript
import type { IEventContainer } from "../collection/EventContainer";
import type { IInputEventHandleable } from "./IInputEventHandleable";
/**
* engine global input event handler
* do not drive this class
*/
export declare class InputHandler implements IInputEventHandleable {
private readonly _map;
private _isDisposed;
private readonly _renderTargetDom;
private readonly _onKeyDownEvent;
private readonly _onKeyUpEvent;
private readonly _onWheelEvent;
private readonly _onPointerDownEvent;
private readonly _onPointerUpEvent;
private readonly _onPointerEnterEvent;
private readonly _onPointerLeaveEvent;
private readonly _onPointerMoveEvent;
private _touchMoveOccured;
private _onTouchStartFunc;
private _lastMouseDownEvent;
private _lastMouseEnterEvent;
/**
* keyboard input map. key is key name, value is pressed or not
*
* important: upper case single letter key name is mapped to lower case single letter key name
* for example, "A" is mapped to "a"
*/
get map(): ReadonlyMap<string, boolean>;
/**
* start engine global input event handling. you can use this when you want focus the game view
*/
startHandleEvents(): void;
/**
* stop engine global input event handling. you can use this when you want blur the game view
*/
stopHandleEvents(): void;
private simulateMouseEvent;
private readonly handleKeyDown;
private readonly handleKeyUp;
private readonly handleWheel;
private readonly handleMouseDown;
private readonly handleMouseUp;
private readonly handleMouseEnter;
private readonly handleMouseLeave;
private readonly handleMouseMove;
private readonly handleTouchStart;
private readonly handleTouchEnd;
private readonly handleTouchMove;
private readonly handleTouchCancel;
/**
* this event will be invoked when key down event occured
*/
get onKeyDown(): IEventContainer<(event: KeyboardEvent) => void>;
/**
* this event will be invoked when key up event occured
*/
get onKeyUp(): IEventContainer<(event: KeyboardEvent) => void>;
/**
* this event will be invoked when wheel event occured
*/
get onWheel(): IEventContainer<(event: WheelEvent) => void>;
/**
* this event will be invoked when pointer down event occured
*/
get onPointerDown(): IEventContainer<(event: MouseEvent) => void>;
/**
* this event will be invoked when pointer up event occured
*/
get onPointerUp(): IEventContainer<(event: MouseEvent) => void>;
/**
* this event will be invoked when pointer enter event occured
*/
get onPointerEnter(): IEventContainer<(event: MouseEvent) => void>;
/**
* onPointerLeave event
* this event will be invoked when pointer leave event occured
*/
get onPointerLeave(): IEventContainer<(event: MouseEvent) => void>;
/**
* onPointerMove event
* this event will be invoked when pointer move event occured
*/
get onPointerMove(): IEventContainer<(event: MouseEvent) => void>;
}