createEngine(gopt: KAPLAYOpt): globalOpt: KAPLAYOpt<any, any> canvas: HTMLCanvasElement app: state: canvas: HTMLCanvasElement buttons: ButtonsDef buttonsByKey: Map<Key, string[]> buttonsByMouse: Map<MouseButton, string[]> buttonsByGamepad: Map<KGamepadButton, string[]> buttonsByKeyCode: Map<string, string[]> loopID: null | number stopped: boolean dt: number fixedDt: number restDt: number time: number realTime: number fpsCounter: dts: number[] timer: number fps: number tick(dt: number): void timeScale: number skipTime: boolean isHidden: boolean numFrames: number capsOn: boolean mousePos: Vec2 mouseDeltaPos: Vec2 keyState: ButtonState<Key> mouseState: ButtonState<MouseButton> mergedGamepadState: buttonState: ButtonState<KGamepadButton> stickState: Map<GamepadStick, Vec2> gamepadStates: Map<number, buttonState: ButtonState<KGamepadButton> stickState: Map<GamepadStick, Vec2> > lastInputDevice: "mouse" | "keyboard" | "gamepad" | null buttonState: ButtonState<string> gamepads: KGamepad[] charInputted: string[] isMouseMoved: boolean lastWidth: number lastHeight: number events: KEventHandler<AppEventMap> dt(): number fixedDt(): number restDt(): number time(): number run(fixedUpdate: ()=>void, update: (processInput: ()=>void, resetInput: ()=>void)=>void): void canvas: HTMLCanvasElement fps(): number numFrames(): number quit(): void isHidden(): boolean setFullscreen(f?: boolean): void isFullscreen(): boolean setCursor(c: Cursor): void screenshot(): string getGamepads(): KGamepad[] getCursor(): Cursor setCursorLocked(b: boolean): void isCursorLocked(): boolean isTouchscreen(): boolean mousePos(): Vec2 mouseDeltaPos(): Vec2 isKeyDown(k?: Key | Key[]): boolean isKeyPressed(k?: Key | Key[]): boolean isKeyPressedRepeat(k?: Key | Key[]): boolean isKeyReleased(k?: Key | Key[]): boolean isMouseDown(m?: MouseButton): boolean isMousePressed(m?: MouseButton): boolean isMouseReleased(m?: MouseButton): boolean isMouseMoved(): boolean isGamepadButtonPressed(btn?: KGamepadButton | KGamepadButton[]): boolean isGamepadButtonDown(btn?: KGamepadButton | KGamepadButton[]): boolean isGamepadButtonReleased(btn?: KGamepadButton | KGamepadButton[]): boolean isFocused(): boolean getGamepadStick(stick: GamepadStick): Vec2 isButtonPressed(btn?: string | string[]): boolean isButtonDown(btn?: string | string[]): boolean isButtonReleased(btn?: string | string[]): boolean setButton(btn: string, binding: ButtonBinding): void getButton(btn: string): ButtonBinding pressButton(btn: string): void releaseButton(btn: string): void charInputted(): string[] onResize(action: ()=>void): KEventController onKeyDown: (action: (key: Key)=>void)=>KEventController & (key: Key | Key[], action: (key: Key)=>void)=>KEventController onKeyPress: (action: (key: Key)=>void)=>KEventController & (key: Key | Key[], action: (key: Key)=>void)=>KEventController onKeyPressRepeat: (action: (key: Key)=>void)=>KEventController & (key: Key | Key[], action: (key: Key)=>void)=>KEventController onKeyRelease: (action: (key: Key)=>void)=>KEventController & (key: Key | Key[], action: (key: Key)=>void)=>KEventController onMouseDown: (action: (m: MouseButton)=>void)=>KEventController & (mouse: MouseButton | MouseButton[], action: (m: MouseButton)=>void)=>KEventController onMousePress: (action: (m: MouseButton)=>void)=>KEventController & (mouse: MouseButton | MouseButton[], action: (m: MouseButton)=>void)=>KEventController onMouseRelease: (action: (m: MouseButton)=>void)=>KEventController & (mouse: MouseButton | MouseButton[], action: (m: MouseButton)=>void)=>KEventController onMouseMove(f: (pos: Vec2, dpos: Vec2)=>void): KEventController onCharInput(action: (ch: string)=>void): KEventController onTouchStart(f: (pos: Vec2, t: Touch)=>void): KEventController onTouchMove(f: (pos: Vec2, t: Touch)=>void): KEventController onTouchEnd(f: (pos: Vec2, t: Touch)=>void): KEventController onScroll(action: (delta: Vec2)=>void): KEventController onHide(action: ()=>void): KEventController onShow(action: ()=>void): KEventController onGamepadButtonDown: (action: (btn: KGamepadButton, gamepad: KGamepad)=>void)=>KEventController & (btn: KGamepadButton, action: (btn: KGamepadButton, gamepad: KGamepad)=>void)=>KEventController onGamepadButtonPress: (action: (btn: KGamepadButton, gamepad: KGamepad)=>void)=>KEventController & (btn: KGamepadButton | KGamepadButton[], action: (btn: KGamepadButton, gamepad: KGamepad)=>void)=>KEventController onGamepadButtonRelease: (action: (btn: KGamepadButton, gamepad: KGamepad)=>void)=>KEventController & (btn: KGamepadButton | KGamepadButton[], action: (btn: KGamepadButton, gamepad: KGamepad)=>void)=>KEventController onGamepadStick(stick: GamepadStick, action: (value: Vec2, gp: KGamepad)=>void): KEventController onGamepadConnect(action: (gamepad: KGamepad)=>void): KEventController onGamepadDisconnect(action: (gamepad: KGamepad)=>void): KEventController onButtonPress: (action: (btn: string)=>void)=>KEventController & (btn: string | string, action: (btn: string)=>void)=>KEventController onButtonDown: (action: (btn: string)=>void)=>KEventController & (btn: string | string, action: (btn: string)=>void)=>KEventController onButtonRelease: (action: (btn: string)=>void)=>KEventController & (btn: string | string, action: (btn: string)=>void)=>KEventController getLastInputDeviceType(): "keyboard" | "gamepad" | "mouse" | null events: KEventHandler<AppEventMap> ggl: gl: WebGLRenderingContext opts: KAPLAYOpt<any, any> onDestroy(action: ()=>unknown): void destroy(): void pushTexture2D(item: WebGLTexture): void popTexture2D(): void pushArrayBuffer(item: WebGLBuffer): void popArrayBuffer(): void pushElementArrayBuffer(item: WebGLBuffer): void popElementArrayBuffer(): void pushFramebuffer(item: WebGLFramebuffer): void popFramebuffer(): void pushRenderbuffer(item: WebGLRenderbuffer): void popRenderbuffer(): void pushViewport(item: x: number y: number w: number h: number ): void popViewport(): void pushProgram(item: WebGLProgram): void popProgram(): void setVertexFormat(fmt: VertexFormat): void gfx: AppGfxCtx audio: ctx: AudioContext masterNode: GainNode assets: urlPrefix: string sprites: AssetBucket<SpriteData> fonts: AssetBucket<FontData> bitmapFonts: AssetBucket<GfxFont> sounds: AssetBucket<SoundData> shaders: AssetBucket<Shader> custom: AssetBucket<any> music: Record<string, string> packer: TexPacker loaded: boolean frameRenderer: frameStart(): void frameEnd(): void fixedUpdateFrame(): void updateFrame(): void fontCacheC2d: CanvasRenderingContext2D | null fontCacheCanvas: HTMLCanvasElement game: Game debug: Debug gc: ()=>void[] k: KAPLAYCtx startLoop(): void
app: state: canvas: HTMLCanvasElement buttons: ButtonsDef buttonsByKey: Map<Key, string[]> buttonsByMouse: Map<MouseButton, string[]> buttonsByGamepad: Map<KGamepadButton, string[]> buttonsByKeyCode: Map<string, string[]> loopID: null | number stopped: boolean dt: number fixedDt: number restDt: number time: number realTime: number fpsCounter: dts: number[] timer: number fps: number tick(dt: number): void timeScale: number skipTime: boolean isHidden: boolean numFrames: number capsOn: boolean mousePos: Vec2 mouseDeltaPos: Vec2 keyState: ButtonState<Key> mouseState: ButtonState<MouseButton> mergedGamepadState: buttonState: ButtonState<KGamepadButton> stickState: Map<GamepadStick, Vec2> gamepadStates: Map<number, buttonState: ButtonState<KGamepadButton> stickState: Map<GamepadStick, Vec2> > lastInputDevice: "mouse" | "keyboard" | "gamepad" | null buttonState: ButtonState<string> gamepads: KGamepad[] charInputted: string[] isMouseMoved: boolean lastWidth: number lastHeight: number events: KEventHandler<AppEventMap> dt(): number fixedDt(): number restDt(): number time(): number run(fixedUpdate: ()=>void, update: (processInput: ()=>void, resetInput: ()=>void)=>void): void canvas: HTMLCanvasElement fps(): number numFrames(): number quit(): void isHidden(): boolean setFullscreen(f?: boolean): void isFullscreen(): boolean setCursor(c: Cursor): void screenshot(): string getGamepads(): KGamepad[] getCursor(): Cursor setCursorLocked(b: boolean): void isCursorLocked(): boolean isTouchscreen(): boolean mousePos(): Vec2 mouseDeltaPos(): Vec2 isKeyDown(k?: Key | Key[]): boolean isKeyPressed(k?: Key | Key[]): boolean isKeyPressedRepeat(k?: Key | Key[]): boolean isKeyReleased(k?: Key | Key[]): boolean isMouseDown(m?: MouseButton): boolean isMousePressed(m?: MouseButton): boolean isMouseReleased(m?: MouseButton): boolean isMouseMoved(): boolean isGamepadButtonPressed(btn?: KGamepadButton | KGamepadButton[]): boolean isGamepadButtonDown(btn?: KGamepadButton | KGamepadButton[]): boolean isGamepadButtonReleased(btn?: KGamepadButton | KGamepadButton[]): boolean isFocused(): boolean getGamepadStick(stick: GamepadStick): Vec2 isButtonPressed(btn?: string | string[]): boolean isButtonDown(btn?: string | string[]): boolean isButtonReleased(btn?: string | string[]): boolean setButton(btn: string, binding: ButtonBinding): void getButton(btn: string): ButtonBinding pressButton(btn: string): void releaseButton(btn: string): void charInputted(): string[] onResize(action: ()=>void): KEventController onKeyDown: (action: (key: Key)=>void)=>KEventController & (key: Key | Key[], action: (key: Key)=>void)=>KEventController onKeyPress: (action: (key: Key)=>void)=>KEventController & (key: Key | Key[], action: (key: Key)=>void)=>KEventController onKeyPressRepeat: (action: (key: Key)=>void)=>KEventController & (key: Key | Key[], action: (key: Key)=>void)=>KEventController onKeyRelease: (action: (key: Key)=>void)=>KEventController & (key: Key | Key[], action: (key: Key)=>void)=>KEventController onMouseDown: (action: (m: MouseButton)=>void)=>KEventController & (mouse: MouseButton | MouseButton[], action: (m: MouseButton)=>void)=>KEventController onMousePress: (action: (m: MouseButton)=>void)=>KEventController & (mouse: MouseButton | MouseButton[], action: (m: MouseButton)=>void)=>KEventController onMouseRelease: (action: (m: MouseButton)=>void)=>KEventController & (mouse: MouseButton | MouseButton[], action: (m: MouseButton)=>void)=>KEventController onMouseMove(f: (pos: Vec2, dpos: Vec2)=>void): KEventController onCharInput(action: (ch: string)=>void): KEventController onTouchStart(f: (pos: Vec2, t: Touch)=>void): KEventController onTouchMove(f: (pos: Vec2, t: Touch)=>void): KEventController onTouchEnd(f: (pos: Vec2, t: Touch)=>void): KEventController onScroll(action: (delta: Vec2)=>void): KEventController onHide(action: ()=>void): KEventController onShow(action: ()=>void): KEventController onGamepadButtonDown: (action: (btn: KGamepadButton, gamepad: KGamepad)=>void)=>KEventController & (btn: KGamepadButton, action: (btn: KGamepadButton, gamepad: KGamepad)=>void)=>KEventController onGamepadButtonPress: (action: (btn: KGamepadButton, gamepad: KGamepad)=>void)=>KEventController & (btn: KGamepadButton | KGamepadButton[], action: (btn: KGamepadButton, gamepad: KGamepad)=>void)=>KEventController onGamepadButtonRelease: (action: (btn: KGamepadButton, gamepad: KGamepad)=>void)=>KEventController & (btn: KGamepadButton | KGamepadButton[], action: (btn: KGamepadButton, gamepad: KGamepad)=>void)=>KEventController onGamepadStick(stick: GamepadStick, action: (value: Vec2, gp: KGamepad)=>void): KEventController onGamepadConnect(action: (gamepad: KGamepad)=>void): KEventController onGamepadDisconnect(action: (gamepad: KGamepad)=>void): KEventController onButtonPress: (action: (btn: string)=>void)=>KEventController & (btn: string | string, action: (btn: string)=>void)=>KEventController onButtonDown: (action: (btn: string)=>void)=>KEventController & (btn: string | string, action: (btn: string)=>void)=>KEventController onButtonRelease: (action: (btn: string)=>void)=>KEventController & (btn: string | string, action: (btn: string)=>void)=>KEventController getLastInputDeviceType(): "keyboard" | "gamepad" | "mouse" | null events: KEventHandler<AppEventMap>
state: canvas: HTMLCanvasElement buttons: ButtonsDef buttonsByKey: Map<Key, string[]> buttonsByMouse: Map<MouseButton, string[]> buttonsByGamepad: Map<KGamepadButton, string[]> buttonsByKeyCode: Map<string, string[]> loopID: null | number stopped: boolean dt: number fixedDt: number restDt: number time: number realTime: number fpsCounter: dts: number[] timer: number fps: number tick(dt: number): void timeScale: number skipTime: boolean isHidden: boolean numFrames: number capsOn: boolean mousePos: Vec2 mouseDeltaPos: Vec2 keyState: ButtonState<Key> mouseState: ButtonState<MouseButton> mergedGamepadState: buttonState: ButtonState<KGamepadButton> stickState: Map<GamepadStick, Vec2> gamepadStates: Map<number, buttonState: ButtonState<KGamepadButton> stickState: Map<GamepadStick, Vec2> > lastInputDevice: "mouse" | "keyboard" | "gamepad" | null buttonState: ButtonState<string> gamepads: KGamepad[] charInputted: string[] isMouseMoved: boolean lastWidth: number lastHeight: number events: KEventHandler<AppEventMap>
gamepadStates: Map<number, buttonState: ButtonState<KGamepadButton> stickState: Map<GamepadStick, Vec2> >
onKeyDown: (action: (key: Key)=>void)=>KEventController & (key: Key | Key[], action: (key: Key)=>void)=>KEventController
onKeyPress: (action: (key: Key)=>void)=>KEventController & (key: Key | Key[], action: (key: Key)=>void)=>KEventController
onKeyPressRepeat: (action: (key: Key)=>void)=>KEventController & (key: Key | Key[], action: (key: Key)=>void)=>KEventController
onKeyRelease: (action: (key: Key)=>void)=>KEventController & (key: Key | Key[], action: (key: Key)=>void)=>KEventController
onMouseDown: (action: (m: MouseButton)=>void)=>KEventController & (mouse: MouseButton | MouseButton[], action: (m: MouseButton)=>void)=>KEventController
onMousePress: (action: (m: MouseButton)=>void)=>KEventController & (mouse: MouseButton | MouseButton[], action: (m: MouseButton)=>void)=>KEventController
onMouseRelease: (action: (m: MouseButton)=>void)=>KEventController & (mouse: MouseButton | MouseButton[], action: (m: MouseButton)=>void)=>KEventController
onGamepadButtonDown: (action: (btn: KGamepadButton, gamepad: KGamepad)=>void)=>KEventController & (btn: KGamepadButton, action: (btn: KGamepadButton, gamepad: KGamepad)=>void)=>KEventController
onGamepadButtonPress: (action: (btn: KGamepadButton, gamepad: KGamepad)=>void)=>KEventController & (btn: KGamepadButton | KGamepadButton[], action: (btn: KGamepadButton, gamepad: KGamepad)=>void)=>KEventController
onGamepadButtonRelease: (action: (btn: KGamepadButton, gamepad: KGamepad)=>void)=>KEventController & (btn: KGamepadButton | KGamepadButton[], action: (btn: KGamepadButton, gamepad: KGamepad)=>void)=>KEventController
onButtonPress: (action: (btn: string)=>void)=>KEventController & (btn: string | string, action: (btn: string)=>void)=>KEventController
onButtonDown: (action: (btn: string)=>void)=>KEventController & (btn: string | string, action: (btn: string)=>void)=>KEventController
onButtonRelease: (action: (btn: string)=>void)=>KEventController & (btn: string | string, action: (btn: string)=>void)=>KEventController
ggl: gl: WebGLRenderingContext opts: KAPLAYOpt<any, any> onDestroy(action: ()=>unknown): void destroy(): void pushTexture2D(item: WebGLTexture): void popTexture2D(): void pushArrayBuffer(item: WebGLBuffer): void popArrayBuffer(): void pushElementArrayBuffer(item: WebGLBuffer): void popElementArrayBuffer(): void pushFramebuffer(item: WebGLFramebuffer): void popFramebuffer(): void pushRenderbuffer(item: WebGLRenderbuffer): void popRenderbuffer(): void pushViewport(item: x: number y: number w: number h: number ): void popViewport(): void pushProgram(item: WebGLProgram): void popProgram(): void setVertexFormat(fmt: VertexFormat): void
assets: urlPrefix: string sprites: AssetBucket<SpriteData> fonts: AssetBucket<FontData> bitmapFonts: AssetBucket<GfxFont> sounds: AssetBucket<SoundData> shaders: AssetBucket<Shader> custom: AssetBucket<any> music: Record<string, string> packer: TexPacker loaded: boolean