meta-next
Version:
62 lines (57 loc) • 1.99 kB
JavaScript
import Device from "./Device"
import Engine from "./Engine"
import EngineWindow from "./EngineWindow"
import Time from "./Time"
import Pool from "./Pool"
import Input from "./Input"
import Key from "./Key"
import Gamepad from "./Gamepad"
import Resources from "./resources/Resources"
import Resource from "./resources/Resource"
import Texture from "./resources/Texture"
import Material from "./resources/Material"
import { radians, degrees, length, clamp, EPSILON } from "./math/Common"
import Vector2 from "./math/Vector2"
import Vector3 from "./math/Vector3"
import Vector4 from "./math/Vector4"
import Matrix4 from "./math/Matrix4"
import AABB from "./math/AABB"
import Circle from "./math/Circle"
import Mesh from "./mesh/Mesh"
import Node from "./entity/Node"
import RenderNode from "./entity/RenderNode"
import Sprite from "./entity/Sprite"
import Camera from "./entity/Camera"
import Text from "./entity/Text"
import DrawCommand from "./renderer/DrawCommand"
import Renderer from "./renderer/Renderer"
import DebugRenderer from "./renderer/DebugRenderer"
import SpriteRenderer from "./renderer/SpriteRenderer"
import Raycaster from "./physics/Raycaster"
import { onDomLoad } from "./Utils"
Engine.create = (app) =>
{
if(Engine.app) {
console.warn("(Engine.create) Creating multiple engine instances is not supported!")
return
}
const copyDefaultSettings = Object.assign({}, Engine.defaultSettings)
Engine.app = app
Engine.settings = Object.assign(copyDefaultSettings, app.settings)
Engine.window = new EngineWindow()
Engine.camera = new Camera()
onDomLoad(() => {
Engine.window.create()
})
}
export {
Device, Engine, Time, Pool,
Input, Key, Gamepad,
Resources, Resource, Texture, Material,
radians, degrees, length, clamp, EPSILON,
Vector2, Vector3, Vector4, Matrix4, AABB, Circle,
Mesh,
Node, RenderNode, Sprite, Camera, Text,
DrawCommand, Renderer, DebugRenderer, SpriteRenderer,
Raycaster
}