@aidinabedi/playcanvas
Version:
PlayCanvas WebGL game engine
893 lines (816 loc) • 46.2 kB
HTML
<html lang="en">
<head>
<title>pc.AssetRegistry | PlayCanvas API Reference</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="icon" type="image/png" href="images/playcanvas-favicon.png">
<link href="styles/styles.css" rel="stylesheet">
<link href="styles/playcanvas-theme.css" rel="stylesheet">
<script src="scripts/interface.js"></script>
<script src="scripts/highlight.min.js"></script>
<script>hljs.initHighlightingOnLoad();</script>
</head>
<body>
<header>
<nav class="header-width">
<a href="/" class="header-title"><img src="images/playcanvas-manual.png"></a>
<ul class="header-menu">
<li class="user-manual"><a href="https://developer.playcanvas.com/en/user-manual/">User Manual</a></li>
<li class="tutorials"><a href="https://developer.playcanvas.com/en/tutorials">Tutorials</a></li>
<li class="forum"><a href="https://forum.playcanvas.com/" target="_blank">Forum</a></li>
<li class="api active"><a href="/api/">API Reference</a></li>
</ul>
</nav>
<div class="header-content header-page header-width">
<h1><span class="font-icon"></span>API Reference</h1>
<input id="search" class="search" type="text" placeholder="Search"></input>
</div>
</header>
<div class="container content-width">
<nav class="sidebar">
<div class="sidebarFilter">
<input id="filter-input" type="text" placeholder="Filter">
</div>
<ul>
<li id="nav-pc"><a href="pc.html">pc</a></li>
<li id="nav-pc.callbacks"><a href="pc.callbacks.html">pc.callbacks</a></li>
<li id="nav-pc.guid"><a href="pc.guid.html">pc.guid</a></li>
<li id="nav-pc.math"><a href="pc.math.html">pc.math</a></li>
<li id="nav-pc.path"><a href="pc.path.html">pc.path</a></li>
<li id="nav-pc.platform"><a href="pc.platform.html">pc.platform</a></li>
<li id="nav-pc.script"><a href="pc.script.html">pc.script</a></li>
<li id="nav-pc.string"><a href="pc.string.html">pc.string</a></li>
<li id="nav-pc.Animation"><a href="pc.Animation.html">Animation</a></li>
<li id="nav-pc.AnimationComponent"><a href="pc.AnimationComponent.html">AnimationComponent</a></li>
<li id="nav-pc.AnimationComponentSystem"><a href="pc.AnimationComponentSystem.html">AnimationComponentSystem</a></li>
<li id="nav-pc.AnimationHandler"><a href="pc.AnimationHandler.html">AnimationHandler</a></li>
<li id="nav-pc.AnimCache"><a href="pc.AnimCache.html">AnimCache</a></li>
<li id="nav-pc.AnimClip"><a href="pc.AnimClip.html">AnimClip</a></li>
<li id="nav-pc.AnimController"><a href="pc.AnimController.html">AnimController</a></li>
<li id="nav-pc.AnimCurve"><a href="pc.AnimCurve.html">AnimCurve</a></li>
<li id="nav-pc.AnimData"><a href="pc.AnimData.html">AnimData</a></li>
<li id="nav-pc.AnimSnapshot"><a href="pc.AnimSnapshot.html">AnimSnapshot</a></li>
<li id="nav-pc.AnimTarget"><a href="pc.AnimTarget.html">AnimTarget</a></li>
<li id="nav-pc.AnimTrack"><a href="pc.AnimTrack.html">AnimTrack</a></li>
<li id="nav-pc.Application"><a href="pc.Application.html">Application</a></li>
<li id="nav-pc.Asset"><a href="pc.Asset.html">Asset</a></li>
<li id="nav-pc.AssetReference"><a href="pc.AssetReference.html">AssetReference</a></li>
<li id="nav-pc.AssetRegistry"><a href="pc.AssetRegistry.html">AssetRegistry</a></li>
<li id="nav-pc.AudioHandler"><a href="pc.AudioHandler.html">AudioHandler</a></li>
<li id="nav-pc.AudioListenerComponent"><a href="pc.AudioListenerComponent.html">AudioListenerComponent</a></li>
<li id="nav-pc.AudioListenerComponentSystem"><a href="pc.AudioListenerComponentSystem.html">AudioListenerComponentSystem</a></li>
<li id="nav-pc.BasicMaterial"><a href="pc.BasicMaterial.html">BasicMaterial</a></li>
<li id="nav-pc.Batch"><a href="pc.Batch.html">Batch</a></li>
<li id="nav-pc.BatchGroup"><a href="pc.BatchGroup.html">BatchGroup</a></li>
<li id="nav-pc.BatchManager"><a href="pc.BatchManager.html">BatchManager</a></li>
<li id="nav-pc.BoundingBox"><a href="pc.BoundingBox.html">BoundingBox</a></li>
<li id="nav-pc.BoundingSphere"><a href="pc.BoundingSphere.html">BoundingSphere</a></li>
<li id="nav-pc.ButtonComponent"><a href="pc.ButtonComponent.html">ButtonComponent</a></li>
<li id="nav-pc.ButtonComponentSystem"><a href="pc.ButtonComponentSystem.html">ButtonComponentSystem</a></li>
<li id="nav-pc.CameraComponent"><a href="pc.CameraComponent.html">CameraComponent</a></li>
<li id="nav-pc.CameraComponentSystem"><a href="pc.CameraComponentSystem.html">CameraComponentSystem</a></li>
<li id="nav-pc.CollisionComponent"><a href="pc.CollisionComponent.html">CollisionComponent</a></li>
<li id="nav-pc.CollisionComponentSystem"><a href="pc.CollisionComponentSystem.html">CollisionComponentSystem</a></li>
<li id="nav-pc.Color"><a href="pc.Color.html">Color</a></li>
<li id="nav-pc.Component"><a href="pc.Component.html">Component</a></li>
<li id="nav-pc.ComponentSystem"><a href="pc.ComponentSystem.html">ComponentSystem</a></li>
<li id="nav-pc.ComponentSystemRegistry"><a href="pc.ComponentSystemRegistry.html">ComponentSystemRegistry</a></li>
<li id="nav-pc.ContactPoint"><a href="pc.ContactPoint.html">ContactPoint</a></li>
<li id="nav-pc.ContactResult"><a href="pc.ContactResult.html">ContactResult</a></li>
<li id="nav-pc.ContainerHandler"><a href="pc.ContainerHandler.html">ContainerHandler</a></li>
<li id="nav-pc.ContainerResource"><a href="pc.ContainerResource.html">ContainerResource</a></li>
<li id="nav-pc.Controller"><a href="pc.Controller.html">Controller</a></li>
<li id="nav-pc.CubemapHandler"><a href="pc.CubemapHandler.html">CubemapHandler</a></li>
<li id="nav-pc.Curve"><a href="pc.Curve.html">Curve</a></li>
<li id="nav-pc.CurveSet"><a href="pc.CurveSet.html">CurveSet</a></li>
<li id="nav-pc.ElementComponent"><a href="pc.ElementComponent.html">ElementComponent</a></li>
<li id="nav-pc.ElementComponentSystem"><a href="pc.ElementComponentSystem.html">ElementComponentSystem</a></li>
<li id="nav-pc.ElementDragHelper"><a href="pc.ElementDragHelper.html">ElementDragHelper</a></li>
<li id="nav-pc.ElementInput"><a href="pc.ElementInput.html">ElementInput</a></li>
<li id="nav-pc.ElementInputEvent"><a href="pc.ElementInputEvent.html">ElementInputEvent</a></li>
<li id="nav-pc.ElementMouseEvent"><a href="pc.ElementMouseEvent.html">ElementMouseEvent</a></li>
<li id="nav-pc.ElementTouchEvent"><a href="pc.ElementTouchEvent.html">ElementTouchEvent</a></li>
<li id="nav-pc.Entity"><a href="pc.Entity.html">Entity</a></li>
<li id="nav-pc.EventHandler"><a href="pc.EventHandler.html">EventHandler</a></li>
<li id="nav-pc.Font"><a href="pc.Font.html">Font</a></li>
<li id="nav-pc.FontHandler"><a href="pc.FontHandler.html">FontHandler</a></li>
<li id="nav-pc.ForwardRenderer"><a href="pc.ForwardRenderer.html">ForwardRenderer</a></li>
<li id="nav-pc.Frustum"><a href="pc.Frustum.html">Frustum</a></li>
<li id="nav-pc.GamePads"><a href="pc.GamePads.html">GamePads</a></li>
<li id="nav-pc.GraphicsDevice"><a href="pc.GraphicsDevice.html">GraphicsDevice</a></li>
<li id="nav-pc.GraphNode"><a href="pc.GraphNode.html">GraphNode</a></li>
<li id="nav-pc.Http"><a href="pc.Http.html">Http</a></li>
<li id="nav-pc.I18n"><a href="pc.I18n.html">I18n</a></li>
<li id="nav-pc.IndexBuffer"><a href="pc.IndexBuffer.html">IndexBuffer</a></li>
<li id="nav-pc.Keyboard"><a href="pc.Keyboard.html">Keyboard</a></li>
<li id="nav-pc.KeyboardEvent"><a href="pc.KeyboardEvent.html">KeyboardEvent</a></li>
<li id="nav-pc.Layer"><a href="pc.Layer.html">Layer</a></li>
<li id="nav-pc.LayerComposition"><a href="pc.LayerComposition.html">LayerComposition</a></li>
<li id="nav-pc.LayoutChildComponent"><a href="pc.LayoutChildComponent.html">LayoutChildComponent</a></li>
<li id="nav-pc.LayoutChildComponentSystem"><a href="pc.LayoutChildComponentSystem.html">LayoutChildComponentSystem</a></li>
<li id="nav-pc.LayoutGroupComponent"><a href="pc.LayoutGroupComponent.html">LayoutGroupComponent</a></li>
<li id="nav-pc.LayoutGroupComponentSystem"><a href="pc.LayoutGroupComponentSystem.html">LayoutGroupComponentSystem</a></li>
<li id="nav-pc.LightComponent"><a href="pc.LightComponent.html">LightComponent</a></li>
<li id="nav-pc.LightComponentSystem"><a href="pc.LightComponentSystem.html">LightComponentSystem</a></li>
<li id="nav-pc.Lightmapper"><a href="pc.Lightmapper.html">Lightmapper</a></li>
<li id="nav-pc.Mat3"><a href="pc.Mat3.html">Mat3</a></li>
<li id="nav-pc.Mat4"><a href="pc.Mat4.html">Mat4</a></li>
<li id="nav-pc.Material"><a href="pc.Material.html">Material</a></li>
<li id="nav-pc.MaterialHandler"><a href="pc.MaterialHandler.html">MaterialHandler</a></li>
<li id="nav-pc.Mesh"><a href="pc.Mesh.html">Mesh</a></li>
<li id="nav-pc.MeshInstance"><a href="pc.MeshInstance.html">MeshInstance</a></li>
<li id="nav-pc.Model"><a href="pc.Model.html">Model</a></li>
<li id="nav-pc.ModelComponent"><a href="pc.ModelComponent.html">ModelComponent</a></li>
<li id="nav-pc.ModelComponentSystem"><a href="pc.ModelComponentSystem.html">ModelComponentSystem</a></li>
<li id="nav-pc.ModelHandler"><a href="pc.ModelHandler.html">ModelHandler</a></li>
<li id="nav-pc.Morph"><a href="pc.Morph.html">Morph</a></li>
<li id="nav-pc.MorphInstance"><a href="pc.MorphInstance.html">MorphInstance</a></li>
<li id="nav-pc.MorphTarget"><a href="pc.MorphTarget.html">MorphTarget</a></li>
<li id="nav-pc.Mouse"><a href="pc.Mouse.html">Mouse</a></li>
<li id="nav-pc.MouseEvent"><a href="pc.MouseEvent.html">MouseEvent</a></li>
<li id="nav-pc.Node"><a href="pc.Node.html">Node</a></li>
<li id="nav-pc.OrientedBox"><a href="pc.OrientedBox.html">OrientedBox</a></li>
<li id="nav-pc.ParticleSystemComponent"><a href="pc.ParticleSystemComponent.html">ParticleSystemComponent</a></li>
<li id="nav-pc.ParticleSystemComponentSystem"><a href="pc.ParticleSystemComponentSystem.html">ParticleSystemComponentSystem</a></li>
<li id="nav-pc.Picker"><a href="pc.Picker.html">Picker</a></li>
<li id="nav-pc.PostEffect"><a href="pc.PostEffect.html">PostEffect</a></li>
<li id="nav-pc.PostEffectQueue"><a href="pc.PostEffectQueue.html">PostEffectQueue</a></li>
<li id="nav-pc.Quat"><a href="pc.Quat.html">Quat</a></li>
<li id="nav-pc.Ray"><a href="pc.Ray.html">Ray</a></li>
<li id="nav-pc.RaycastResult"><a href="pc.RaycastResult.html">RaycastResult</a></li>
<li id="nav-pc.RenderTarget"><a href="pc.RenderTarget.html">RenderTarget</a></li>
<li id="nav-pc.ResourceHandler"><a href="pc.ResourceHandler.html">ResourceHandler</a></li>
<li id="nav-pc.ResourceLoader"><a href="pc.ResourceLoader.html">ResourceLoader</a></li>
<li id="nav-pc.RigidBodyComponent"><a href="pc.RigidBodyComponent.html">RigidBodyComponent</a></li>
<li id="nav-pc.RigidBodyComponentSystem"><a href="pc.RigidBodyComponentSystem.html">RigidBodyComponentSystem</a></li>
<li id="nav-pc.Scene"><a href="pc.Scene.html">Scene</a></li>
<li id="nav-pc.SceneHandler"><a href="pc.SceneHandler.html">SceneHandler</a></li>
<li id="nav-pc.ScopeId"><a href="pc.ScopeId.html">ScopeId</a></li>
<li id="nav-pc.ScopeSpace"><a href="pc.ScopeSpace.html">ScopeSpace</a></li>
<li id="nav-pc.ScreenComponent"><a href="pc.ScreenComponent.html">ScreenComponent</a></li>
<li id="nav-pc.ScreenComponentSystem"><a href="pc.ScreenComponentSystem.html">ScreenComponentSystem</a></li>
<li id="nav-pc.ScriptAttributes"><a href="pc.ScriptAttributes.html">ScriptAttributes</a></li>
<li id="nav-pc.ScriptComponent"><a href="pc.ScriptComponent.html">ScriptComponent</a></li>
<li id="nav-pc.ScriptComponentSystem"><a href="pc.ScriptComponentSystem.html">ScriptComponentSystem</a></li>
<li id="nav-pc.ScriptHandler"><a href="pc.ScriptHandler.html">ScriptHandler</a></li>
<li id="nav-pc.ScriptRegistry"><a href="pc.ScriptRegistry.html">ScriptRegistry</a></li>
<li id="nav-pc.ScriptType"><a href="pc.ScriptType.html">ScriptType</a></li>
<li id="nav-pc.ScrollbarComponent"><a href="pc.ScrollbarComponent.html">ScrollbarComponent</a></li>
<li id="nav-pc.ScrollbarComponentSystem"><a href="pc.ScrollbarComponentSystem.html">ScrollbarComponentSystem</a></li>
<li id="nav-pc.ScrollViewComponent"><a href="pc.ScrollViewComponent.html">ScrollViewComponent</a></li>
<li id="nav-pc.ScrollViewComponentSystem"><a href="pc.ScrollViewComponentSystem.html">ScrollViewComponentSystem</a></li>
<li id="nav-pc.Shader"><a href="pc.Shader.html">Shader</a></li>
<li id="nav-pc.SingleContactResult"><a href="pc.SingleContactResult.html">SingleContactResult</a></li>
<li id="nav-pc.Skeleton"><a href="pc.Skeleton.html">Skeleton</a></li>
<li id="nav-pc.Skin"><a href="pc.Skin.html">Skin</a></li>
<li id="nav-pc.SkinInstance"><a href="pc.SkinInstance.html">SkinInstance</a></li>
<li id="nav-pc.Sound"><a href="pc.Sound.html">Sound</a></li>
<li id="nav-pc.SoundComponent"><a href="pc.SoundComponent.html">SoundComponent</a></li>
<li id="nav-pc.SoundComponentSystem"><a href="pc.SoundComponentSystem.html">SoundComponentSystem</a></li>
<li id="nav-pc.SoundInstance"><a href="pc.SoundInstance.html">SoundInstance</a></li>
<li id="nav-pc.SoundInstance3d"><a href="pc.SoundInstance3d.html">SoundInstance3d</a></li>
<li id="nav-pc.SoundManager"><a href="pc.SoundManager.html">SoundManager</a></li>
<li id="nav-pc.SoundSlot"><a href="pc.SoundSlot.html">SoundSlot</a></li>
<li id="nav-pc.Sprite"><a href="pc.Sprite.html">Sprite</a></li>
<li id="nav-pc.SpriteAnimationClip"><a href="pc.SpriteAnimationClip.html">SpriteAnimationClip</a></li>
<li id="nav-pc.SpriteComponent"><a href="pc.SpriteComponent.html">SpriteComponent</a></li>
<li id="nav-pc.SpriteComponentSystem"><a href="pc.SpriteComponentSystem.html">SpriteComponentSystem</a></li>
<li id="nav-pc.SpriteHandler"><a href="pc.SpriteHandler.html">SpriteHandler</a></li>
<li id="nav-pc.StandardMaterial"><a href="pc.StandardMaterial.html">StandardMaterial</a></li>
<li id="nav-pc.StencilParameters"><a href="pc.StencilParameters.html">StencilParameters</a></li>
<li id="nav-pc.Tags"><a href="pc.Tags.html">Tags</a></li>
<li id="nav-pc.Texture"><a href="pc.Texture.html">Texture</a></li>
<li id="nav-pc.TextureAtlas"><a href="pc.TextureAtlas.html">TextureAtlas</a></li>
<li id="nav-pc.TextureAtlasHandler"><a href="pc.TextureAtlasHandler.html">TextureAtlasHandler</a></li>
<li id="nav-pc.TextureHandler"><a href="pc.TextureHandler.html">TextureHandler</a></li>
<li id="nav-pc.Touch"><a href="pc.Touch.html">Touch</a></li>
<li id="nav-pc.TouchDevice"><a href="pc.TouchDevice.html">TouchDevice</a></li>
<li id="nav-pc.TouchEvent"><a href="pc.TouchEvent.html">TouchEvent</a></li>
<li id="nav-pc.TransformFeedback"><a href="pc.TransformFeedback.html">TransformFeedback</a></li>
<li id="nav-pc.Vec2"><a href="pc.Vec2.html">Vec2</a></li>
<li id="nav-pc.Vec3"><a href="pc.Vec3.html">Vec3</a></li>
<li id="nav-pc.Vec4"><a href="pc.Vec4.html">Vec4</a></li>
<li id="nav-pc.VertexAttributeDescription"><a href="pc.VertexAttributeDescription.html">VertexAttributeDescription</a></li>
<li id="nav-pc.VertexAttributeElement"><a href="pc.VertexAttributeElement.html">VertexAttributeElement</a></li>
<li id="nav-pc.VertexBuffer"><a href="pc.VertexBuffer.html">VertexBuffer</a></li>
<li id="nav-pc.VertexFormat"><a href="pc.VertexFormat.html">VertexFormat</a></li>
<li id="nav-pc.VertexIterator"><a href="pc.VertexIterator.html">VertexIterator</a></li>
<li id="nav-pc.VertexIteratorAccessor"><a href="pc.VertexIteratorAccessor.html">VertexIteratorAccessor</a></li>
<li id="nav-pc.XrInput"><a href="pc.XrInput.html">XrInput</a></li>
<li id="nav-pc.XrInputSource"><a href="pc.XrInputSource.html">XrInputSource</a></li>
<li id="nav-pc.XrManager"><a href="pc.XrManager.html">XrManager</a></li>
</ul>
</nav>
<div class='sidebarToggle'><span></span>Class List</div>
<main class="cls">
<h1>pc.AssetRegistry</h1>
<p class="extends">Extends: <a href="pc.EventHandler.html">pc.EventHandler</a></p>
<p><p>Container for all assets that are available to this application.</p></p>
<!-- summary -->
<h1>Summary</h1>
<!--type definitions-->
<!--static properties-->
<!--static methods-->
<!--properties-->
<h3>Properties</h3>
<table class="properties">
<tr>
<td><a href="#prefix">prefix</a></td><td><p>A URL prefix that will be added to all asset loading requests.</td>
</tr>
</table>
<!--methods-->
<h3>Methods</h3>
<table class="properties">
<tr>
<td><a href="#add">add</a></td><td><p>Add an asset to the registry.</td>
</tr>
<tr>
<td><a href="#filter">filter</a></td><td><p>Return all Assets that satisfy filter callback.</td>
</tr>
<tr>
<td><a href="#find">find</a></td><td><p>Return the first Asset with the specified name and type found in the registry.</td>
</tr>
<tr>
<td><a href="#findAll">findAll</a></td><td><p>Return all Assets with the specified name and type found in the registry.</td>
</tr>
<tr>
<td><a href="#findByTag">findByTag</a></td><td><p>Return all Assets that satisfy the search query.</td>
</tr>
<tr>
<td><a href="#get">get</a></td><td><p>Retrieve an asset from the registry by its id field.</td>
</tr>
<tr>
<td><a href="#getByUrl">getByUrl</a></td><td><p>Retrieve an asset from the registry by it's file's URL field.</td>
</tr>
<tr>
<td><a href="#list">list</a></td><td><p>Create a filtered list of assets from the registry.</td>
</tr>
<tr>
<td><a href="#load">load</a></td><td><p>Load the asset's file from a remote source.</td>
</tr>
<tr>
<td><a href="#loadFromUrl">loadFromUrl</a></td><td><p>Use this to load and create an asset if you don't have assets created.</td>
</tr>
<tr>
<td><a href="#remove">remove</a></td><td><p>Remove an asset from the registry.</td>
</tr>
</table>
<!--events-->
<h3>Events</h3>
<table class="properties">
<tr>
<td><a href="#event:add:[id]">add:[id]</a></td><td><p>Fired when an asset is added to the registry.</td>
</tr>
<tr>
<td><a href="#event:add:url:[url]">add:url:[url]</a></td><td><p>Fired when an asset is added to the registry.</td>
</tr>
<tr>
<td><a href="#event:error:[id]">error:[id]</a></td><td><p>Fired when an error occurs during asset loading.</td>
</tr>
<tr>
<td><a href="#event:add">add</a></td><td><p>Fired when an asset is added to the registry.</td>
</tr>
<tr>
<td><a href="#event:error">error</a></td><td><p>Fired when an error occurs during asset loading.</td>
</tr>
<tr>
<td><a href="#event:load">load</a></td><td><p>Fired when an asset completes loading.</td>
</tr>
<tr>
<td><a href="#event:remove">remove</a></td><td><p>Fired when an asset is removed from the registry.</td>
</tr>
<tr>
<td><a href="#event:load:[id]">load:[id]</a></td><td><p>Fired when an asset completes loading.</td>
</tr>
<tr>
<td><a href="#event:load:url:[url]">load:url:[url]</a></td><td><p>Fired when an asset completes loading.</td>
</tr>
<tr>
<td><a href="#event:remove:[id]">remove:[id]</a></td><td><p>Fired when an asset is removed from the registry.</td>
</tr>
<tr>
<td><a href="#event:remove:url:[url]">remove:url:[url]</a></td><td><p>Fired when an asset is removed from the registry.</td>
</tr>
</table>
<h2>Inherited</h2>
<!--inherited methods-->
<!--inherited properties-->
<!--inherited static methods-->
<h3>Methods</h3>
<table class="properties">
<tr>
<td><a href="#fire">fire</a></td><td><p>Fire an event, all additional arguments are passed on to the event listener.</td>
</tr>
<tr>
<td><a href="#hasEvent">hasEvent</a></td><td><p>Test if there are any handlers bound to an event name.</td>
</tr>
<tr>
<td><a href="#off">off</a></td><td><p>Detach an event handler from an event.</td>
</tr>
<tr>
<td><a href="#on">on</a></td><td><p>Attach an event handler to an event.</td>
</tr>
<tr>
<td><a href="#once">once</a></td><td><p>Attach an event handler to an event.</td>
</tr>
</table>
<!--inherited events-->
<h1>Details</h1>
<!--type definitions-->
<!--static members-->
<!--static methods-->
<h2>Constructor</h2>
<!-- Constructor -->
<div id="AssetRegistry">
<h3 class="methodname">AssetRegistry(loader) <a class="font-icon" href="#AssetRegistry"></a></h3>
<p><p>Create an instance of an AssetRegistry.
Note: PlayCanvas scripts are provided with an AssetRegistry instance as 'app.assets'.</p></p>
<h4>Parameters</h4>
<table>
<tr>
<td>loader</td><td><a href="pc.ResourceLoader.html">pc.ResourceLoader</a></td><td><p>The ResourceLoader used to load the asset files.</p></td>
</tr>
</table>
</div>
<!--properties-->
<h2>Properties</h2>
<div id="prefix">
<span class="property"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></span><span class="property">prefix <a class="font-icon" href="#prefix"></a></span>
<p><p>A URL prefix that will be added to all asset loading requests.</p></p>
</div>
<!--methods-->
<h2>Methods</h2>
<div id="add">
<h3 class="methodname">add(asset) <a class="font-icon" href="#add"></a></h3>
<p><p>Add an asset to the registry.</p></p>
<pre><code class="javascript">var asset = new pc.Asset("My Asset", "texture", {
url: "../path/to/image.jpg"
});
app.assets.add(asset);</code></pre>
<h4>Parameters</h4>
<table>
<tr>
<td>asset</td><td><a href="pc.Asset.html">pc.Asset</a></td><td><p>The asset to add.</p></td>
</tr>
</table>
</div>
<div id="filter">
<h3 class="methodname">filter(callback) <a class="font-icon" href="#filter"></a></h3>
<p><p>Return all Assets that satisfy filter callback.</p></p>
<pre><code class="javascript">var assets = app.assets.filter(function (asset) {
return asset.name.indexOf('monster') !== -1;
});
console.log("Found " + assets.length + " assets, where names contains 'monster'");</code></pre>
<h4>Parameters</h4>
<table>
<tr>
<td>callback</td><td><a href="pc.callbacks.html#FilterAsset">pc.callbacks.FilterAsset</a></td><td><p>The callback function that is used to filter assets, return <code>true</code> to include asset to result list.</p></td>
</tr>
</table>
<h4>Returns</h4>
<a href="pc.Asset.html">pc.Asset[]</a> <p>A list of all Assets found.</p>
</div>
<div id="find">
<h3 class="methodname">find(name, [type]) <a class="font-icon" href="#find"></a></h3>
<p><p>Return the first Asset with the specified name and type found in the registry.</p></p>
<pre><code class="javascript">var asset = app.assets.find("myTextureAsset", "texture");</code></pre>
<h4>Parameters</h4>
<table>
<tr>
<td>name</td><td><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></td><td><p>The name of the Asset to find.</p></td>
</tr>
<tr>
<td>type</td><td><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></td><td><p>The type of the Asset to find.</p></td>
</tr>
</table>
<h4>Returns</h4>
<a href="pc.Asset.html">pc.Asset</a> <p>A single Asset or null if no Asset is found.</p>
</div>
<div id="findAll">
<h3 class="methodname">findAll(name, [type]) <a class="font-icon" href="#findAll"></a></h3>
<p><p>Return all Assets with the specified name and type found in the registry.</p></p>
<pre><code class="javascript">var assets = app.assets.findAll("myTextureAsset", "texture");
console.log("Found " + assets.length + " assets called " + name);</code></pre>
<h4>Parameters</h4>
<table>
<tr>
<td>name</td><td><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></td><td><p>The name of the Assets to find.</p></td>
</tr>
<tr>
<td>type</td><td><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></td><td><p>The type of the Assets to find.</p></td>
</tr>
</table>
<h4>Returns</h4>
<a href="pc.Asset.html">pc.Asset[]</a> <p>A list of all Assets found.</p>
</div>
<div id="findByTag">
<h3 class="methodname">findByTag(query) <a class="font-icon" href="#findByTag"></a></h3>
<p><p>Return all Assets that satisfy the search query.
Query can be simply a string, or comma separated strings,
to have inclusive results of assets that match at least one query.
A query that consists of an array of tags can be used to match assets that have each tag of array.</p></p>
<pre><code class="javascript">var assets = app.assets.findByTag("level-1");
// returns all assets that tagged by `level-1`</code></pre>
<pre><code class="javascript">var assets = app.assets.findByTag("level-1", "level-2");
// returns all assets that tagged by `level-1` OR `level-2`</code></pre>
<pre><code class="javascript">var assets = app.assets.findByTag(["level-1", "monster"]);
// returns all assets that tagged by `level-1` AND `monster`</code></pre>
<pre><code class="javascript">var assets = app.assets.findByTag(["level-1", "monster"], ["level-2", "monster"]);
// returns all assets that tagged by (`level-1` AND `monster`) OR (`level-2` AND `monster`)</code></pre>
<h4>Parameters</h4>
<table>
<tr>
<td>query</td><td><a href="#">*</a></td><td><p>Name of a tag or array of tags.</p></td>
</tr>
</table>
<h4>Returns</h4>
<a href="pc.Asset.html">pc.Asset[]</a> <p>A list of all Assets matched query.</p>
</div>
<div id="get">
<h3 class="methodname">get(id) <a class="font-icon" href="#get"></a></h3>
<p><p>Retrieve an asset from the registry by its id field.</p></p>
<pre><code class="javascript">var asset = app.assets.get(100);</code></pre>
<h4>Parameters</h4>
<table>
<tr>
<td>id</td><td><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></td><td><p>The id of the asset to get.</p></td>
</tr>
</table>
<h4>Returns</h4>
<a href="pc.Asset.html">pc.Asset</a> <p>The asset.</p>
</div>
<div id="getByUrl">
<h3 class="methodname">getByUrl(url) <a class="font-icon" href="#getByUrl"></a></h3>
<p><p>Retrieve an asset from the registry by it's file's URL field.</p></p>
<pre><code class="javascript">var asset = app.assets.getByUrl("../path/to/image.jpg");</code></pre>
<h4>Parameters</h4>
<table>
<tr>
<td>url</td><td><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></td><td><p>The url of the asset to get.</p></td>
</tr>
</table>
<h4>Returns</h4>
<a href="pc.Asset.html">pc.Asset</a> <p>The asset.</p>
</div>
<div id="list">
<h3 class="methodname">list(filters) <a class="font-icon" href="#list"></a></h3>
<p><p>Create a filtered list of assets from the registry.</p></p>
<h4>Parameters</h4>
<table>
<tr>
<td>filters</td><td><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">object</a></td><td><p>Properties to filter on, currently supports: 'preload: true|false'.</p></td>
</tr>
</table>
<h4>Returns</h4>
<a href="pc.Asset.html">pc.Asset[]</a> <p>The filtered list of assets.</p>
</div>
<div id="load">
<h3 class="methodname">load(asset) <a class="font-icon" href="#load"></a></h3>
<p><p>Load the asset's file from a remote source. Listen for "load" events on the asset to find out when it is loaded.</p></p>
<pre><code class="javascript">// load some assets
var assetsToLoad = [
app.assets.find("My Asset"),
app.assets.find("Another Asset")
];
var count = 0;
assetsToLoad.forEach(function (assetToLoad) {
assetToLoad.ready(function (asset) {
count++;
if (count === assetsToLoad.length) {
// done
}
});
app.assets.load(assetToLoad);
});</code></pre>
<h4>Parameters</h4>
<table>
<tr>
<td>asset</td><td><a href="pc.Asset.html">pc.Asset</a></td><td><p>The asset to load.</p></td>
</tr>
</table>
</div>
<div id="loadFromUrl">
<h3 class="methodname">loadFromUrl(url, type, callback, [filename]) <a class="font-icon" href="#loadFromUrl"></a></h3>
<p><p>Use this to load and create an asset if you don't have assets created. Usually you would only use this
if you are not integrated with the PlayCanvas Editor.</p></p>
<pre><code class="javascript">app.assets.loadFromUrl("../path/to/texture.jpg", "texture", function (err, asset) {
var texture = asset.resource;
});</code></pre>
<h4>Parameters</h4>
<table>
<tr>
<td>url</td><td><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></td><td><p>The url to load.</p></td>
</tr>
<tr>
<td>type</td><td><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></td><td><p>The type of asset to load.</p></td>
</tr>
<tr>
<td>callback</td><td><a href="pc.callbacks.html#LoadAsset">pc.callbacks.LoadAsset</a></td><td><p>Function called when asset is loaded, passed (err, asset), where err is null if no errors were encountered.</p></td>
</tr>
<tr>
<td>filename</td><td><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></td><td><p>Optional asset filename.</p></td>
</tr>
</table>
</div>
<div id="remove">
<h3 class="methodname">remove(asset) <a class="font-icon" href="#remove"></a></h3>
<p><p>Remove an asset from the registry.</p></p>
<pre><code class="javascript">var asset = app.assets.get(100);
app.assets.remove(asset);</code></pre>
<h4>Parameters</h4>
<table>
<tr>
<td>asset</td><td><a href="pc.Asset.html">pc.Asset</a></td><td><p>The asset to remove.</p></td>
</tr>
</table>
<h4>Returns</h4>
<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">boolean</a> <p>True if the asset was successfully removed and false otherwise.</p>
</div>
<!--events-->
<h2>Events</h2>
<div id="event:add:[id]">
<h3 class="methodname">add:[id] <a class="font-icon" href="#event:add:[id]"></a></h3>
<p><p>Fired when an asset is added to the registry.</p></p>
<pre><code class="javascript">var id = 123456;
app.assets.on("add:" + id, function (asset) {
console.log("Asset 123456 loaded");
});</code></pre>
<h4>Parameters</h4>
<table>
<tr>
<td>asset</td><td><a href="pc.Asset.html">pc.Asset</a></td><td><p>The asset that was added.</p></td>
</tr>
</table>
</div>
<div id="event:add:url:[url]">
<h3 class="methodname">add:url:[url] <a class="font-icon" href="#event:add:url:[url]"></a></h3>
<p><p>Fired when an asset is added to the registry.</p></p>
<h4>Parameters</h4>
<table>
<tr>
<td>asset</td><td><a href="pc.Asset.html">pc.Asset</a></td><td><p>The asset that was added.</p></td>
</tr>
</table>
</div>
<div id="event:error:[id]">
<h3 class="methodname">error:[id] <a class="font-icon" href="#event:error:[id]"></a></h3>
<p><p>Fired when an error occurs during asset loading.</p></p>
<pre><code class="javascript">var id = 123456;
var asset = app.assets.get(id);
app.assets.on("error:" + id, function (err, asset) {
console.error(err);
});
app.assets.load(asset);</code></pre>
<h4>Parameters</h4>
<table>
<tr>
<td>asset</td><td><a href="pc.Asset.html">pc.Asset</a></td><td><p>The asset that generated the error.</p></td>
</tr>
</table>
</div>
<div id="event:add">
<h3 class="methodname">add <a class="font-icon" href="#event:add"></a></h3>
<p><p>Fired when an asset is added to the registry.</p></p>
<pre><code class="javascript">app.assets.on("add", function (asset) {
console.log("New asset added: " + asset.name);
});</code></pre>
<h4>Parameters</h4>
<table>
<tr>
<td>asset</td><td><a href="pc.Asset.html">pc.Asset</a></td><td><p>The asset that was added.</p></td>
</tr>
</table>
</div>
<div id="event:error">
<h3 class="methodname">error <a class="font-icon" href="#event:error"></a></h3>
<p><p>Fired when an error occurs during asset loading.</p></p>
<pre><code class="javascript">var id = 123456;
var asset = app.assets.get(id);
app.assets.on("error", function (err, asset) {
console.error(err);
});
app.assets.load(asset);</code></pre>
<h4>Parameters</h4>
<table>
<tr>
<td>err</td><td><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></td><td><p>The error message.</p></td>
</tr>
<tr>
<td>asset</td><td><a href="pc.Asset.html">pc.Asset</a></td><td><p>The asset that generated the error.</p></td>
</tr>
</table>
</div>
<div id="event:load">
<h3 class="methodname">load <a class="font-icon" href="#event:load"></a></h3>
<p><p>Fired when an asset completes loading.</p></p>
<pre><code class="javascript">app.assets.on("load", function (asset) {
console.log("asset loaded: " + asset.name);
});</code></pre>
<h4>Parameters</h4>
<table>
<tr>
<td>asset</td><td><a href="pc.Asset.html">pc.Asset</a></td><td><p>The asset that has just loaded.</p></td>
</tr>
</table>
</div>
<div id="event:remove">
<h3 class="methodname">remove <a class="font-icon" href="#event:remove"></a></h3>
<p><p>Fired when an asset is removed from the registry.</p></p>
<pre><code class="javascript">app.assets.on("remove", function (aseet) {
console.log("Asset removed: " + asset.name);
});</code></pre>
<h4>Parameters</h4>
<table>
<tr>
<td>asset</td><td><a href="pc.Asset.html">pc.Asset</a></td><td><p>The asset that was removed.</p></td>
</tr>
</table>
</div>
<div id="event:load:[id]">
<h3 class="methodname">load:[id] <a class="font-icon" href="#event:load:[id]"></a></h3>
<p><p>Fired when an asset completes loading.</p></p>
<pre><code class="javascript">var id = 123456;
var asset = app.assets.get(id);
app.assets.on("load:" + id, function (asset) {
console.log("asset loaded: " + asset.name);
});
app.assets.load(asset);</code></pre>
<h4>Parameters</h4>
<table>
<tr>
<td>asset</td><td><a href="pc.Asset.html">pc.Asset</a></td><td><p>The asset that has just loaded.</p></td>
</tr>
</table>
</div>
<div id="event:load:url:[url]">
<h3 class="methodname">load:url:[url] <a class="font-icon" href="#event:load:url:[url]"></a></h3>
<p><p>Fired when an asset completes loading.</p></p>
<pre><code class="javascript">var id = 123456;
var asset = app.assets.get(id);
app.assets.on("load:url:" + asset.file.url, function (asset) {
console.log("asset loaded: " + asset.name);
});
app.assets.load(asset);</code></pre>
<h4>Parameters</h4>
<table>
<tr>
<td>asset</td><td><a href="pc.Asset.html">pc.Asset</a></td><td><p>The asset that has just loaded.</p></td>
</tr>
</table>
</div>
<div id="event:remove:[id]">
<h3 class="methodname">remove:[id] <a class="font-icon" href="#event:remove:[id]"></a></h3>
<p><p>Fired when an asset is removed from the registry.</p></p>
<pre><code class="javascript">var id = 123456;
app.assets.on("remove:" + id, function (asset) {
console.log("Asset removed: " + asset.name);
});</code></pre>
<h4>Parameters</h4>
<table>
<tr>
<td>asset</td><td><a href="pc.Asset.html">pc.Asset</a></td><td><p>The asset that was removed.</p></td>
</tr>
</table>
</div>
<div id="event:remove:url:[url]">
<h3 class="methodname">remove:url:[url] <a class="font-icon" href="#event:remove:url:[url]"></a></h3>
<p><p>Fired when an asset is removed from the registry.</p></p>
<h4>Parameters</h4>
<table>
<tr>
<td>asset</td><td><a href="pc.Asset.html">pc.Asset</a></td><td><p>The asset that was removed.</p></td>
</tr>
</table>
</div>
<h2>Inherited</h2>
<!--inherited properties-->
<!--inherited methods-->
<h2>Methods</h2>
<div id="fire">
<h3 class="methodname">fire(name, [arg1], [arg2], [arg3], [arg4], [arg5], [arg6], [arg7], [arg8]) <a class="font-icon" href="#fire"></a></h3>
<p><p>Fire an event, all additional arguments are passed on to the event listener.</p></p>
<pre><code class="javascript">obj.fire('test', 'This is the message');</code></pre>
<h4>Parameters</h4>
<table>
<tr>
<td>name</td><td><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">object</a></td><td><p>Name of event to fire.</p></td>
</tr>
<tr>
<td>arg1</td><td><a href="#">*</a></td><td><p>First argument that is passed to the event handler.</p></td>
</tr>
<tr>
<td>arg2</td><td><a href="#">*</a></td><td><p>Second argument that is passed to the event handler.</p></td>
</tr>
<tr>
<td>arg3</td><td><a href="#">*</a></td><td><p>Third argument that is passed to the event handler.</p></td>
</tr>
<tr>
<td>arg4</td><td><a href="#">*</a></td><td><p>Fourth argument that is passed to the event handler.</p></td>
</tr>
<tr>
<td>arg5</td><td><a href="#">*</a></td><td><p>Fifth argument that is passed to the event handler.</p></td>
</tr>
<tr>
<td>arg6</td><td><a href="#">*</a></td><td><p>Sixth argument that is passed to the event handler.</p></td>
</tr>
<tr>
<td>arg7</td><td><a href="#">*</a></td><td><p>Seventh argument that is passed to the event handler.</p></td>
</tr>
<tr>
<td>arg8</td><td><a href="#">*</a></td><td><p>Eighth argument that is passed to the event handler.</p></td>
</tr>
</table>
<h4>Returns</h4>
<a href="pc.EventHandler.html">pc.EventHandler</a> <p>Self for chaining.</p>
</div>
<div id="hasEvent">
<h3 class="methodname">hasEvent(name) <a class="font-icon" href="#hasEvent"></a></h3>
<p><p>Test if there are any handlers bound to an event name.</p></p>
<pre><code class="javascript">obj.on('test', function () { }); // bind an event to 'test'
obj.hasEvent('test'); // returns true
obj.hasEvent('hello'); // returns false</code></pre>
<h4>Parameters</h4>
<table>
<tr>
<td>name</td><td><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></td><td><p>The name of the event to test.</p></td>
</tr>
</table>
<h4>Returns</h4>
<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">boolean</a> <p>True if the object has handlers bound to the specified event name.</p>
</div>
<div id="off">
<h3 class="methodname">off([name], [callback], [scope]) <a class="font-icon" href="#off"></a></h3>
<p><p>Detach an event handler from an event. If callback is not provided then all callbacks are unbound from the event,
if scope is not provided then all events with the callback will be unbound.</p></p>
<pre><code class="javascript">var handler = function () {
};
obj.on('test', handler);
obj.off(); // Removes all events
obj.off('test'); // Removes all events called 'test'
obj.off('test', handler); // Removes all handler functions, called 'test'
obj.off('test', handler, this); // Removes all hander functions, called 'test' with scope this</code></pre>
<h4>Parameters</h4>
<table>
<tr>
<td>name</td><td><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></td><td><p>Name of the event to unbind.</p></td>
</tr>
<tr>
<td>callback</td><td><a href="pc.callbacks.html#HandleEvent">pc.callbacks.HandleEvent</a></td><td><p>Function to be unbound.</p></td>
</tr>
<tr>
<td>scope</td><td><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">object</a></td><td><p>Scope that was used as the this when the event is fired.</p></td>
</tr>
</table>
<h4>Returns</h4>
<a href="pc.EventHandler.html">pc.EventHandler</a> <p>Self for chaining.</p>
</div>
<div id="on">
<h3 class="methodname">on(name, callback, [scope]) <a class="font-icon" href="#on"></a></h3>
<p><p>Attach an event handler to an event.</p></p>
<pre><code class="javascript">obj.on('test', function (a, b) {
console.log(a + b);
});
obj.fire('test', 1, 2); // prints 3 to the console</code></pre>
<h4>Parameters</h4>
<table>
<tr>
<td>name</td><td><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></td><td><p>Name of the event to bind the callback to.</p></td>
</tr>
<tr>
<td>callback</td><td><a href="pc.callbacks.html#HandleEvent">pc.callbacks.HandleEvent</a></td><td><p>Function that is called when event is fired. Note the callback is limited to 8 arguments.</p></td>
</tr>
<tr>
<td>scope</td><td><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">object</a></td><td><p>Object to use as 'this' when the event is fired, defaults to current this.</p></td>
</tr>
</table>
<h4>Returns</h4>
<a href="pc.EventHandler.html">pc.EventHandler</a> <p>Self for chaining.</p>
</div>
<div id="once">
<h3 class="methodname">once(name, callback, [scope]) <a class="font-icon" href="#once"></a></h3>
<p><p>Attach an event handler to an event. This handler will be removed after being fired once.</p></p>
<pre><code class="javascript">obj.once('test', function (a, b) {
console.log(a + b);
});
obj.fire('test', 1, 2); // prints 3 to the console
obj.fire('test', 1, 2); // not going to get handled</code></pre>
<h4>Parameters</h4>
<table>
<tr>
<td>name</td><td><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></td><td><p>Name of the event to bind the callback to.</p></td>
</tr>
<tr>
<td>callback</td><td><a href="pc.callbacks.html#HandleEvent">pc.callbacks.HandleEvent</a></td><td><p>Function that is called when event is fired. Note the callback is limited to 8 arguments.</p></td>
</tr>
<tr>
<td>scope</td><td><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">object</a></td><td><p>Object to use as 'this' when the event is fired, defaults to current this.</p></td>
</tr>
</table>
<h4>Returns</h4>
<a href="pc.EventHandler.html">pc.EventHandler</a> <p>Self for chaining.</p>
</div>
<!--inherited events-->
</main>
</div>
</body>
</html>