UNPKG

oxygen-core

Version:

Oxygen game engine (Xenon Core for browsers)

664 lines (616 loc) 35.8 kB
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <base data-ice="baseUrl" href="../../"> <title data-ice="title">src/index.js | oxygen-core</title> <link type="text/css" rel="stylesheet" href="css/style.css"> <link type="text/css" rel="stylesheet" href="css/prettify-tomorrow.css"> <script src="script/prettify/prettify.js"></script> <script src="script/manual.js"></script> <meta name="description" content="Oxygen game engine (Xenon Core for browsers)"><meta property="twitter:card" content="summary"><meta property="twitter:title" content="oxygen-core"><meta property="twitter:description" content="Oxygen game engine (Xenon Core for browsers)"></head> <body class="layout-container" data-ice="rootContainer"> <header> <a href="./">Home</a> <a href="identifiers.html">Reference</a> <a href="source.html">Source</a> <div class="search-box"> <span> <img src="./image/search.png"> <span class="search-input-edge"></span><input class="search-input"><span class="search-input-edge"></span> </span> <ul class="search-result"></ul> </div> <a style="position:relative; top:3px;" href="https://github.com/PsichiX/Oxygen"><img width="20px" src="./image/github.png"></a></header> <nav class="navigation" data-ice="nav"><div> <ul> <li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/index.js~EventsController.html">EventsController</a></span></span></li> <li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-lazyInitialization">lazyInitialization</a></span></span></li> <li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#asset-loaders">asset-loaders</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/asset-loaders/AssemblyAsset.js~AssemblyAsset.html">AssemblyAsset</a></span></span></li> <li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/asset-loaders/AtlasAsset.js~AtlasAsset.html">AtlasAsset</a></span></span></li> <li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/asset-loaders/BinaryAsset.js~BinaryAsset.html">BinaryAsset</a></span></span></li> <li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/asset-loaders/FontAsset.js~FontAsset.html">FontAsset</a></span></span></li> <li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/asset-loaders/ImageAsset.js~ImageAsset.html">ImageAsset</a></span></span></li> <li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/asset-loaders/JSONAsset.js~JSONAsset.html">JSONAsset</a></span></span></li> <li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/asset-loaders/MusicAsset.js~MusicAsset.html">MusicAsset</a></span></span></li> <li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/asset-loaders/PackAsset.js~PackAsset.html">PackAsset</a></span></span></li> <li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/asset-loaders/ParticleSystemAsset.js~ParticleSystemAsset.html">ParticleSystemAsset</a></span></span></li> <li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/asset-loaders/PostprocessRackEffectAsset.js~PostprocessRackEffectAsset.html">PostprocessRackEffectAsset</a></span></span></li> <li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/asset-loaders/SVGAsset.js~SVGAsset.html">SVGAsset</a></span></span></li> <li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/asset-loaders/SceneAsset.js~SceneAsset.html">SceneAsset</a></span></span></li> <li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/asset-loaders/SetAsset.js~SetAsset.html">SetAsset</a></span></span></li> <li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/asset-loaders/ShaderAsset.js~ShaderAsset.html">ShaderAsset</a></span></span></li> <li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/asset-loaders/SkeletonAsset.js~SkeletonAsset.html">SkeletonAsset</a></span></span></li> <li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/asset-loaders/SoundAsset.js~SoundAsset.html">SoundAsset</a></span></span></li> <li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/asset-loaders/TextAsset.js~TextAsset.html">TextAsset</a></span></span></li> <li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#components">components</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/components/AtlasSprite.js~AtlasSprite.html">AtlasSprite</a></span></span></li> <li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/components/Camera.js~Camera.html">Camera</a></span></span></li> <li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/components/Camera.js~PostprocessPass.html">PostprocessPass</a></span></span></li> <li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/components/Camera2D.js~Camera2D.html">Camera2D</a></span></span></li> <li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/components/CameraDirector2D.js~CameraDirector2D.html">CameraDirector2D</a></span></span></li> <li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/components/CircleShape.js~CircleShape.html">CircleShape</a></span></span></li> <li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/components/Container.js~Container.html">Container</a></span></span></li> <li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/components/DeferredRenderer.js~DeferredPipeline.html">DeferredPipeline</a></span></span></li> <li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/components/DeferredRenderer.js~DeferredRenderer.html">DeferredRenderer</a></span></span></li> <li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/components/GestureListener.js~GestureListener.html">GestureListener</a></span></span></li> <li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/components/InputHandler.js~InputHandler.html">InputHandler</a></span></span></li> <li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/components/MultipassRenderer.js~MultipassPipeline.html">MultipassPipeline</a></span></span></li> <li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/components/MultipassRenderer.js~MultipassRenderer.html">MultipassRenderer</a></span></span></li> <li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/components/Particles.js~Particles.html">Particles</a></span></span></li> <li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/components/PhysicsBody.js~PhysicsBody.html">PhysicsBody</a></span></span></li> <li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/components/PhysicsWorld.js~PhysicsWorld.html">PhysicsWorld</a></span></span></li> <li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/components/PolygonShape.js~PolygonShape.html">PolygonShape</a></span></span></li> <li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/components/PostprocessRack.js~PostprocessRack.html">PostprocessRack</a></span></span></li> <li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/components/PostprocessRack.js~PostprocessRackPass.html">PostprocessRackPass</a></span></span></li> <li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/components/PostprocessRack.js~PostprocessRackRawEffectPass.html">PostprocessRackRawEffectPass</a></span></span></li> <li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/components/PrefabInstance.js~PrefabInstance.html">PrefabInstance</a></span></span></li> <li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/components/RectangleRenderer.js~RectangleRenderer.html">RectangleRenderer</a></span></span></li> <li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/components/RectangleShape.js~RectangleShape.html">RectangleShape</a></span></span></li> <li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/components/Script.js~Script.html">Script</a></span></span></li> <li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/components/Shape.js~Shape.html">Shape</a></span></span></li> <li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/components/Skeleton.js~Skeleton.html">Skeleton</a></span></span></li> <li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/components/SortedActions.js~SortedActions.html">SortedActions</a></span></span></li> <li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/components/Sprite.js~Sprite.html">Sprite</a></span></span></li> <li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/components/TextRenderer.js~TextRenderer.html">TextRenderer</a></span></span></li> <li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/components/UiLayout.js~UiLayout.html">UiLayout</a></span></span></li> <li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/components/UiSprite.js~UiSprite.html">UiSprite</a></span></span></li> <li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/components/VerticesRenderer.js~VerticesRenderer.html">VerticesRenderer</a></span></span></li> <li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#systems">systems</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/systems/AssemblySystem.js~AssemblySystem.html">AssemblySystem</a></span></span></li> <li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/systems/AudioSystem.js~AudioSystem.html">AudioSystem</a></span></span></li> <li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/systems/InputSystem.js~InputSystem.html">InputSystem</a></span></span></li> <li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/systems/RenderSystem.js~Command.html">Command</a></span></span></li> <li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/systems/RenderSystem.js~Pipeline.html">Pipeline</a></span></span></li> <li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/systems/RenderSystem.js~RenderFullscreenCommand.html">RenderFullscreenCommand</a></span></span></li> <li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/systems/RenderSystem.js~RenderSystem.html">RenderSystem</a></span></span></li> <li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/systems/RenderSystem.js~RenderTargetWrapper.html">RenderTargetWrapper</a></span></span></li> <li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/systems/StorageSystem.js~StorageSystem.html">StorageSystem</a></span></span></li> <li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/systems/System.js~System.html">System</a></span></span></li> <li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#systems-assetsystem">systems/AssetSystem</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/systems/AssetSystem/Asset.js~Asset.html">Asset</a></span></span></li> <li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/systems/AssetSystem/index.js~AssetSystem.html">AssetSystem</a></span></span></li> <li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#systems-entitysystem">systems/EntitySystem</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/systems/EntitySystem/Component.js~Component.html">Component</a></span></span></li> <li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/systems/EntitySystem/Entity.js~Entity.html">Entity</a></span></span></li> <li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/systems/EntitySystem/index.js~EntitySystem.html">EntitySystem</a></span></span></li> <li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#utils">utils</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/utils/Events.js~Events.html">Events</a></span></span></li> <li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-angleDifference">angleDifference</a></span></span></li> <li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-bezierCubic">bezierCubic</a></span></span></li> <li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-convertGlobalPointToLocalPoint">convertGlobalPointToLocalPoint</a></span></span></li> <li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-convertLocalPointToGlobalPoint">convertLocalPointToGlobalPoint</a></span></span></li> <li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-findMapKeyOfValue">findMapKeyOfValue</a></span></span></li> <li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-getMipmapScale">getMipmapScale</a></span></span></li> <li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-getPOT">getPOT</a></span></span></li> <li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-isGlobalPointInGlobalBoundingBox">isGlobalPointInGlobalBoundingBox</a></span></span></li> <li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-isLocalPointInLocalBoundingBox">isLocalPointInLocalBoundingBox</a></span></span></li> <li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-isPOT">isPOT</a></span></span></li> <li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-propsEnumStringify">propsEnumStringify</a></span></span></li> <li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-stringToRGBA">stringToRGBA</a></span></span></li> <li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-waitForSeconds">waitForSeconds</a></span></span></li> <li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-Box2D">Box2D</a></span></span></li> </ul> </div> </nav> <div class="content" data-ice="content"><h1 data-ice="title">src/index.js</h1> <pre class="source-code line-number raw-source-code"><code class="prettyprint linenums" data-ice="content">import JSONAsset from &apos;./asset-loaders/JSONAsset&apos;; import TextAsset from &apos;./asset-loaders/TextAsset&apos;; import BinaryAsset from &apos;./asset-loaders/BinaryAsset&apos;; import ImageAsset from &apos;./asset-loaders/ImageAsset&apos;; import ShaderAsset from &apos;./asset-loaders/ShaderAsset&apos;; import SceneAsset from &apos;./asset-loaders/SceneAsset&apos;; import AtlasAsset from &apos;./asset-loaders/AtlasAsset&apos;; import FontAsset from &apos;./asset-loaders/FontAsset&apos;; import SoundAsset from &apos;./asset-loaders/SoundAsset&apos;; import MusicAsset from &apos;./asset-loaders/MusicAsset&apos;; import ParticleSystemAsset from &apos;./asset-loaders/ParticleSystemAsset&apos;; import PackAsset from &apos;./asset-loaders/PackAsset&apos;; import SkeletonAsset from &apos;./asset-loaders/SkeletonAsset&apos;; import SVGAsset from &apos;./asset-loaders/SVGAsset&apos;; import SetAsset from &apos;./asset-loaders/SetAsset&apos;; import AssemblyAsset from &apos;./asset-loaders/AssemblyAsset&apos;; import PostprocessRackEffectAsset from &apos;./asset-loaders/PostprocessRackEffectAsset&apos;; import Camera, { PostprocessPass } from &apos;./components/Camera&apos;; import Camera2D from &apos;./components/Camera2D&apos;; import CameraDirector2D from &apos;./components/CameraDirector2D&apos;; import InputHandler from &apos;./components/InputHandler&apos;; import GestureListener from &apos;./components/GestureListener&apos;; import Particles from &apos;./components/Particles&apos;; import PhysicsBody from &apos;./components/PhysicsBody&apos;; import PhysicsWorld from &apos;./components/PhysicsWorld&apos;; import PrefabInstance from &apos;./components/PrefabInstance&apos;; import RectangleRenderer from &apos;./components/RectangleRenderer&apos;; import Script from &apos;./components/Script&apos;; import Sprite from &apos;./components/Sprite&apos;; import AtlasSprite from &apos;./components/AtlasSprite&apos;; import TextRenderer from &apos;./components/TextRenderer&apos;; import VerticesRenderer from &apos;./components/VerticesRenderer&apos;; import UiSprite from &apos;./components/UiSprite&apos;; import UiLayout from &apos;./components/UiLayout&apos;; import Skeleton from &apos;./components/Skeleton&apos;; import SortedActions from &apos;./components/SortedActions&apos;; import DeferredRenderer, { DeferredPipeline } from &apos;./components/DeferredRenderer&apos;; import MultipassRenderer, { MultipassPipeline } from &apos;./components/MultipassRenderer&apos;; import PostprocessRack, { PostprocessRackPass, PostprocessRackRawEffectPass } from &apos;./components/PostprocessRack&apos;; import Shape from &apos;./components/Shape&apos;; import PolygonShape from &apos;./components/PolygonShape&apos;; import CircleShape from &apos;./components/CircleShape&apos;; import RectangleShape from &apos;./components/RectangleShape&apos;; import System from &apos;./systems/System&apos;; import EntitySystem from &apos;./systems/EntitySystem&apos;; import Component from &apos;./systems/EntitySystem/Component&apos;; import Entity from &apos;./systems/EntitySystem/Entity&apos;; import AssetSystem from &apos;./systems/AssetSystem&apos;; import Asset from &apos;./systems/AssetSystem/Asset&apos;; import RenderSystem, { RenderTargetWrapper, Command, Pipeline, RenderFullscreenCommand } from &apos;./systems/RenderSystem&apos;; import InputSystem from &apos;./systems/InputSystem&apos;; import StorageSystem from &apos;./systems/StorageSystem&apos;; import AudioSystem from &apos;./systems/AudioSystem&apos;; import AssemblySystem from &apos;./systems/AssemblySystem&apos;; import Events from &apos;./utils/Events&apos;; import { glMatrix, mat2, mat2d, mat3, mat4, quat, vec2, vec3, vec4 } from &apos;./utils/gl-matrix&apos;; import { box2d } from &apos;./utils&apos;; import AssetLoaders from &apos;./asset-loaders&apos;; import Components from &apos;./components&apos;; import Systems from &apos;./systems&apos;; import Utils from &apos;./utils&apos;; export default { AssetLoaders, Components, Systems, Utils, JSONAsset, TextAsset, BinaryAsset, ImageAsset, ShaderAsset, SceneAsset, AtlasAsset, FontAsset, SoundAsset, MusicAsset, ParticleSystemAsset, PackAsset, SkeletonAsset, SVGAsset, SetAsset, AssemblyAsset, PostprocessRackEffectAsset, Camera, PostprocessPass, Camera2D, CameraDirector2D, InputHandler, GestureListener, Particles, PhysicsBody, PhysicsWorld, PrefabInstance, RectangleRenderer, Script, Sprite, AtlasSprite, TextRenderer, VerticesRenderer, UiSprite, UiLayout, Skeleton, SortedActions, DeferredRenderer, DeferredPipeline, MultipassRenderer, MultipassPipeline, PostprocessRack, PostprocessRackPass, PostprocessRackRawEffectPass, Shape, PolygonShape, CircleShape, RectangleShape, System, EntitySystem, Component, Entity, RenderSystem, RenderTargetWrapper, Command, Pipeline, RenderFullscreenCommand, InputSystem, StorageSystem, AssetSystem, Asset, AudioSystem, AssemblySystem, Events, glMatrix, mat2, mat2d, mat3, mat4, quat, vec2, vec3, vec4, box2d }; export { AssetLoaders, Components, Systems, Utils, JSONAsset, TextAsset, BinaryAsset, ImageAsset, ShaderAsset, SceneAsset, AtlasAsset, FontAsset, SoundAsset, MusicAsset, ParticleSystemAsset, PackAsset, SkeletonAsset, SVGAsset, SetAsset, AssemblyAsset, PostprocessRackEffectAsset, Camera, PostprocessPass, Camera2D, CameraDirector2D, InputHandler, GestureListener, Particles, PhysicsBody, PhysicsWorld, PrefabInstance, RectangleRenderer, Script, Sprite, AtlasSprite, TextRenderer, VerticesRenderer, UiSprite, UiLayout, Skeleton, SortedActions, DeferredRenderer, DeferredPipeline, MultipassRenderer, MultipassPipeline, PostprocessRack, PostprocessRackPass, PostprocessRackRawEffectPass, Shape, PolygonShape, CircleShape, RectangleShape, System, EntitySystem, Component, Entity, RenderSystem, RenderTargetWrapper, Command, Pipeline, RenderFullscreenCommand, InputSystem, StorageSystem, AssetSystem, Asset, AudioSystem, AssemblySystem, Events, glMatrix, mat2, mat2d, mat3, mat4, quat, vec2, vec3, vec4, box2d }; export class EventsController { get transform() { return this._transform; } set transform(value) { if (typeof value !== &apos;boolean&apos;) { throw new Error(&apos;`value` is not type of Boolean!&apos;); } this._transform = value; } get update() { return this._update; } set update(value) { if (typeof value !== &apos;boolean&apos;) { throw new Error(&apos;`value` is not type of Boolean!&apos;); } this._update = value; } get view() { return this._view; } set view(value) { if (typeof value !== &apos;boolean&apos;) { throw new Error(&apos;`value` is not type of Boolean!&apos;); } this._view = value; } get gamepads() { return this._gamepads; } set gamepads(value) { if (typeof value !== &apos;boolean&apos;) { throw new Error(&apos;`value` is not type of Boolean!&apos;); } this._gamepads = value; } get all() { return this._transform &amp;&amp; this._update &amp;&amp; this._view &amp;&amp; this._gamepads; } set all(value) { if (typeof value !== &apos;boolean&apos;) { throw new Error(&apos;`value` is not type of Boolean!&apos;); } this._transform = this._update = this._view = this._gamepads = value; } get none() { return !this._transform &amp;&amp; !this._update &amp;&amp; !this._view &amp;&amp; !this._gamepads; } set none(value) { if (typeof value !== &apos;boolean&apos;) { throw new Error(&apos;`value` is not type of Boolean!&apos;); } this._transform = this._update = this._view = this._gamepads = !value; } get accepted() { const result = []; if (!!this._transform) { result.push(&apos;transform&apos;); } if (!!this._update) { result.push(&apos;update&apos;); } if (!!this._view) { result.push(&apos;view&apos;); } if (!!this._gamepads) { result.push(&apos;gamepads&apos;); } return result; } set accepted(value) { if (!Array.isArray(value)) { throw new Error(&apos;`value` is not type of Array!&apos;); } this._transform = value.indexOf(&apos;transform&apos;) &gt;= 0; this._update = value.indexOf(&apos;update&apos;) &gt;= 0; this._view = value.indexOf(&apos;view&apos;) &gt;= 0; this._gamepads = value.indexOf(&apos;gamepads&apos;) &gt;= 0; } constructor() { this._transform = true; this._update = true; this._view = true; this._gamepads = true; } } /** * Function used to initialize Oxygen Core engine without any effort. * * @param {*} config - engine configuration options. * @return {EventsController} - instance used to dynamically control events processing. * * @example * lazyInitialization({ * entities: { triggerEvents: true }, * asset: { pathPrefix: &apos;assets/&apos; }, * render: { screen: &apos;screen-0&apos; }, * input: { triggerEvents: true }, * store: { id: &apos;my-game-id&apos; }, * events: { transform: true, update: true, view: true, gamepads: true } * }); */ export function lazyInitialization({ entity, asset, render, input, store, events }) { const entities = System.register(&apos;EntitySystem&apos;, new EntitySystem( !!entity ? entity.triggerEvents : true )); const assets = System.register(&apos;AssetSystem&apos;, new AssetSystem( !!asset ? asset.pathPrefix : null, !!asset ? asset.fetchOptions : null, !!asset ? asset.fetchEngine : null )); const renderer = System.register(&apos;RenderSystem&apos;, new RenderSystem( !!render ? render.screen : null, !!render ? render.optimize : true, !!render ? render.extensions : null, !!render ? render.version : 1, !!render ? render.manualMode : false )); const inputs = System.register(&apos;InputSystem&apos;, new InputSystem( renderer.canvas, !!input ? input.triggerEvents : true )); const storage = System.register(&apos;StorageSystem&apos;, new StorageSystem( !!store ? store.id : &apos;oxygen-data&apos; )); const audio = System.register(&apos;AudioSystem&apos;, new AudioSystem()); const assembly = System.register(&apos;AssemblySystem&apos;, new AssemblySystem()); const controller = new EventsController(); controller.transform = !!events ? !!events.transform : true; controller.update = !!events ? !!events.update : true; controller.view = !!events ? !!events.view : true; controller.gamepads = !!events ? !!events.gamepads : true; entities.registerComponent(&apos;Camera2D&apos;, Camera2D.factory); entities.registerComponent(&apos;CameraDirector2D&apos;, CameraDirector2D.factory); entities.registerComponent(&apos;InputHandler&apos;, InputHandler.factory); entities.registerComponent(&apos;GestureListener&apos;, GestureListener.factory); entities.registerComponent(&apos;Particles&apos;, Particles.factory); entities.registerComponent(&apos;PhysicsBody&apos;, PhysicsBody.factory); entities.registerComponent(&apos;PhysicsWorld&apos;, PhysicsWorld.factory); entities.registerComponent(&apos;PrefabInstance&apos;, PrefabInstance.factory); entities.registerComponent(&apos;RectangleRenderer&apos;, RectangleRenderer.factory); entities.registerComponent(&apos;Script&apos;, Script.factory); entities.registerComponent(&apos;Sprite&apos;, Sprite.factory); entities.registerComponent(&apos;AtlasSprite&apos;, AtlasSprite.factory); entities.registerComponent(&apos;TextRenderer&apos;, TextRenderer.factory); entities.registerComponent(&apos;VerticesRenderer&apos;, VerticesRenderer.factory); entities.registerComponent(&apos;UiSprite&apos;, UiSprite.factory); entities.registerComponent(&apos;UiLayout&apos;, UiLayout.factory); entities.registerComponent(&apos;Skeleton&apos;, Skeleton.factory); entities.registerComponent(&apos;SortedActions&apos;, SortedActions.factory); entities.registerComponent(&apos;DeferredRenderer&apos;, DeferredRenderer.factory); entities.registerComponent(&apos;MultipassRenderer&apos;, MultipassRenderer.factory); entities.registerComponent(&apos;PostprocessRack&apos;, PostprocessRack.factory); entities.registerComponent(&apos;PolygonShape&apos;, PolygonShape.factory); entities.registerComponent(&apos;CircleShape&apos;, CircleShape.factory); entities.registerComponent(&apos;RectangleShape&apos;, RectangleShape.factory); assets.registerProtocol(&apos;json&apos;, JSONAsset.factory); assets.registerProtocol(&apos;text&apos;, TextAsset.factory); assets.registerProtocol(&apos;binary&apos;, BinaryAsset.factory); assets.registerProtocol(&apos;image&apos;, ImageAsset.factory); assets.registerProtocol(&apos;shader&apos;, ShaderAsset.factory); assets.registerProtocol(&apos;scene&apos;, SceneAsset.factory); assets.registerProtocol(&apos;atlas&apos;, AtlasAsset.factory); assets.registerProtocol(&apos;font&apos;, FontAsset.factory); assets.registerProtocol(&apos;sound&apos;, SoundAsset.factory); assets.registerProtocol(&apos;music&apos;, MusicAsset.factory); assets.registerProtocol(&apos;particles&apos;, ParticleSystemAsset.factory); assets.registerProtocol(&apos;pack&apos;, PackAsset.factory); assets.registerProtocol(&apos;skeleton&apos;, SkeletonAsset.factory); assets.registerProtocol(&apos;svg&apos;, SVGAsset.factory); assets.registerProtocol(&apos;set&apos;, SetAsset.factory); assets.registerProtocol(&apos;wasm&apos;, AssemblyAsset.factory); assets.registerProtocol(&apos;postprocess&apos;, PostprocessRackEffectAsset.factory); assets.events.on(&apos;load&apos;, asset =&gt; { const { protocol, filename, data } = asset; if (protocol === &apos;image&apos; || protocol === &apos;svg&apos;) { renderer.registerTexture( filename, data, !!asset.options &amp;&amp; !!asset.options.mipmap ); } else if (protocol === &apos;shader&apos;) { renderer.registerShader( filename, data.vertex, data.fragment, data.layout, data.uniforms, data.samplers, data.blending, data.extensions ); } else if (protocol === &apos;sound&apos;) { audio.registerSound(filename, data); } else if (protocol === &apos;music&apos;) { audio.registerMusic(filename, data); } else if (protocol === &apos;particles&apos;) { Particles.registerProcessor(filename, data); } else if (protocol === &apos;wasm&apos;) { assembly.registerAssembly( filename, data, !!asset.options &amp;&amp; !!asset.options.imports ? (assembly.getImports(asset.options.imports) || {}) : null ); } }); assets.events.on(&apos;unload&apos;, asset =&gt; { const { protocol, filename } = asset; if (protocol === &apos;image&apos; || protocol === &apos;svg&apos;) { renderer.unregisterTexture(filename); } else if (protocol === &apos;shader&apos;) { renderer.unregisterShader(filename); } else if (protocol === &apos;sound&apos;) { audio.unregisterSound(filename); } else if (protocol === &apos;music&apos;) { audio.unregisterMusic(filename); } else if (protocol === &apos;particles&apos;) { Particles.unregisterProcessor(filename); } else if (protocol === &apos;wasm&apos;) { assembly.unregisterAssembly(filename); } }); renderer.events.on(&apos;render&apos;, (context, renderer, deltaTime) =&gt; { !!controller.transform &amp;&amp; entities.updateTransforms(); !!controller.update &amp;&amp; entities.performAction(&apos;update&apos;, deltaTime); !!controller.view &amp;&amp; entities.performAction(&apos;view&apos;, context, renderer, deltaTime); !!controller.gamepads &amp;&amp; inputs.scanForGamepads(); }); System.events.on(&apos;change-scene&apos;, path =&gt; { const asset = assets.get(path); if (!asset) { throw new Error(`There is no asset loaded: ${path}`); } if (!(asset instanceof SceneAsset)) { throw new Error(`Asset is not type of SceneAsset: ${path}`); } entities.root = entities.buildEntity(asset.data); }); System.events.on(&apos;clear-scene&apos;, () =&gt; { entities.root = null; }); return controller; } </code></pre> </div> <footer class="footer"> Generated by <a href="https://esdoc.org">ESDoc<span data-ice="esdocVersion">(1.1.0)</span><img src="./image/esdoc-logo-mini-black.png"></a> </footer> <script src="script/search_index.js"></script> <script src="script/search.js"></script> <script src="script/pretty-print.js"></script> <script src="script/inherited-summary.js"></script> <script src="script/test-summary.js"></script> <script src="script/inner-link.js"></script> <script src="script/patch-for-local.js"></script> </body> </html>