// Manual typescript definitions from various CPP and JS files that can't yet be autogenerated
// no-default-lib and modified lib.d.ts used to allow redefinition of self
///
///
// From JSAtomic.cpp
declare function print(val: any);
declare function assert();
declare function js_module_read_file(path: string);
declare function openConsoleWindow();
declare function getVM(): Atomic.JSVM;
declare function getEngine(): Atomic.Engine;
declare function getGraphics(): Atomic.Graphics;
declare function getRenderer(): Atomic.Renderer;
declare function getResourceCache(): Atomic.ResourceCache;
declare function getInput(): Atomic.Input;
declare function getFileSystem(): Atomic.FileSystem;
declare function getNetwork(): Atomic.Network;
declare function script(script: string): boolean;
declare function destroy(node: Atomic.Node): boolean;
declare function destroy(scene: Atomic.Scene): boolean;
declare function destroy(component: Atomic.JSComponent): boolean;
// From JSRequire.cpp
declare function require(path: string): any;
declare module Atomic {
// From AtomicGame.js
export class Game {
engine: Engine;
cache: ResourceCache;
renderer: Renderer;
graphics: Graphics;
input: Input;
uiView: UIView;
scene: Scene;
cameraNode: Node;
camera: Camera;
viewport: Viewport;
constructor();
init(start: any, update: any);
getSpriteSheet2D(xmlFile: string): Resource;
getSpriteSheet(xmlFile: string): Resource;
getSound(soundFile: string): Resource;
getSprite2D(spriteFile: string): Resource;
showDebugHud();
createScene2D(): Scene;
dumpMetrics();
createScene3D(filename: string): Scene;
}
var game: Game;
// From JSUIAPI.cpp
var UI: {
GRAVITY_NONE: number;
GRAVITY_LEFT: number;
GRAVITY_RIGHT: number;
GRAVITY_TOP: number;
GRAVITY_BOTTOM: number;
GRAVITY_LEFT_RIGHT: number;
GRAVITY_TOP_BOTTOM: number;
GRAVITY_ALL: number;
GRAVITY_DEFAULT: number;
AXIS_X: number;
AXIS_Y: number;
LAYOUT_SIZE_GRAVITY: number;
LAYOUT_SIZE_PREFERRED: number;
LAYOUT_SIZE_AVAILABLE: number;
LAYOUT_DISTRIBUTION_PREFERRED: number;
LAYOUT_DISTRIBUTION_AVAILABLE: number;
LAYOUT_DISTRIBUTION_GRAVITY: number;
LAYOUT_POSITION_CENTER: number;
LAYOUT_POSITION_LEFT_TOP: number;
LAYOUT_POSITION_RIGHT_BOTTOM: number;
LAYOUT_POSITION_GRAVITY: number;
WINDOW_SETTINGS_NONE: number;
WINDOW_SETTINGS_TITLEBAR: number;
WINDOW_SETTINGS_RESIZABLE: number;
WINDOW_SETTINGS_CLOSE_BUTTON: number;
WINDOW_SETTINGS_CAN_ACTIVATE: number;
WINDOW_SETTINGS_DEFAULT: number;
WIDGET_STATE_NONE: number;
WIDGET_STATE_DISABLED: number;
WIDGET_STATE_FOCUSED: number;
WIDGET_STATE_PRESSED: number;
WIDGET_STATE_SELECTED: number;
WIDGET_STATE_HOVERED: number;
WIDGET_STATE_ALL: number;
EVENT_TYPE_CLICK: number;
EVENT_TYPE_LONG_CLICK: number;
EVENT_TYPE_POINTER_DOWN: number;
EVENT_TYPE_POINTER_UP: number;
EVENT_TYPE_POINTER_MOVE: number;
EVENT_TYPE_RIGHT_POINTER_DOWN: number;
EVENT_TYPE_RIGHT_POINTER_UP: number;
EVENT_TYPE_WHEEL: number;
EVENT_TYPE_CHANGED: number;
EVENT_TYPE_KEY_DOWN: number;
EVENT_TYPE_KEY_UP: number;
EVENT_TYPE_SHORTCUT: number;
EVENT_TYPE_CONTEXT_MENU: number;
EVENT_TYPE_FILE_DROP: number;
EVENT_TYPE_TAB_CHANGED: number;
EVENT_TYPE_CUSTOM: number;
VISIBILITY_GONE: number;
VISIBILITY_INVISIBLE: number;
VISIBILITY_VISIBLE: number;
debugGetWrappedWidgetCount(): number;
debugGetUIKeepAliveCount(): number;
debugShowSettingsWindow(): number;
};
}