UNPKG

dragonbones-runtime

Version:

the tools to build dragonbones file for diffrent framework

223 lines (219 loc) 7.7 kB
////////////////////////////////////////////////////////////////////////////////////// // // Copyright (c) 2014-present, Egret Technology. // All rights reserved. // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are met: // // * Redistributions of source code must retain the above copyright // notice, this list of conditions and the following disclaimer. // * Redistributions in binary form must reproduce the above copyright // notice, this list of conditions and the following disclaimer in the // documentation and/or other materials provided with the distribution. // * Neither the name of the Egret nor the // names of its contributors may be used to endorse or promote products // derived from this software without specific prior written permission. // // THIS SOFTWARE IS PROVIDED BY EGRET AND CONTRIBUTORS "AS IS" AND ANY EXPRESS // OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES // OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. // IN NO EVENT SHALL EGRET AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;LOSS OF USE, DATA, // OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF // LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING // NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, // EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // ////////////////////////////////////////////////////////////////////////////////////// namespace RES { /** * The events of resource loading. * @version Egret 2.4 * @platform Web,Native * @language en_US */ /** * 资源加载事件。 * @version Egret 2.4 * @platform Web,Native * @language zh_CN */ export class ResourceEvent extends egret.Event{ /** * Failure event for a load item. * @version Egret 2.4 * @platform Web,Native * @language en_US */ /** * 一个加载项加载失败事件。 * @version Egret 2.4 * @platform Web,Native * @language zh_CN */ public static ITEM_LOAD_ERROR:string = "itemLoadError"; /** * Configure file to load and parse the completion event. Note: if a configuration file is loaded, it will not be thrown out, and if you want to handle the configuration loading failure, monitor the CONFIG_LOAD_ERROR event. * @version Egret 2.4 * @platform Web,Native * @language en_US */ /** * 配置文件加载并解析完成事件。注意:若有配置文件加载失败,将不会抛出此事件,若要处理配置加载失败,请同时监听 CONFIG_LOAD_ERROR 事件。 * @version Egret 2.4 * @platform Web,Native * @language zh_CN */ public static CONFIG_COMPLETE:string = "configComplete"; /** * Configuration file failed to load. * @version Egret 2.4 * @platform Web,Native * @language en_US */ /** * 配置文件加载失败事件。 * @version Egret 2.4 * @platform Web,Native * @language zh_CN */ public static CONFIG_LOAD_ERROR:string = "configLoadError"; /** * Delay load group resource loading progress event. * @version Egret 2.4 * @platform Web,Native * @language en_US */ /** * 延迟加载组资源加载进度事件。 * @version Egret 2.4 * @platform Web,Native * @language zh_CN */ public static GROUP_PROGRESS:string = "groupProgress"; /** * Delay load group resource to complete event. Note: if you have a resource item loading failure, the event will not be thrown, if you want to handle the group load failure, please listen to the GROUP_LOAD_ERROR event. * @version Egret 2.4 * @platform Web,Native * @language en_US */ /** * 延迟加载组资源加载完成事件。注意:若组内有资源项加载失败,将不会抛出此事件,若要处理组加载失败,请同时监听 GROUP_LOAD_ERROR 事件。 * @version Egret 2.4 * @platform Web,Native * @language zh_CN */ public static GROUP_COMPLETE:string = "groupComplete"; /** * Delayed load group resource failed event. * @version Egret 2.4 * @platform Web,Native * @language en_US */ /** * 延迟加载组资源加载失败事件。 * @version Egret 2.4 * @platform Web,Native * @language zh_CN */ public static GROUP_LOAD_ERROR:string = "groupLoadError"; /** * Creates an Event object to pass as a parameter to event listeners. * @param type The type of the event, accessible as Event.type. * @param bubbles Determines whether the Event object participates in the bubbling stage of the event flow. The default value is false. * @param cancelable Determines whether the Event object can be canceled. The default values is false. * @version Egret 2.4 * @platform Web,Native * @private * @language en_US */ /** * 创建一个作为参数传递给事件侦听器的 Event 对象。 * @param type 事件的类型,可以作为 Event.type 访问。 * @param bubbles 确定 Event 对象是否参与事件流的冒泡阶段。默认值为 false。 * @param cancelable 确定是否可以取消 Event 对象。默认值为 false。 * @version Egret 2.4 * @platform Web,Native * @private * @language zh_CN */ public constructor(type:string, bubbles:boolean=false, cancelable:boolean=false){ super(type, bubbles, cancelable); } /** * File number that has been loaded. * @version Egret 2.4 * @platform Web,Native * @language en_US */ /** * 已经加载的文件数。 * @version Egret 2.4 * @platform Web,Native * @language zh_CN */ public itemsLoaded:number=0; /** * Total file number to load. * @version Egret 2.4 * @platform Web,Native * @language en_US */ /** * 要加载的总文件数。 * @version Egret 2.4 * @platform Web,Native * @language zh_CN */ public itemsTotal:number=0; /** * Resource group name. * @version Egret 2.4 * @platform Web,Native * @language en_US */ /** * 资源组名。 * @version Egret 2.4 * @platform Web,Native * @language zh_CN */ public groupName:string = ""; /** * An item of information that is finished by the end of a load. * @version Egret 2.4 * @platform Web,Native * @language en_US */ /** * 一次加载项加载结束的项信息对象。 * @version Egret 2.4 * @platform Web,Native * @language zh_CN */ public resItem:ResourceItem = null; /** * 使用指定的EventDispatcher对象来抛出事件对象。抛出的对象将会缓存在对象池上,供下次循环复用。 * @method RES.ResourceEvent.dispatchResourceEvent * @param target {egret.IEventDispatcher} * @param type {string} * @param groupName {string} * @param resItem {egret.ResourceItem} * @param itemsLoaded {number} * @param itemsTotal {number} * @private */ public static dispatchResourceEvent(target:egret.IEventDispatcher,type:string, groupName:string="",resItem:ResourceItem=null,itemsLoaded:number=0,itemsTotal:number=0):boolean{ let event:ResourceEvent = egret.Event.create(ResourceEvent, type); event.groupName = groupName; event.resItem = resItem; event.itemsLoaded = itemsLoaded; event.itemsTotal = itemsTotal; let result = target.dispatchEvent(event); egret.Event.release(event); return result; } } }