!function(P){P.un,P.uns;var e=P.static,n=P.class,a=P.getset,f=P.__newvec,r=laya.maths.Bezier,c=laya.utils.Browser,Ct=laya.utils.Byte,i=(laya.events.Event,laya.events.EventDispatcher),t=laya.display.Graphics,s=laya.resource.HTMLCanvas,l=laya.utils.Handler,h=laya.net.Loader,u=laya.maths.MathUtil,St=laya.maths.Matrix,o=(laya.display.Node,laya.maths.Point,laya.maths.Rectangle),d=laya.renders.Render,_=(laya.renders.RenderContext,laya.resource.Resource),p=laya.utils.RunDriver,m=(laya.media.SoundChannel,laya.media.SoundManager),B=laya.display.Sprite,y=laya.utils.Stat,wt=laya.resource.Texture,x=(laya.net.URL,laya.utils.Utils),A=(n(g,"laya.ani.AnimationContent"),g);function g(){this.nodes=null,this.name=null,this.playTime=NaN,this.bone3DMap=null,this.totalKeyframeDatasLength=0}var T=(n(v,"laya.ani.AnimationNodeContent"),v);function v(){this.name=null,this.parentIndex=0,this.parent=null,this.keyframeWidth=0,this.lerpType=0,this.interpolationMethod=null,this.childs=null,this.keyFrame=null,this.playTime=NaN,this.extenData=null,this.dataOffset=0}var D=(n(M,"laya.ani.AnimationParser01"),M.parse=function(t,e){var i=e.__getBuffer(),a=0,s=0,r=0,n=0,h=0,l=0,o=0,u=e.readUTFString();t._aniClassName=u;var c,d=e.readUTFString().split("\n"),_=e.getUint8(),p=e.getUint32(),u=e.getUint32();0this.currDisplayData.uvs[5]&&(r.d=-1),this.currDisplayData.uvs[0]>this.currDisplayData.uvs[4]&&this.currDisplayData.uvs[1]>this.currDisplayData.uvs[5]&&(h=!0,r.rotate(-Math.PI/2)),St.mul(r,St.TEMP,l)):St.TEMP.copyTo(l),h?t.drawTexture(n,-this.currDisplayData.height/2,-this.currDisplayData.width/2,this.currDisplayData.height,this.currDisplayData.width,l):t.drawTexture(n,-this.currDisplayData.width/2,-this.currDisplayData.height/2,this.currDisplayData.width,this.currDisplayData.height,l))));break;case 1:if(null==(s=i?(null==this._skinSprite&&(this._skinSprite=o.createSkinMesh()),this._skinSprite):o.createSkinMesh()))return;var h,l;null==this.currDisplayData.bones?(h=this.currDisplayData.weights,this.deformData&&(h=this.deformData),l=this._diyTexture?(this._curDiyUV||(this._curDiyUV=[]),0==this._curDiyUV.length&&(this._curDiyUV=H.getRelativeUV(this.currTexture.uv,this.currDisplayData.uvs,this._curDiyUV),this._curDiyUV=H.getAbsoluteUV(this._diyTexture.uv,this._curDiyUV,this._curDiyUV)),this._curDiyUV):this.currDisplayData.uvs,this._mVerticleArr=h,this.currDisplayData.triangles.length,h=this.currDisplayData.triangles,s.init2(n,null,h,this._mVerticleArr,l),l=this.getDisplayMatrix(),this._parentMatrix&&l&&(St.mul(l,this._parentMatrix,St.TEMP),l=i?(null==this._resultMatrix&&(this._resultMatrix=new St),this._resultMatrix):new St,St.TEMP.copyTo(l),s.transform=l)):this.skinMesh(e,s,a),t.drawSkin(s);break;case 2:if(null==(s=i?(null==this._skinSprite&&(this._skinSprite=o.createSkinMesh()),this._skinSprite):o.createSkinMesh()))return;this.skinMesh(e,s,a),t.drawSkin(s)}}},t.skinMesh=function(t,e,i){var a,s=this.currTexture,r=this.currDisplayData.bones,n=this._diyTexture?(s=this._diyTexture,this._curDiyUV||(this._curDiyUV=[]),0==this._curDiyUV.length&&(this._curDiyUV=H.getRelativeUV(this.currTexture.uv,this.currDisplayData.uvs,this._curDiyUV),this._curDiyUV=H.getAbsoluteUV(this._diyTexture.uv,this._curDiyUV,this._curDiyUV)),this._curDiyUV):this.currDisplayData.uvs,h=this.currDisplayData.weights,l=this.currDisplayData.triangles,o=0,u=0,c=0,d=NaN,_=NaN,p=0,f=0,m=[],y=0,x=0;if(this.deformData&&0>>1;;){if(t[Math.floor(s+1)]<=e?i=s+1:a=s,i==a)return i+1;s=i+a>>>1}return 0},e.apply=function(t,e,i){if(void 0===i&&(i=1),t+=.05,!(this.timeList.length<=0)){var a=0;if(!(t=this.timeList[this.timeList.length-1]){var h=this.vectices[this.vectices.length-1];if(i<1)for(a=0;aMath.PI?B-=2*Math.PI:B<-Math.PI&&(B+=2*Math.PI),B*=a,k=Math.cos(B),P=Math.sin(B),y.resultMatrix.a=k*C-P*w,y.resultMatrix.c=k*S-P*F,y.resultMatrix.b=P*C+k*w,y.resultMatrix.d=P*S+k*F)}}},t.computeWorldVertices2=function(t,e,i,a,s,r){var n,h,l=t.currDisplayData.bones,o=t.currDisplayData.weights,u=t.currDisplayData.triangles,c=0,d=0,_=0,p=0,f=0,m=0,y=0,x=0,g=0,v=0;if(null!=l){for(c=0;cthis.uvs[4]&&this.uvs[1]>this.uvs[5]?(this.texture.width=t.height,this.texture.height=t.width,this.texture.offsetX=-t.offsetX,this.texture.offsetY=-t.offsetY,this.texture.sourceWidth=t.sourceHeight,this.texture.sourceHeight=t.sourceWidth):(this.texture.width=t.width,this.texture.height=t.height,this.texture.offsetX=-t.offsetX,this.texture.offsetY=-t.offsetY,this.texture.sourceWidth=t.sourceWidth,this.texture.sourceHeight=t.sourceHeight),d.isWebGL||this.uvs[1]>this.uvs[5]&&(this.texture.offsetY=this.texture.sourceHeight-this.texture.height-this.texture.offsetY),this.texture)},e.destory=function(){this.texture&&this.texture.destroy()},t}(),Yt=(n(X,"laya.ani.bone.SlotData"),X.prototype.getDisplayByName=function(t){for(var e=0,i=this.displayArr.length;eMath.PI?p-=2*Math.PI:p<-Math.PI&&(p+=2*Math.PI),p*=this.rotateMix,o=Math.cos(p),l=Math.sin(p),f.resultMatrix.a=o*n-l*h,f.resultMatrix.b=o*c-l*d,f.resultMatrix.c=l*n+o*h,f.resultMatrix.d=l*c+o*d),this.translateMix&&(this._temp[0]=this._data.offsetX,this._temp[1]=this._data.offsetY,this.target.localToWorld(this._temp),f.resultMatrix.tx+=(this._temp[0]-f.resultMatrix.tx)*this.translateMix,f.resultMatrix.ty+=(this._temp[1]-f.resultMatrix.ty)*this.translateMix,f.updateChild()),0Math.PI?p-=2*Math.PI:p<-Math.PI&&(p+=2*Math.PI),p=_+(p+this._data.offsetShearY*Math.PI/180)*this.shearMix,u=Math.sqrt(c*c+d*d),f.resultMatrix.b=Math.cos(p)*u,f.resultMatrix.d=Math.sin(p)*u)}},q);function q(t,e){this._data=null,this._bones=null,this.target=null,this.rotateMix=NaN,this.translateMix=NaN,this.scaleMix=NaN,this.shearMix=NaN,this._temp=f(2,0),this._data=t,null==this._bones&&(this._bones=[]),this.target=e[t.targetIndex];for(var i=0,i=0,a=t.boneIndexs.length;it&&(this._playEnd=t),this._playDuration=this._playEnd-this._playStart)},e._setPlayParams=function(t,e){this._currentTime=t,this._currentKeyframeIndex=Math.max(Math.floor(this.currentPlayTime/e+.01),0),this._currentFrameTime=this._currentKeyframeIndex*e},e._setPlayParamsWhenStop=function(t,e,i){void 0===i&&(i=-1),this._currentTime=t,this._currentKeyframeIndex=Math.max(Math.floor((0=this._overallDuration||0===this._overallDuration&&this._elapsedPlaybackTime>=a||0===this._overallDuration&&i>=this.playEnd)return this._setPlayParamsWhenStop(a,e,this.playEnd),void this.event("stopped");if(0this._playEnd)throw new Error("AnimationPlayer:value must large than playStartTime,small than playEndTime.");this._startUpdateLoopCount=y.loopCount;var e=this._cacheFrameRateInterval*this._cachePlayRate;this._currentTime=t,this._currentKeyframeIndex=Math.max(Math.floor(this.currentPlayTime/e),0),this._currentFrameTime=this._currentKeyframeIndex*e}}),a(0,e,"paused",function(){return this._paused},function(t){(this._paused=t)&&this.event("paused")}),a(0,e,"cacheFrameRateInterval",function(){return this._cacheFrameRateInterval}),a(0,e,"destroyed",function(){return this._destroyed}),t}(),et=(n(it,"laya.ani.GraphicsAni",t),it.prototype.drawSkin=function(t){this._saveToCmd(d._context._drawSkin,[t])},it.create=function(){return it._caches.pop()||new it},it.recycle=function(t){t.clear(),it._caches.push(t)},it._caches=[],it);function it(){it.__super.call(this),d.isConchNode&&(this.drawSkin=function(t){t.transform||(t.transform=St.EMPTY),this._addCmd([t]),this.setSkinMesh&&this.setSkinMesh(t._ps,t.mVBData,t.mEleNum,0,t.mTexture,t.transform)})}var at=function(){function a(){a.__super.call(this),this.mesh=new S}n(a,"laya.ani.bone.canvasmesh.SkinMeshCanvas",C);var t=a.prototype;return t.init2=function(t,e,i,a,s){var r;this.transform&&(this.transform=null),i?r=i:(r=[]).push(0,1,3,3,1,2),this.mesh.texture=t,this.mesh.indexes=r,this.mesh.vertices=a,this.mesh.uvs=s},t.render=function(t,e,i){this.mesh.texture&&(this.transform?(this.transform.translate(e,i),this.renderToContext(t),this.transform.translate(-e,-i)):(this.transform=a._tempMatrix,this.transform.identity(),this.transform.translate(e,i),this.renderToContext(t),this.transform.translate(-e,-i),this.transform=null))},e(a,["_tempMatrix",function(){return this._tempMatrix=new St}]),a}(),st=function(){function x(){this._aniMap={},this.unfixedLastAniIndex=-1,x.__super.call(this),this._anis=new Array}n(x,"laya.ani.AnimationTemplet",_);var t=x.prototype;return t.parse=function(t){t=new Ct(t);this._aniVersion=t.readUTFString(),D.parse(this,t)},t._calculateKeyFrame=function(t,e,i){var a=t.keyFrame;a[e]=a[0];for(var s=0;sthis.unfixedCurrentTimes[a]);)this.unfixedCurrentFrameIndexes[a]++;this.unfixedCurrentFrameIndexes[a]--}return this.unfixedCurrentFrameIndexes},t.getOriginalDataUnfixedRate=function(t,e,i){var a=this._anis[t].nodes;t!==this.unfixedLastAniIndex&&(this.unfixedCurrentFrameIndexes=new Uint32Array(a.length),this.unfixedCurrentTimes=new Float32Array(a.length),this.unfixedKeyframes=f(a.length),this.unfixedLastAniIndex=t);for(var s=0,r=0,n=a.length,h=0;rthis.unfixedCurrentTimes[r]);)this.unfixedKeyframes[r]=l.keyFrame[this.unfixedCurrentFrameIndexes[r]],this.unfixedCurrentFrameIndexes[r]++;var o=this.unfixedKeyframes[r];l.dataOffset=h;var u=i-o.startTime;if(l.lerpType)switch(l.lerpType){case 0:case 1:for(s=0;s=this._player.playStart&&t.time<=this._player.playEnd&&this.event("label",t);this._drawOrder=null,this.event("stopped")},t._onPause=function(){this.event("paused")},t._parseSrcBoneMatrix=function(){var t=0,e=0;for(e=this._templet.srcBoneMatrixArr.length,t=0;t=this._player.playStart&&s.time<=this._player.playEnd&&this.event("label",s)},t._update=function(t){if(void 0===t&&(t=!0),!(this._pause||t&&this._indexControl)){var e=this.timer.currTimer,i=this._player.currentKeyframeIndex,a=e-this._lastTime;if(t?this._player._update(a):i=-1,this._lastTime=e,this._player&&(this._index=this._clipIndex=this._player.currentKeyframeIndex,!(this._index<0||0this._clipIndex&&0!=this._eventIndex&&(this._emitMissedEvents(this._player.playStart,this._player.playEnd,this._eventIndex),this._eventIndex=0);var s,r,i=this._templet.eventAniArr[this._aniClipIndex];if(i&&this._eventIndex=this._player.playStart&&i.time<=this._player.playEnd?this._player.currentPlayTime>=i.time&&(this.event("label",i),this._eventIndex++,this._playAudio&&i.audioValue&&"null"!==i.audioValue&&(s=m.playSound(this._player.templet._path+i.audioValue,1,l.create(this,this._onAniSoundStoped)),m.playbackRate=this._player.playbackRate,s&&this._soundChannelArr.push(s))):i.time=e.time&&(this._drawOrder=e.drawOrder,this._drawOrderIndex++,!(this._drawOrderIndex>=a.length));)e=a[this._drawOrderIndex];0!=this._aniMode&&1!=this._aniMode&&this.graphics instanceof laya.ani.GraphicsAni?this.graphics.clear():this.graphics=et.create();var s=this.graphics,r=this._templet.getNodes(this._aniClipIndex);this._templet.getOriginalData(this._aniClipIndex,this._curOriginalData,this._player._fullFrames[this._aniClipIndex],t,i);var n,h,l,o,u=this._aniSectionDic[this._aniClipIndex],c=0,d=0,_=0,p=0,f=0,m=this._templet.srcBoneMatrixArr.length;for(f=u[d=0];d=this._count){if(!this.loop)return this._playIndex--,void this.stop();this._playIndex=0}var t;this._parse(this._playIndex),this._labels&&this._labels[this._playIndex]&&this.event("label",this._labels[this._playIndex]),-1!=this._endFrame&&this._endFrame==this._playIndex&&(this._endFrame=-1,null!=this._completeHandler&&(t=this._completeHandler,this._completeHandler=null,t.run()),this.stop())}},t.stop=function(){this._playing=!1},t.gotoAndStop=function(t){this.index=t,this.stop()},t._clear=function(){if(this.stop(),this._idOfSprite.length=0,!this._parentMovieClip){this.timer.clear(this,this.updates);for(var t=0,e=this._movieClipList.length,t=0;tt&&this._reset(),this._parse(t))},t._reset=function(t){(t=void 0===t?!0:t)&&1!=this._curIndex&&this.removeChildren(),this._preIndex=this._curIndex=-1,this._Pos=this._start},t._parse=function(t){var e,i=!1,a=this._idOfSprite,s=this._data;for(this._ended&&this._reset(),s.pos=this._Pos,this._ended=!1,this._playIndex=t,this._curIndex>t&&t"+s.LAYA_ANIMATION_VISION),this._loaded=!1),this.loaded?this._mainTexture?this._parsePublicExtData():this._parseTexturePath():(this.event("error",this),this.isParseFail=!0)},t._parseTexturePath=function(){if(this._isDestroyed)this.destroy();else{var t=0;this._loadList=[];for(var e,i,a,s=new Ct(this.getPublicExtData()),r=0,n=s.getInt32(),h=s.readUTFString().split("\n"),t=0;t=this.skinDataArray.length)return!1;var a,s,r,n=0,h=this.skinDataArray[e];if(h){for(n=0,a=h.slotArr.length;n