pixi-dragonbones-runtime
Version:
DragonBones Runtime for Pixi.js
3 lines (2 loc) • 2.33 kB
JavaScript
import{Armature as e}from"../armature/Armature.mjs";import{BaseObject as r}from"../core/BaseObject.mjs";import{DragonBones as t}from"../core/DragonBones.mjs";import"../geom/Transform.mjs";import"../armature/TransformObject.mjs";import"../armature/Constraint.mjs";import"../event/EventObject.mjs";import{BaseFactory as n}from"../factory/BaseFactory.mjs";import{PixiArmatureDisplay as a}from"./PixiArmatureDisplay.mjs";import{PixiSlot as o}from"./PixiSlot.mjs";import{PixiTextureAtlasData as s}from"./PixiTextureAtlasData.mjs";import{Ticker as i,Sprite as l,Texture as u,MeshSimple as c,Assets as m}from"pixi.js";import{getAlias as d,convertAlias as p}from"./PixiAssetsUtil.mjs";class g extends n{static _clockHandler(e){this._dragonBonesInstance.advanceTime(e.deltaMS/1e3)}static advanceTime(e){this._dragonBonesInstance&&this._dragonBonesInstance.advanceTime(e)}static get factory(){return null===g._factory&&(g._factory=new g(null,g.useSharedTicker)),g._factory}static newInstance(e=!0){return null===g._factory&&(g._factory=new g(null,e)),g._factory}constructor(e=null,r=!0){if(super(e),null===g._dragonBonesInstance){const e=new a;g._dragonBonesInstance=new t(e),r&&i.shared.add(g._clockHandler,g)}this._dragonBones=g._dragonBonesInstance}_buildTextureAtlasData(e,t){return e?e.renderTexture=t:e=r.borrowObject(s),e}_buildArmature(t){const n=r.borrowObject(e),o=new a;return n.init(t.armature,o,o,this._dragonBones),n}_buildSlot(e,t,n){const a=r.borrowObject(o);return a.init(t,n,new l(u.EMPTY),new c({texture:u.EMPTY})),a}buildArmatureDisplay(e,r="",t="",n=""){const a=this.buildArmature(e,r||"",t||"",n||"");return null!==a?(this._dragonBones.clock.add(a),a.display):null}getTextureDisplay(e,r=null){const t=this._getTextureData(null!==r?r:"",e);return null!==t&&null!==t.renderTexture?new l(t.renderTexture):null}get soundEventManager(){return this._dragonBones.eventManager}parseDragonBonesData(e,r=null,t=1){return"string"==typeof e&&(e=m.cache.get(e)),super.parseDragonBonesData(e,r,t)}parseTextureAtlasData(e,r,t=null,n=1){let a=e;if("string"==typeof e&&(a=m.cache.get(e)),!r){let e=d(a);r=p(e,a.imagePath)}return"string"==typeof r&&(r=m.cache.get(r)),super.parseTextureAtlasData(a,r,t,n)}}g._dragonBonesInstance=null,g._factory=null,g.useSharedTicker=!0;export{g as PixiFactory};
//# sourceMappingURL=PixiFactory.mjs.map