Function initGame: () => { events: KEventHandler<{ mouseMove: [] mouseDown: [MouseButton] mousePress: [MouseButton] mouseRelease: [MouseButton] charInput: [string] keyPress: [Key] keyDown: [Key] keyPressRepeat: [Key] keyRelease: [Key] touchStart: [Vec2, Touch] touchMove: [Vec2, Touch] touchEnd: [Vec2, Touch] gamepadButtonDown: [string] gamepadButtonPress: [string] gamepadButtonRelease: [string] gamepadStick: [string, Vec2] gamepadConnect: [Gamepad] gamepadDisconnect: [Gamepad] scroll: [Vec2] add: [GameObj] destroy: [GameObj] use: [GameObj, string] unuse: [GameObj, string] tag: [GameObj, string] untag: [GameObj, string] load: [] loadError: [string, Asset<any>] loading: [number] error: [Error] input: [] frameEnd: [] resize: [] sceneLeave: [string] sceneEnter: [string] }> objEvents: KEventHandler<GameObjEvents> root: GameObj<TimerComp> gravity: Vec2 | null scenes: Record<SceneName, SceneDef> currentScene: SceneName | null layers: string[] | null defaultLayerIndex: number logs: { msg: string | {} time: number }[] cam: { pos: Vec2 | null scale: Vec2 angle: number shake: number transform: Mat4 } }