From 7f29d9996dc9e8432deafbefc43a33240eb93021 Mon Sep 17 00:00:00 2001 From: Reece Como Date: Mon, 3 Mar 2025 12:05:56 +1100 Subject: [PATCH] v1.2.7 pass target in Action.run(fn), make Action.destroy() reverse consistent --- dist/index.cjs | 2 +- dist/index.cjs.map | 2 +- dist/index.d.ts | 14 +++++++++-- dist/index.mjs | 2 +- dist/index.mjs.map | 2 +- package.json | 2 +- src/Action.ts | 23 +++++++++++++++---- .../RunOnChildAction.ts | 10 ++++---- .../SetVisibleAction.ts | 0 .../{display-object => container}/index.ts | 1 - src/actions/custom/RunBlockAction.ts | 6 ++--- .../display-object/RemoveFromParentAction.ts | 15 ------------ src/actions/index.ts | 2 +- src/lib/ActionTicker.ts | 3 +-- 14 files changed, 45 insertions(+), 39 deletions(-) rename src/actions/{display-object => container}/RunOnChildAction.ts (68%) rename src/actions/{display-object => container}/SetVisibleAction.ts (100%) rename src/actions/{display-object => container}/index.ts (63%) delete mode 100644 src/actions/display-object/RemoveFromParentAction.ts diff --git a/dist/index.cjs b/dist/index.cjs index 3808321..86092bd 100644 --- a/dist/index.cjs +++ b/dist/index.cjs @@ -1,2 +1,2 @@ -"use strict";const t=Math.pow,e=Math.sqrt,i=Math.sin,n=Math.cos,s=Math.PI,r=1.70158,o=1.525*r,a=r+1,c=2*s/3,u=2*s/4.5,_bounceOut=function(t){const e=7.5625,i=2.75;return t<1/i?e*t*t:t<2/i?e*(t-=1.5/i)*t+.75:t<2.5/i?e*(t-=2.25/i)*t+.9375:e*(t-=2.625/i)*t+.984375},h={linear:t=>t,easeInQuad:function(t){return t*t},easeOutQuad:function(t){return 1-(1-t)*(1-t)},easeInOutQuad:function(e){return e<.5?2*e*e:1-t(-2*e+2,2)/2},easeInCubic:function(t){return t*t*t},easeOutCubic:function(e){return 1-t(1-e,3)},easeInOutCubic:function(e){return e<.5?4*e*e*e:1-t(-2*e+2,3)/2},easeInQuart:function(t){return t*t*t*t},easeOutQuart:function(e){return 1-t(1-e,4)},easeInOutQuart:function(e){return e<.5?8*e*e*e*e:1-t(-2*e+2,4)/2},easeInQuint:function(t){return t*t*t*t*t},easeOutQuint:function(e){return 1-t(1-e,5)},easeInOutQuint:function(e){return e<.5?16*e*e*e*e*e:1-t(-2*e+2,5)/2},easeInSine:function(t){return 1-n(t*s/2)},easeOutSine:function(t){return i(t*s/2)},easeInOutSine:function(t){return-(n(s*t)-1)/2},easeInExpo:function(e){return 0===e?0:t(2,10*e-10)},easeOutExpo:function(e){return 1===e?1:1-t(2,-10*e)},easeInOutExpo:function(e){return 0===e?0:1===e?1:e<.5?t(2,20*e-10)/2:(2-t(2,-20*e+10))/2},easeInCirc:function(i){return 1-e(1-t(i,2))},easeOutCirc:function(i){return e(1-t(i-1,2))},easeInOutCirc:function(i){return i<.5?(1-e(1-t(2*i,2)))/2:(e(1-t(-2*i+2,2))+1)/2},easeInBack:function(t){return a*t*t*t-r*t*t},easeOutBack:function(e){return 1+a*t(e-1,3)+r*t(e-1,2)},easeInOutBack:function(e){return e<.5?t(2*e,2)*(7.189819*e-o)/2:(t(2*e-2,2)*((o+1)*(2*e-2)+o)+2)/2},easeInElastic:function(e){return 0===e?0:1===e?1:-t(2,10*e-10)*i((10*e-10.75)*c)},easeOutElastic:function(e){return 0===e?0:1===e?1:t(2,-10*e)*i((10*e-.75)*c)+1},easeInOutElastic:function(e){return 0===e?0:1===e?1:e<.5?-t(2,20*e-10)*i((20*e-11.125)*u)/2:t(2,-20*e+10)*i((20*e-11.125)*u)/2+1},easeInBounce:function(t){return 1-_bounceOut(1-t)},easeOutBounce:_bounceOut,easeInOutBounce:function(t){return t<.5?(1-_bounceOut(1-2*t))/2:(1+_bounceOut(2*t-1))/2}};class Action{constructor(t,e=1,i=h.linear){if(this.duration=t,this.speed=e,this.timingMode=i,this.log=!1,t<0)throw new RangeError("Action duration must be 0 or more.")}get scaledDuration(){return this.duration/this.speed}setSpeed(t){return this.speed=t,this}setTimingMode(t){return this.timingMode=t,this}linear(){return this.setTimingMode(h.linear)}easeIn(){return this.setTimingMode(Action._defaultTimingModeEaseIn)}easeOut(){return this.setTimingMode(Action._defaultTimingModeEaseOut)}easeInOut(){return this.setTimingMode(Action._defaultTimingModeEaseInOut)}onSetupTicker(t,e){}onTickerDidReset(t){}onTickerRemoved(t,e){}}Action._defaultTimingModeEaseIn=h.easeInSine,Action._defaultTimingModeEaseOut=h.easeOutSine,Action._defaultTimingModeEaseInOut=h.easeInOutSine;const d=1-1e-10;class ActionTicker{static tickAll(t,e){const i=.001*t;for(const[t,n]of this._tickers.entries()){const[s,r]=_getTargetState(t);if(!(s||r<=0))for(const t of n.values())try{t.tick(i*r)}catch(i){void 0===e?console.error("Action failed with error: ",i):e(i),this._removeActionTicker(t)}}}static runAction(t,e,i){this._tickers.has(e)||this._tickers.set(e,new Map);const n=new ActionTicker(t,e,i);this._tickers.get(e).set(null!=t?t:n,n)}static hasTargetActions(t){return this._tickers.has(t)}static getTargetActionForKey(t,e){var i,n;return null===(n=null===(i=this._tickers.get(t))||void 0===i?void 0:i.get(e))||void 0===n?void 0:n.action}static removeTargetActionForKey(t,e){var i;const n=null===(i=this._tickers.get(t))||void 0===i?void 0:i.get(e);n&&this._removeActionTicker(n)}static removeAllTargetActions(t){this._tickers.delete(t)}static _removeActionTicker(t,e=!0){var i,n,s;const r=this._tickers.get(t.target);void 0!==r&&(e&&(null===(n=(i=t.action).onTickerRemoved)||void 0===n||n.call(i,t.target,t)),r.delete(null!==(s=t.key)&&void 0!==s?s:t),0===r.size&&this._tickers.delete(t.target))}constructor(t,e,i){this.key=t,this.target=e,this.action=i,this.isDone=!1,this.autoComplete=!0,this._elapsed=0,this._isSetup=!1,this.speed=i.speed,this.scaledDuration=i.scaledDuration,this.timingMode=i.timingMode}get timeDistance(){return 0===this.scaledDuration?1:Math.min(1,this._elapsed/this.scaledDuration)}get easedTimeDistance(){return this.timingMode(this.timeDistance)}tick(t){if(!this._isSetup){this.speed=this.action.speed,this.scaledDuration=this.action.duration,this.timingMode=this.action.timingMode;try{this.data=this.action.onSetupTicker(this.target,this)}catch(t){throw ActionTicker._removeActionTicker(this,!1),t}this._isSetup=!0}const e=this.target,i=this.action;if(null==e||e.destroyed)return void ActionTicker._removeActionTicker(this);const n=t*this.speed;if(0===this.scaledDuration)return i.onTick(this.target,1,1,this,n),this.isDone=!0,ActionTicker._removeActionTicker(this),t;if(0===t&&this.timeDistance=d?(this.isDone=!0,ActionTicker._removeActionTicker(this),this._elapsed>this.scaledDuration?this._elapsed-this.scaledDuration:0):-1}reset(){this._elapsed=0,this.isDone=!1,this._isSetup=!1,this.action.onTickerDidReset(this)}}function _getTargetState(t){let e=t,i=e.isPaused,n=e.speed;for(;!i&&null!=e.parent;)i=e.parent.isPaused,n*=e.parent.speed,e=e.parent;return[i,n]}ActionTicker._tickers=new Map;class GroupAction extends Action{constructor(t){super(Math.max(...t.map((t=>t.scaledDuration)))),this.actions=t}reversed(){return new GroupAction(this.actions.map((t=>t.reversed()))).setTimingMode(this.timingMode).setSpeed(this.speed)}onSetupTicker(t,e){return e.autoComplete=!1,{childTickers:this.actions.map((e=>new ActionTicker(void 0,t,e)))}}onTick(t,e,i,n,s){const r=n.scaledDuration===1/0?s*this.speed:i*n.scaledDuration;let o=!0;for(const t of n.data.childTickers)t.isDone||(o=!1,t.tick(r));o&&(n.isDone=!0)}onTickerDidReset(t){t.data.childTickers.forEach((t=>t.reset()))}}class RepeatAction extends Action{constructor(t,e){if(super(t.scaledDuration*e),this.action=t,this.repeats=e,!Number.isInteger(e)||e<0)throw new RangeError("The number of repeats must be a positive integer.")}reversed(){return new RepeatAction(this.action.reversed(),this.repeats).setTimingMode(this.timingMode).setSpeed(this.speed)}onSetupTicker(t,e){e.autoComplete=!1;const i=new ActionTicker(void 0,t,this.action);return i.timingMode=t=>e.timingMode(i.timingMode(t)),{childTicker:i,n:0}}onTick(t,e,i,n,s){const r=n.data.childTicker;let o=s*this.speed;if(o=r.tick(o),o>0||0===r.scaledDuration){if(++n.data.n>=this.repeats)return void(n.isDone=!0);r.reset(),o=r.tick(o)}}onTickerDidReset(t){t.data.childTicker.reset(),t.data.n=0}}class RepeatForeverAction extends Action{constructor(t){if(super(1/0),this.action=t,t.scaledDuration<=0)throw new TypeError("The action to be repeated must have a non-instantaneous duration.")}reversed(){return new RepeatForeverAction(this.action.reversed()).setTimingMode(this.timingMode).setSpeed(this.speed)}onSetupTicker(t,e){e.autoComplete=!1;const i=new ActionTicker(void 0,t,this.action);return i.timingMode=t=>e.timingMode(i.timingMode(t)),{childTicker:i}}onTick(t,e,i,n,s){const r=n.data.childTicker;let o=s*n.speed;o=r.tick(o),o>0&&(r.reset(),o=r.tick(o))}onTickerDidReset(t){t.data.childTicker.reset()}}class SequenceAction extends Action{constructor(t){super(t.reduce(((t,e)=>t+e.scaledDuration),0)),this.actions=t}reversed(){return new SequenceAction(this.actions.map((t=>t.reversed())).reverse()).setTimingMode(this.timingMode).setSpeed(this.speed)}onSetupTicker(t,e){return e.autoComplete=!1,{childTickers:this._squashedActions().map((e=>new ActionTicker(void 0,t,e)))}}onTick(t,e,i,n,s){let r=n.scaledDuration===1/0?s*this.speed:i*n.scaledDuration;for(const t of n.data.childTickers)if(!t.isDone&&(r=t.tick(r),r<0))return;n.isDone=!0}onTickerDidReset(t){t.data.childTickers.forEach((t=>t.reset()))}_squashedActions(){const t=[];for(const e of this.actions)e instanceof SequenceAction&&1===e.speed&&e.timingMode===h.linear?t.push(...e._squashedActions()):t.push(e);return t}}class CustomAction extends Action{constructor(t,e){super(t),this.stepFn=e}onTick(t,e,i){this.stepFn(t,e,i)}reversed(){return this}}class RunBlockAction extends Action{constructor(t){super(0),this.block=t}reversed(){return this}onTick(){this.block()}}class DelayAction extends Action{onTick(){}reversed(){return this}}class RemoveFromParentAction extends Action{constructor(){super(0)}reversed(){return this}onTick(t){var e;null===(e=t.parent)||void 0===e||e.removeChild(t)}}class RunOnChildAction extends Action{constructor(t,e){super(0),this.action=t,this.nameOrLabel=e}reversed(){return new RunOnChildAction(this.action.reversed(),this.nameOrLabel).setTimingMode(this.timingMode).setSpeed(this.speed)}onTick(t){if(void 0===t.children||!Array.isArray(t.children))throw new TypeError("The target did not have children.");let e;if(e="getChildByLabel"in t?t.getChildByLabel(this.nameOrLabel):t.children.find((t=>t.label===this.nameOrLabel||t.name===this.nameOrLabel)),!e)throw new ReferenceError(`The target did not have a child matching '${this.nameOrLabel}'.`);e.run(this.action)}}class SetVisibleAction extends Action{constructor(t){super(0),this.visible=t}reversed(){return new SetVisibleAction(!this.visible).setTimingMode(this.timingMode).setSpeed(this.speed)}onTick(t){t.visible=this.visible}}const l=Math.PI/2;class FollowPathAction extends Action{constructor(t,e,i,n,s){if(super(e),this.asOffset=i,this.orientToPath=n,this.fixedSpeed=s,this.path=t,this.lastIndex=t.length-1,n||s){const[e,i]=FollowPathAction.getLength(t);this.segmentLengths=i,s&&(this.segmentWeights=i.map((t=>t/(e||1))))}}static getPath(t){return Array.isArray(t)?[...t]:[...t.points]}static getLength(t){let e=0;const i=[];for(let n=0;n0){const t=this.path[0],e=this.path[this.path.length-1],i=e.x+t.x,n=e.y+t.y;return this.path.map((({x:t,y:e})=>({x:t-i,y:e-n}))).reverse()}return[...this.path].reverse()}_getDynamicSpeedProgress(t){const e=Math.max(Math.min(Math.floor(t*this.lastIndex),this.lastIndex-1),0),i=this.lastIndex||1;return[e,(t-e/i)*i]}_getFixedSpeedProgress(t){let e=t,i=0,n=0;for(let t=0;te||t===this.lastIndex-1){n=e/s||1;break}e-=s,i++}return[i,n]}}class MoveByAction extends Action{constructor(t,e,i){super(i),this.x=t,this.y=e}reversed(){return new MoveByAction(-this.x,-this.y,this.duration).setTimingMode(this.timingMode).setSpeed(this.speed)}onTick(t,e,i){t.position.x+=this.x*i,t.position.y+=this.y*i}}class MoveToAction extends Action{constructor(t,e,i){super(i),this.x=t,this.y=e}reversed(){return new DelayAction(this.scaledDuration)}onSetupTicker(t){return{startX:t.x,startY:t.y}}onTick(t,e,i,n){t.position.set(void 0===this.x?t.position.x:n.data.startX+(this.x-n.data.startX)*e,void 0===this.y?t.position.y:n.data.startY+(this.y-n.data.startY)*e)}}class RotateByAction extends Action{constructor(t,e){super(e),this.rotation=t}reversed(){return new RotateByAction(-this.rotation,this.duration).setTimingMode(this.timingMode).setSpeed(this.speed)}onTick(t,e,i){t.rotation+=this.rotation*i}}class RotateToAction extends Action{constructor(t,e){super(e),this.rotation=t}reversed(){return new DelayAction(this.scaledDuration)}onSetupTicker(t){return{startRotation:t.rotation}}onTick(t,e,i,n){t.rotation=n.data.startRotation+(this.rotation-n.data.startRotation)*e}}class ScaleByAction extends Action{constructor(t,e,i){super(i),this.x=t,this.y=e}reversed(){return new ScaleByAction(-this.x,-this.y,this.duration).setTimingMode(this.timingMode).setSpeed(this.speed)}onSetupTicker(t){return{dx:t.scale.x*this.x-t.scale.x,dy:t.scale.y*this.y-t.scale.y}}onTick(t,e,i,n){t.scale.set(t.scale.x+n.data.dx*i,t.scale.y+n.data.dy*i)}}class ScaleToAction extends Action{constructor(t,e,i){super(i),this.x=t,this.y=e}reversed(){return new DelayAction(this.scaledDuration)}onSetupTicker(t){return{startX:t.scale.x,startY:t.scale.y}}onTick(t,e,i,n){t.scale.set(void 0===this.x?t.scale.x:n.data.startX+(this.x-n.data.startX)*e,void 0===this.y?t.scale.y:n.data.startY+(this.y-n.data.startY)*e)}}class ScaleToSizeAction extends Action{constructor(t,e,i){super(i),this.width=t,this.height=e}reversed(){return new DelayAction(this.scaledDuration)}onSetupTicker(t){if("number"!=typeof t.width||"number"!=typeof t.height)throw new TypeError("The target must have numeric 'width' and 'height'.");return{width:t.width,height:t.height}}onTick(t,e,i,n){t.width=n.data.width+(this.width-n.data.width)*e,t.height=n.data.height+(this.height-n.data.height)*e}}class SpeedByAction extends Action{constructor(t,e){super(e),this._speed=t}reversed(){return new SpeedByAction(-this._speed,this.duration).setTimingMode(this.timingMode).setSpeed(this.speed)}onTick(t,e,i){t.speed+=this._speed*i}}class SpeedToAction extends Action{constructor(t,e){super(e),this._speed=t}reversed(){return new DelayAction(this.scaledDuration)}onSetupTicker(t){return{startSpeed:t.speed}}onTick(t,e,i,n){t.speed=n.data.startSpeed+(this._speed-n.data.startSpeed)*e}}class AnimateAction extends Action{constructor(t,e,i,n){super(t.length*e),this.textures=t,this.timePerFrame=e,this.resize=i,this.restore=n}onSetupTicker(t){if("texture"in t)return{previousTexture:t.texture};throw new Error("Target must be a Sprite")}onTickerRemoved(t,e){if(this.restore){const i=e.data.previousTexture;t.texture=i,this.resize&&(t.width=i.width,t.height=i.height)}}reversed(){const t=[...this.textures].reverse();return new AnimateAction(t,this.timePerFrame,this.resize,this.restore)}onTick(t,e,i,n){const s=Math.floor(e*this.textures.length),r=this.textures[s];void 0!==r&&t.texture!==r&&(t.texture=r,this.resize&&(t.width=r.width,t.height=r.height))}}class FadeByAction extends Action{constructor(t,e){super(e),this.alpha=t}reversed(){return new FadeByAction(-this.alpha,this.duration).setTimingMode(this.timingMode).setSpeed(this.speed)}onTick(t,e,i){t.alpha+=this.alpha*i}}class FadeAlphaToAction extends Action{constructor(t,e){super(e),this.alpha=t}reversed(){return new DelayAction(this.scaledDuration)}onSetupTicker(t){return{startAlpha:t.alpha}}onTick(t,e,i,n){t.alpha=n.data.startAlpha+(this.alpha-n.data.startAlpha)*e}}class FadeInAction extends FadeAlphaToAction{constructor(t){super(1,t)}reversed(){return new FadeAlphaToAction(0,this.duration).setTimingMode(this.timingMode).setSpeed(this.speed)}}class FadeOutAction extends FadeAlphaToAction{constructor(t){super(0,t)}reversed(){return new FadeAlphaToAction(1,this.duration).setTimingMode(this.timingMode).setSpeed(this.speed)}}const p=Math.PI/180;class _ extends Action{static get DefaultTimingModeEaseIn(){return Action._defaultTimingModeEaseIn}static set DefaultTimingModeEaseIn(t){Action._defaultTimingModeEaseIn=t}static get DefaultTimingModeEaseOut(){return Action._defaultTimingModeEaseOut}static set DefaultTimingModeEaseOut(t){Action._defaultTimingModeEaseOut=t}static get DefaultTimingModeEaseInOut(){return Action._defaultTimingModeEaseInOut}static set DefaultTimingModeEaseInOut(t){Action._defaultTimingModeEaseInOut=t}static tick(t,e){ActionTicker.tickAll(t,e)}static group(t){return new GroupAction(t)}static sequence(t){return new SequenceAction(t)}static repeat(t,e){return new RepeatAction(t,e)}static repeatForever(t){return new RepeatForeverAction(t)}static waitForDuration(t){return new DelayAction(t)}static waitForDurationWithRange(t,e){return new DelayAction(t+(e*Math.random()-.5*e))}static moveBy(t,e,i){return"number"==typeof t?new MoveByAction(t,e,i):new MoveByAction(t.x,t.y,e)}static moveByX(t,e){return this.moveBy(t,0,e)}static moveByY(t,e){return this.moveBy(0,t,e)}static moveTo(t,e,i){return"number"==typeof t?new MoveToAction(t,e,i):new MoveToAction(t.x,t.y,e)}static moveToX(t,e){return new MoveToAction(t,void 0,e)}static moveToY(t,e){return new MoveToAction(void 0,t,e)}static follow(t,e,i=!0,n=!0,s=!0){const r=FollowPathAction.getPath(t);return new FollowPathAction(r,e,i,n,s)}static followAtSpeed(t,e,i=!0,n=!0){const s=FollowPathAction.getPath(t),r=FollowPathAction.getLength(s);return new FollowPathAction(s,r[0]/e,i,n,!0)}static rotateBy(t,e){return new RotateByAction(t,e)}static rotateByDegrees(t,e){return this.rotateBy(t*p,e)}static rotateTo(t,e){return new RotateToAction(t,e)}static rotateToDegrees(t,e){return this.rotateTo(t*p,e)}static speedBy(t,e){return new SpeedByAction(t,e)}static speedTo(t,e){return new SpeedToAction(t,e)}static scaleBy(t,e,i){return"number"==typeof t?void 0===i?new ScaleByAction(t,t,e):new ScaleByAction(t,e,i):new ScaleByAction(t.x,t.y,e)}static scaleByX(t,e){return this.scaleBy(t,0,e)}static scaleByY(t,e){return this.scaleBy(0,t,e)}static scaleTo(t,e,i){return"number"==typeof t?void 0===i?new ScaleToAction(t,t,e):new ScaleToAction(t,e,i):new ScaleToSizeAction(t.width,t.height,e)}static scaleToX(t,e){return new ScaleToAction(t,void 0,e)}static scaleToY(t,e){return new ScaleToAction(void 0,t,e)}static fadeIn(t){return new FadeInAction(t)}static fadeOut(t){return new FadeOutAction(t)}static fadeAlphaTo(t,e){return new FadeAlphaToAction(t,e)}static fadeAlphaBy(t,e){return new FadeByAction(t,e)}static animate(t,e=1/60,i=!1,n=!0,s=!0){if(!Array.isArray(t)){const r=Object.keys(t.textures);s&&r.sort();const o=r.map((e=>t.textures[e]));return this.animate(o,e,i,n)}return new AnimateAction(t,e,i,n)}static hide(){return new SetVisibleAction(!1)}static unhide(){return new SetVisibleAction(!0)}static removeFromParent(){return new RemoveFromParentAction}static runOnChild(t,e){return new RunOnChildAction(e,t)}static run(t){return new RunBlockAction(t)}static customAction(t,e){return new CustomAction(t,e)}constructor(){super(-1)}}exports.Action=_,exports.TimingMode=h,exports.registerPixiJSActionsMixin=function registerPixiJSActionsMixin(t){const e=t.prototype;e.speed=1,e.isPaused=!1,e.run=function(t,e){return e?ActionTicker.runAction(void 0,this,_.sequence([t,_.run(e)])):ActionTicker.runAction(void 0,this,t)},e.runWithKey=function(t,e){ActionTicker.runAction(e,this,t)},e.runAsPromise=function(t){return new Promise((e=>this.run(t,(()=>e()))))},e.action=function(t){return ActionTicker.getTargetActionForKey(this,t)},e.hasActions=function(){return ActionTicker.hasTargetActions(this)},e.removeAllActions=function(){ActionTicker.removeAllTargetActions(this)},e.removeAction=function(t){ActionTicker.removeTargetActionForKey(this,t)}}; +"use strict";const t=Math.pow,e=Math.sqrt,i=Math.sin,n=Math.cos,s=Math.PI,r=1.70158,o=1.525*r,a=r+1,c=2*s/3,u=2*s/4.5,_bounceOut=function(t){const e=7.5625,i=2.75;return t<1/i?e*t*t:t<2/i?e*(t-=1.5/i)*t+.75:t<2.5/i?e*(t-=2.25/i)*t+.9375:e*(t-=2.625/i)*t+.984375},h={linear:t=>t,easeInQuad:function(t){return t*t},easeOutQuad:function(t){return 1-(1-t)*(1-t)},easeInOutQuad:function(e){return e<.5?2*e*e:1-t(-2*e+2,2)/2},easeInCubic:function(t){return t*t*t},easeOutCubic:function(e){return 1-t(1-e,3)},easeInOutCubic:function(e){return e<.5?4*e*e*e:1-t(-2*e+2,3)/2},easeInQuart:function(t){return t*t*t*t},easeOutQuart:function(e){return 1-t(1-e,4)},easeInOutQuart:function(e){return e<.5?8*e*e*e*e:1-t(-2*e+2,4)/2},easeInQuint:function(t){return t*t*t*t*t},easeOutQuint:function(e){return 1-t(1-e,5)},easeInOutQuint:function(e){return e<.5?16*e*e*e*e*e:1-t(-2*e+2,5)/2},easeInSine:function(t){return 1-n(t*s/2)},easeOutSine:function(t){return i(t*s/2)},easeInOutSine:function(t){return-(n(s*t)-1)/2},easeInExpo:function(e){return 0===e?0:t(2,10*e-10)},easeOutExpo:function(e){return 1===e?1:1-t(2,-10*e)},easeInOutExpo:function(e){return 0===e?0:1===e?1:e<.5?t(2,20*e-10)/2:(2-t(2,-20*e+10))/2},easeInCirc:function(i){return 1-e(1-t(i,2))},easeOutCirc:function(i){return e(1-t(i-1,2))},easeInOutCirc:function(i){return i<.5?(1-e(1-t(2*i,2)))/2:(e(1-t(-2*i+2,2))+1)/2},easeInBack:function(t){return a*t*t*t-r*t*t},easeOutBack:function(e){return 1+a*t(e-1,3)+r*t(e-1,2)},easeInOutBack:function(e){return e<.5?t(2*e,2)*(7.189819*e-o)/2:(t(2*e-2,2)*((o+1)*(2*e-2)+o)+2)/2},easeInElastic:function(e){return 0===e?0:1===e?1:-t(2,10*e-10)*i((10*e-10.75)*c)},easeOutElastic:function(e){return 0===e?0:1===e?1:t(2,-10*e)*i((10*e-.75)*c)+1},easeInOutElastic:function(e){return 0===e?0:1===e?1:e<.5?-t(2,20*e-10)*i((20*e-11.125)*u)/2:t(2,-20*e+10)*i((20*e-11.125)*u)/2+1},easeInBounce:function(t){return 1-_bounceOut(1-t)},easeOutBounce:_bounceOut,easeInOutBounce:function(t){return t<.5?(1-_bounceOut(1-2*t))/2:(1+_bounceOut(2*t-1))/2}};class Action{constructor(t,e=1,i=h.linear){if(this.duration=t,this.speed=e,this.timingMode=i,this.log=!1,t<0)throw new RangeError("Action duration must be 0 or more.")}get scaledDuration(){return this.duration/this.speed}setSpeed(t){return this.speed=t,this}setTimingMode(t){return this.timingMode=t,this}linear(){return this.setTimingMode(h.linear)}easeIn(){return this.setTimingMode(Action._defaultTimingModeEaseIn)}easeOut(){return this.setTimingMode(Action._defaultTimingModeEaseOut)}easeInOut(){return this.setTimingMode(Action._defaultTimingModeEaseInOut)}onSetupTicker(t,e){}onTickerDidReset(t){}onTickerRemoved(t,e){}}Action._defaultTimingModeEaseIn=h.easeInSine,Action._defaultTimingModeEaseOut=h.easeOutSine,Action._defaultTimingModeEaseInOut=h.easeInOutSine;const d=1-1e-10;class ActionTicker{static tickAll(t,e){const i=.001*t;for(const[t,n]of this._tickers.entries()){const[s,r]=_getTargetState(t);if(!(s||r<=0))for(const t of n.values())try{t.tick(i*r)}catch(i){void 0===e?console.error("Action failed with error: ",i):e(i),this._removeActionTicker(t)}}}static runAction(t,e,i){this._tickers.has(e)||this._tickers.set(e,new Map);const n=new ActionTicker(t,e,i);this._tickers.get(e).set(null!=t?t:n,n)}static hasTargetActions(t){return this._tickers.has(t)}static getTargetActionForKey(t,e){var i,n;return null===(n=null===(i=this._tickers.get(t))||void 0===i?void 0:i.get(e))||void 0===n?void 0:n.action}static removeTargetActionForKey(t,e){var i;const n=null===(i=this._tickers.get(t))||void 0===i?void 0:i.get(e);n&&this._removeActionTicker(n)}static removeAllTargetActions(t){this._tickers.delete(t)}static _removeActionTicker(t,e=!0){var i,n,s;const r=this._tickers.get(t.target);void 0!==r&&(e&&(null===(n=(i=t.action).onTickerRemoved)||void 0===n||n.call(i,t.target,t)),r.delete(null!==(s=t.key)&&void 0!==s?s:t),0===r.size&&this._tickers.delete(t.target))}constructor(t,e,i){this.key=t,this.target=e,this.action=i,this.isDone=!1,this.autoComplete=!0,this._elapsed=0,this._isSetup=!1,this.speed=i.speed,this.scaledDuration=i.scaledDuration,this.timingMode=i.timingMode}get timeDistance(){return 0===this.scaledDuration?1:Math.min(1,this._elapsed/this.scaledDuration)}get easedTimeDistance(){return this.timingMode(this.timeDistance)}tick(t){if(!this._isSetup){this.speed=this.action.speed,this.scaledDuration=this.action.duration,this.timingMode=this.action.timingMode;try{this.data=this.action.onSetupTicker(this.target,this)}catch(t){throw ActionTicker._removeActionTicker(this,!1),t}this._isSetup=!0}const e=this.target,i=this.action;if(null==e||e.destroyed)return void ActionTicker._removeActionTicker(this);const n=t*this.speed;if(0===this.scaledDuration)return i.onTick(this.target,1,1,this,n),this.isDone=!0,ActionTicker._removeActionTicker(this),t;if(0===t&&this.timeDistance=d?(this.isDone=!0,ActionTicker._removeActionTicker(this),this._elapsed>this.scaledDuration?this._elapsed-this.scaledDuration:0):-1}reset(){this._elapsed=0,this.isDone=!1,this._isSetup=!1,this.action.onTickerDidReset(this)}}function _getTargetState(t){let e=t,i=e.isPaused,n=e.speed;for(;!i&&null!=e.parent;)i=e.parent.isPaused,n*=e.parent.speed,e=e.parent;return[i,n]}ActionTicker._tickers=new Map;class GroupAction extends Action{constructor(t){super(Math.max(...t.map((t=>t.scaledDuration)))),this.actions=t}reversed(){return new GroupAction(this.actions.map((t=>t.reversed()))).setTimingMode(this.timingMode).setSpeed(this.speed)}onSetupTicker(t,e){return e.autoComplete=!1,{childTickers:this.actions.map((e=>new ActionTicker(void 0,t,e)))}}onTick(t,e,i,n,s){const r=n.scaledDuration===1/0?s*this.speed:i*n.scaledDuration;let o=!0;for(const t of n.data.childTickers)t.isDone||(o=!1,t.tick(r));o&&(n.isDone=!0)}onTickerDidReset(t){t.data.childTickers.forEach((t=>t.reset()))}}class RepeatAction extends Action{constructor(t,e){if(super(t.scaledDuration*e),this.action=t,this.repeats=e,!Number.isInteger(e)||e<0)throw new RangeError("The number of repeats must be a positive integer.")}reversed(){return new RepeatAction(this.action.reversed(),this.repeats).setTimingMode(this.timingMode).setSpeed(this.speed)}onSetupTicker(t,e){e.autoComplete=!1;const i=new ActionTicker(void 0,t,this.action);return i.timingMode=t=>e.timingMode(i.timingMode(t)),{childTicker:i,n:0}}onTick(t,e,i,n,s){const r=n.data.childTicker;let o=s*this.speed;if(o=r.tick(o),o>0||0===r.scaledDuration){if(++n.data.n>=this.repeats)return void(n.isDone=!0);r.reset(),o=r.tick(o)}}onTickerDidReset(t){t.data.childTicker.reset(),t.data.n=0}}class RepeatForeverAction extends Action{constructor(t){if(super(1/0),this.action=t,t.scaledDuration<=0)throw new TypeError("The action to be repeated must have a non-instantaneous duration.")}reversed(){return new RepeatForeverAction(this.action.reversed()).setTimingMode(this.timingMode).setSpeed(this.speed)}onSetupTicker(t,e){e.autoComplete=!1;const i=new ActionTicker(void 0,t,this.action);return i.timingMode=t=>e.timingMode(i.timingMode(t)),{childTicker:i}}onTick(t,e,i,n,s){const r=n.data.childTicker;let o=s*n.speed;o=r.tick(o),o>0&&(r.reset(),o=r.tick(o))}onTickerDidReset(t){t.data.childTicker.reset()}}class SequenceAction extends Action{constructor(t){super(t.reduce(((t,e)=>t+e.scaledDuration),0)),this.actions=t}reversed(){return new SequenceAction(this.actions.map((t=>t.reversed())).reverse()).setTimingMode(this.timingMode).setSpeed(this.speed)}onSetupTicker(t,e){return e.autoComplete=!1,{childTickers:this._squashedActions().map((e=>new ActionTicker(void 0,t,e)))}}onTick(t,e,i,n,s){let r=n.scaledDuration===1/0?s*this.speed:i*n.scaledDuration;for(const t of n.data.childTickers)if(!t.isDone&&(r=t.tick(r),r<0))return;n.isDone=!0}onTickerDidReset(t){t.data.childTickers.forEach((t=>t.reset()))}_squashedActions(){const t=[];for(const e of this.actions)e instanceof SequenceAction&&1===e.speed&&e.timingMode===h.linear?t.push(...e._squashedActions()):t.push(e);return t}}class CustomAction extends Action{constructor(t,e){super(t),this.stepFn=e}onTick(t,e,i){this.stepFn(t,e,i)}reversed(){return this}}class RunBlockAction extends Action{constructor(t){super(0),this.block=t}reversed(){return this}onTick(t){this.block(t)}}class DelayAction extends Action{onTick(){}reversed(){return this}}class RunOnChildAction extends Action{constructor(t,e){super(0),this.action=t,this.label=e}reversed(){return new RunOnChildAction(this.action.reversed(),this.label).setTimingMode(this.timingMode).setSpeed(this.speed)}onTick(t){if(void 0===t.children||!Array.isArray(t.children))throw new TypeError("The target did not have children.");let e;if(e="getChildByLabel"in t?t.getChildByLabel(this.label):t.children.find((t=>t.label===this.label||t.name===this.label)),!e)throw new ReferenceError(`The target did not have a child matching '${this.label}'.`);e.run(this.action)}}class SetVisibleAction extends Action{constructor(t){super(0),this.visible=t}reversed(){return new SetVisibleAction(!this.visible).setTimingMode(this.timingMode).setSpeed(this.speed)}onTick(t){t.visible=this.visible}}const l=Math.PI/2;class FollowPathAction extends Action{constructor(t,e,i,n,s){if(super(e),this.asOffset=i,this.orientToPath=n,this.fixedSpeed=s,this.path=t,this.lastIndex=t.length-1,n||s){const[e,i]=FollowPathAction.getLength(t);this.segmentLengths=i,s&&(this.segmentWeights=i.map((t=>t/(e||1))))}}static getPath(t){return Array.isArray(t)?[...t]:[...t.points]}static getLength(t){let e=0;const i=[];for(let n=0;n0){const t=this.path[0],e=this.path[this.path.length-1],i=e.x+t.x,n=e.y+t.y;return this.path.map((({x:t,y:e})=>({x:t-i,y:e-n}))).reverse()}return[...this.path].reverse()}_getDynamicSpeedProgress(t){const e=Math.max(Math.min(Math.floor(t*this.lastIndex),this.lastIndex-1),0),i=this.lastIndex||1;return[e,(t-e/i)*i]}_getFixedSpeedProgress(t){let e=t,i=0,n=0;for(let t=0;te||t===this.lastIndex-1){n=e/s||1;break}e-=s,i++}return[i,n]}}class MoveByAction extends Action{constructor(t,e,i){super(i),this.x=t,this.y=e}reversed(){return new MoveByAction(-this.x,-this.y,this.duration).setTimingMode(this.timingMode).setSpeed(this.speed)}onTick(t,e,i){t.position.x+=this.x*i,t.position.y+=this.y*i}}class MoveToAction extends Action{constructor(t,e,i){super(i),this.x=t,this.y=e}reversed(){return new DelayAction(this.scaledDuration)}onSetupTicker(t){return{startX:t.x,startY:t.y}}onTick(t,e,i,n){t.position.set(void 0===this.x?t.position.x:n.data.startX+(this.x-n.data.startX)*e,void 0===this.y?t.position.y:n.data.startY+(this.y-n.data.startY)*e)}}class RotateByAction extends Action{constructor(t,e){super(e),this.rotation=t}reversed(){return new RotateByAction(-this.rotation,this.duration).setTimingMode(this.timingMode).setSpeed(this.speed)}onTick(t,e,i){t.rotation+=this.rotation*i}}class RotateToAction extends Action{constructor(t,e){super(e),this.rotation=t}reversed(){return new DelayAction(this.scaledDuration)}onSetupTicker(t){return{startRotation:t.rotation}}onTick(t,e,i,n){t.rotation=n.data.startRotation+(this.rotation-n.data.startRotation)*e}}class ScaleByAction extends Action{constructor(t,e,i){super(i),this.x=t,this.y=e}reversed(){return new ScaleByAction(-this.x,-this.y,this.duration).setTimingMode(this.timingMode).setSpeed(this.speed)}onSetupTicker(t){return{dx:t.scale.x*this.x-t.scale.x,dy:t.scale.y*this.y-t.scale.y}}onTick(t,e,i,n){t.scale.set(t.scale.x+n.data.dx*i,t.scale.y+n.data.dy*i)}}class ScaleToAction extends Action{constructor(t,e,i){super(i),this.x=t,this.y=e}reversed(){return new DelayAction(this.scaledDuration)}onSetupTicker(t){return{startX:t.scale.x,startY:t.scale.y}}onTick(t,e,i,n){t.scale.set(void 0===this.x?t.scale.x:n.data.startX+(this.x-n.data.startX)*e,void 0===this.y?t.scale.y:n.data.startY+(this.y-n.data.startY)*e)}}class ScaleToSizeAction extends Action{constructor(t,e,i){super(i),this.width=t,this.height=e}reversed(){return new DelayAction(this.scaledDuration)}onSetupTicker(t){if("number"!=typeof t.width||"number"!=typeof t.height)throw new TypeError("The target must have numeric 'width' and 'height'.");return{width:t.width,height:t.height}}onTick(t,e,i,n){t.width=n.data.width+(this.width-n.data.width)*e,t.height=n.data.height+(this.height-n.data.height)*e}}class SpeedByAction extends Action{constructor(t,e){super(e),this._speed=t}reversed(){return new SpeedByAction(-this._speed,this.duration).setTimingMode(this.timingMode).setSpeed(this.speed)}onTick(t,e,i){t.speed+=this._speed*i}}class SpeedToAction extends Action{constructor(t,e){super(e),this._speed=t}reversed(){return new DelayAction(this.scaledDuration)}onSetupTicker(t){return{startSpeed:t.speed}}onTick(t,e,i,n){t.speed=n.data.startSpeed+(this._speed-n.data.startSpeed)*e}}class AnimateAction extends Action{constructor(t,e,i,n){super(t.length*e),this.textures=t,this.timePerFrame=e,this.resize=i,this.restore=n}onSetupTicker(t){if("texture"in t)return{previousTexture:t.texture};throw new Error("Target must be a Sprite")}onTickerRemoved(t,e){if(this.restore){const i=e.data.previousTexture;t.texture=i,this.resize&&(t.width=i.width,t.height=i.height)}}reversed(){const t=[...this.textures].reverse();return new AnimateAction(t,this.timePerFrame,this.resize,this.restore)}onTick(t,e,i,n){const s=Math.floor(e*this.textures.length),r=this.textures[s];void 0!==r&&t.texture!==r&&(t.texture=r,this.resize&&(t.width=r.width,t.height=r.height))}}class FadeByAction extends Action{constructor(t,e){super(e),this.alpha=t}reversed(){return new FadeByAction(-this.alpha,this.duration).setTimingMode(this.timingMode).setSpeed(this.speed)}onTick(t,e,i){t.alpha+=this.alpha*i}}class FadeAlphaToAction extends Action{constructor(t,e){super(e),this.alpha=t}reversed(){return new DelayAction(this.scaledDuration)}onSetupTicker(t){return{startAlpha:t.alpha}}onTick(t,e,i,n){t.alpha=n.data.startAlpha+(this.alpha-n.data.startAlpha)*e}}class FadeInAction extends FadeAlphaToAction{constructor(t){super(1,t)}reversed(){return new FadeAlphaToAction(0,this.duration).setTimingMode(this.timingMode).setSpeed(this.speed)}}class FadeOutAction extends FadeAlphaToAction{constructor(t){super(0,t)}reversed(){return new FadeAlphaToAction(1,this.duration).setTimingMode(this.timingMode).setSpeed(this.speed)}}const p=Math.PI/180;class _ extends Action{static get DefaultTimingModeEaseIn(){return Action._defaultTimingModeEaseIn}static set DefaultTimingModeEaseIn(t){Action._defaultTimingModeEaseIn=t}static get DefaultTimingModeEaseOut(){return Action._defaultTimingModeEaseOut}static set DefaultTimingModeEaseOut(t){Action._defaultTimingModeEaseOut=t}static get DefaultTimingModeEaseInOut(){return Action._defaultTimingModeEaseInOut}static set DefaultTimingModeEaseInOut(t){Action._defaultTimingModeEaseInOut=t}static tick(t,e){ActionTicker.tickAll(t,e)}static group(t){return new GroupAction(t)}static sequence(t){return new SequenceAction(t)}static repeat(t,e){return new RepeatAction(t,e)}static repeatForever(t){return new RepeatForeverAction(t)}static waitForDuration(t){return new DelayAction(t)}static waitForDurationWithRange(t,e){return new DelayAction(t+(e*Math.random()-.5*e))}static moveBy(t,e,i){return"number"==typeof t?new MoveByAction(t,e,i):new MoveByAction(t.x,t.y,e)}static moveByX(t,e){return this.moveBy(t,0,e)}static moveByY(t,e){return this.moveBy(0,t,e)}static moveTo(t,e,i){return"number"==typeof t?new MoveToAction(t,e,i):new MoveToAction(t.x,t.y,e)}static moveToX(t,e){return new MoveToAction(t,void 0,e)}static moveToY(t,e){return new MoveToAction(void 0,t,e)}static follow(t,e,i=!0,n=!0,s=!0){const r=FollowPathAction.getPath(t);return new FollowPathAction(r,e,i,n,s)}static followAtSpeed(t,e,i=!0,n=!0){const s=FollowPathAction.getPath(t),r=FollowPathAction.getLength(s);return new FollowPathAction(s,r[0]/e,i,n,!0)}static rotateBy(t,e){return new RotateByAction(t,e)}static rotateByDegrees(t,e){return this.rotateBy(t*p,e)}static rotateTo(t,e){return new RotateToAction(t,e)}static rotateToDegrees(t,e){return this.rotateTo(t*p,e)}static speedBy(t,e){return new SpeedByAction(t,e)}static speedTo(t,e){return new SpeedToAction(t,e)}static scaleBy(t,e,i){return"number"==typeof t?void 0===i?new ScaleByAction(t,t,e):new ScaleByAction(t,e,i):new ScaleByAction(t.x,t.y,e)}static scaleByX(t,e){return this.scaleBy(t,0,e)}static scaleByY(t,e){return this.scaleBy(0,t,e)}static scaleTo(t,e,i){return"number"==typeof t?void 0===i?new ScaleToAction(t,t,e):new ScaleToAction(t,e,i):new ScaleToSizeAction(t.width,t.height,e)}static scaleToX(t,e){return new ScaleToAction(t,void 0,e)}static scaleToY(t,e){return new ScaleToAction(void 0,t,e)}static fadeIn(t){return new FadeInAction(t)}static fadeOut(t){return new FadeOutAction(t)}static fadeAlphaTo(t,e){return new FadeAlphaToAction(t,e)}static fadeAlphaBy(t,e){return new FadeByAction(t,e)}static animate(t,e=1/60,i=!1,n=!0,s=!0){if(!Array.isArray(t)){const r=Object.keys(t.textures);s&&r.sort();const o=r.map((e=>t.textures[e]));return this.animate(o,e,i,n)}return new AnimateAction(t,e,i,n)}static hide(){return new SetVisibleAction(!1)}static unhide(){return new SetVisibleAction(!0)}static destroy(t){return this.run((e=>e.destroy(t)))}static removeFromParent(){return this.run((t=>{var e;return null===(e=t.parent)||void 0===e?void 0:e.removeChild(t)}))}static runOnChild(t,e){return new RunOnChildAction(e,t)}static run(t){return new RunBlockAction(t)}static customAction(t,e){return new CustomAction(t,e)}constructor(){super(-1)}}exports.Action=_,exports.TimingMode=h,exports.registerPixiJSActionsMixin=function registerPixiJSActionsMixin(t){const e=t.prototype;e.speed=1,e.isPaused=!1,e.run=function(t,e){return e?ActionTicker.runAction(void 0,this,_.sequence([t,_.run(e)])):ActionTicker.runAction(void 0,this,t)},e.runWithKey=function(t,e){ActionTicker.runAction(e,this,t)},e.runAsPromise=function(t){return new Promise((e=>this.run(t,(()=>e()))))},e.action=function(t){return ActionTicker.getTargetActionForKey(this,t)},e.hasActions=function(){return ActionTicker.hasTargetActions(this)},e.removeAllActions=function(){ActionTicker.removeAllTargetActions(this)},e.removeAction=function(t){ActionTicker.removeTargetActionForKey(this,t)}}; //# sourceMappingURL=index.cjs.map diff --git a/dist/index.cjs.map b/dist/index.cjs.map index aae4703..3baa257 100644 --- a/dist/index.cjs.map +++ b/dist/index.cjs.map @@ -1 +1 @@ -{"version":3,"file":"index.cjs","sources":["../src/TimingMode.ts","../src/lib/Action.ts","../src/lib/ActionTicker.ts","../src/actions/chainable/GroupAction.ts","../src/actions/chainable/RepeatAction.ts","../src/actions/chainable/RepeatForeverAction.ts","../src/actions/chainable/SequenceAction.ts","../src/actions/custom/CustomAction.ts","../src/actions/custom/RunBlockAction.ts","../src/actions/delay/DelayAction.ts","../src/actions/display-object/RemoveFromParentAction.ts","../src/actions/display-object/RunOnChildAction.ts","../src/actions/display-object/SetVisibleAction.ts","../src/actions/follow-path/FollowPathAction.ts","../src/actions/move/MoveByAction.ts","../src/actions/move/MoveToAction.ts","../src/actions/rotate/RotateByAction.ts","../src/actions/rotate/RotateToAction.ts","../src/actions/scale/ScaleByAction.ts","../src/actions/scale/ScaleToAction.ts","../src/actions/scale/ScaleToSizeAction.ts","../src/actions/speed/SpeedByAction.ts","../src/actions/speed/SpeedToAction.ts","../src/actions/sprite/AnimateAction.ts","../src/actions/transparency/FadeAlphaByAction.ts","../src/actions/transparency/FadeAlphaToAction.ts","../src/actions/transparency/FadeInAction.ts","../src/actions/transparency/FadeOutAction.ts","../src/Action.ts","../src/Container.mixin.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["pow","Math","sqrt","sin","cos","PI","c1","c2","c3","c4","c5","_bounceOut","x","n1","d1","TimingMode","linear","easeInQuad","easeOutQuad","easeInOutQuad","easeInCubic","easeOutCubic","easeInOutCubic","easeInQuart","easeOutQuart","easeInOutQuart","easeInQuint","easeOutQuint","easeInOutQuint","easeInSine","easeOutSine","easeInOutSine","easeInExpo","easeOutExpo","easeInOutExpo","easeInCirc","easeOutCirc","easeInOutCirc","easeInBack","easeOutBack","easeInOutBack","easeInElastic","easeOutElastic","easeInOutElastic","easeInBounce","easeOutBounce","easeInOutBounce","Action","constructor","duration","speed","timingMode","this","log","RangeError","scaledDuration","setSpeed","setTimingMode","easeIn","_defaultTimingModeEaseIn","easeOut","_defaultTimingModeEaseOut","easeInOut","_defaultTimingModeEaseInOut","onSetupTicker","target","ticker","onTickerDidReset","onTickerRemoved","EPSILON_1","ActionTicker","tickAll","deltaTimeMs","onErrorHandler","deltaTime","tickers","_tickers","entries","isPaused","_getTargetState","actionTicker","values","tick","error","undefined","console","_removeActionTicker","runAction","key","action","has","set","Map","get","hasTargetActions","getTargetActionForKey","_a","_b","removeTargetActionForKey","removeAllTargetActions","delete","propagate","call","_c","size","isDone","autoComplete","_elapsed","_isSetup","timeDistance","min","easedTimeDistance","data","destroyed","scaledDeltaTime","onTick","b","t","dt","reset","leaf","parent","GroupAction","actions","super","max","map","reversed","childTickers","relativeDeltaTime","Infinity","allDone","childTicker","forEach","RepeatAction","repeats","Number","isInteger","n","remainingDeltaTime","RepeatForeverAction","TypeError","SequenceAction","reduce","total","reverse","_squashedActions","push","CustomAction","stepFn","RunBlockAction","block","DelayAction","RemoveFromParentAction","removeChild","RunOnChildAction","nameOrLabel","children","Array","isArray","child","getChildByLabel","find","label","name","ReferenceError","run","SetVisibleAction","visible","HALF_PI","FollowPathAction","path","asOffset","orientToPath","fixedSpeed","lastIndex","length","totalDist","segmentLengths","getLength","segmentWeights","v","getPath","points","totalLength","i","directionX","directionY","y","_getReversedPath","index","st","_getFixedSpeedProgress","_getDynamicSpeedProgress","startPoint","endPoint","position","ndx","ndy","rotation","atan2","first","last","dx","dy","floor","lastIndexNonZero","remainingProgress","segmentWeight","MoveByAction","MoveToAction","startX","startY","RotateByAction","RotateToAction","startRotation","ScaleByAction","scale","ScaleToAction","ScaleToSizeAction","width","height","SpeedByAction","_speed","SpeedToAction","startSpeed","AnimateAction","textures","timePerFrame","resize","restore","previousTexture","texture","Error","reversedTextures","_dt","FadeByAction","alpha","FadeAlphaToAction","startAlpha","FadeInAction","FadeOutAction","DEG_TO_RAD","_","DefaultTimingModeEaseIn","value","DefaultTimingModeEaseOut","DefaultTimingModeEaseInOut","group","sequence","repeat","repeatForever","waitForDuration","waitForDurationWithRange","average","rangeSize","random","moveBy","a","c","moveByX","moveByY","moveTo","moveToX","moveToY","follow","_path","followAtSpeed","_length","rotateBy","rotateByDegrees","degrees","rotateTo","rotateToDegrees","speedBy","speedTo","scaleBy","scaleByX","scaleByY","scaleTo","scaleToX","scaleToY","fadeIn","fadeOut","fadeAlphaTo","fadeAlphaBy","animate","sortByKey","keys","Object","sort","hide","unhide","removeFromParent","runOnChild","fn","customAction","registerPixiJSActionsMixin","container","prototype","completion","runWithKey","runAsPromise","Promise","resolve","forKey","hasActions","removeAllActions","removeAction"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"index.cjs","sources":["../src/TimingMode.ts","../src/lib/Action.ts","../src/lib/ActionTicker.ts","../src/actions/chainable/GroupAction.ts","../src/actions/chainable/RepeatAction.ts","../src/actions/chainable/RepeatForeverAction.ts","../src/actions/chainable/SequenceAction.ts","../src/actions/custom/CustomAction.ts","../src/actions/custom/RunBlockAction.ts","../src/actions/delay/DelayAction.ts","../src/actions/container/RunOnChildAction.ts","../src/actions/container/SetVisibleAction.ts","../src/actions/follow-path/FollowPathAction.ts","../src/actions/move/MoveByAction.ts","../src/actions/move/MoveToAction.ts","../src/actions/rotate/RotateByAction.ts","../src/actions/rotate/RotateToAction.ts","../src/actions/scale/ScaleByAction.ts","../src/actions/scale/ScaleToAction.ts","../src/actions/scale/ScaleToSizeAction.ts","../src/actions/speed/SpeedByAction.ts","../src/actions/speed/SpeedToAction.ts","../src/actions/sprite/AnimateAction.ts","../src/actions/transparency/FadeAlphaByAction.ts","../src/actions/transparency/FadeAlphaToAction.ts","../src/actions/transparency/FadeInAction.ts","../src/actions/transparency/FadeOutAction.ts","../src/Action.ts","../src/Container.mixin.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["pow","Math","sqrt","sin","cos","PI","c1","c2","c3","c4","c5","_bounceOut","x","n1","d1","TimingMode","linear","easeInQuad","easeOutQuad","easeInOutQuad","easeInCubic","easeOutCubic","easeInOutCubic","easeInQuart","easeOutQuart","easeInOutQuart","easeInQuint","easeOutQuint","easeInOutQuint","easeInSine","easeOutSine","easeInOutSine","easeInExpo","easeOutExpo","easeInOutExpo","easeInCirc","easeOutCirc","easeInOutCirc","easeInBack","easeOutBack","easeInOutBack","easeInElastic","easeOutElastic","easeInOutElastic","easeInBounce","easeOutBounce","easeInOutBounce","Action","constructor","duration","speed","timingMode","this","log","RangeError","scaledDuration","setSpeed","setTimingMode","easeIn","_defaultTimingModeEaseIn","easeOut","_defaultTimingModeEaseOut","easeInOut","_defaultTimingModeEaseInOut","onSetupTicker","target","ticker","onTickerDidReset","onTickerRemoved","EPSILON_1","ActionTicker","tickAll","deltaTimeMs","onErrorHandler","deltaTime","tickers","_tickers","entries","isPaused","_getTargetState","actionTicker","values","tick","error","undefined","console","_removeActionTicker","runAction","key","action","has","set","Map","get","hasTargetActions","getTargetActionForKey","_a","_b","removeTargetActionForKey","removeAllTargetActions","delete","propagate","call","_c","size","isDone","autoComplete","_elapsed","_isSetup","timeDistance","min","easedTimeDistance","data","destroyed","scaledDeltaTime","onTick","b","t","dt","reset","leaf","parent","GroupAction","actions","super","max","map","reversed","childTickers","relativeDeltaTime","Infinity","allDone","childTicker","forEach","RepeatAction","repeats","Number","isInteger","n","remainingDeltaTime","RepeatForeverAction","TypeError","SequenceAction","reduce","total","reverse","_squashedActions","push","CustomAction","stepFn","RunBlockAction","block","DelayAction","RunOnChildAction","label","children","Array","isArray","child","getChildByLabel","find","name","ReferenceError","run","SetVisibleAction","visible","HALF_PI","FollowPathAction","path","asOffset","orientToPath","fixedSpeed","lastIndex","length","totalDist","segmentLengths","getLength","segmentWeights","v","getPath","points","totalLength","i","directionX","directionY","y","_getReversedPath","index","st","_getFixedSpeedProgress","_getDynamicSpeedProgress","startPoint","endPoint","position","ndx","ndy","rotation","atan2","first","last","dx","dy","floor","lastIndexNonZero","remainingProgress","segmentWeight","MoveByAction","MoveToAction","startX","startY","RotateByAction","RotateToAction","startRotation","ScaleByAction","scale","ScaleToAction","ScaleToSizeAction","width","height","SpeedByAction","_speed","SpeedToAction","startSpeed","AnimateAction","textures","timePerFrame","resize","restore","previousTexture","texture","Error","reversedTextures","_dt","FadeByAction","alpha","FadeAlphaToAction","startAlpha","FadeInAction","FadeOutAction","DEG_TO_RAD","_","DefaultTimingModeEaseIn","value","DefaultTimingModeEaseOut","DefaultTimingModeEaseInOut","group","sequence","repeat","repeatForever","waitForDuration","waitForDurationWithRange","average","rangeSize","random","moveBy","a","c","moveByX","moveByY","moveTo","moveToX","moveToY","follow","_path","followAtSpeed","_length","rotateBy","rotateByDegrees","degrees","rotateTo","rotateToDegrees","speedBy","speedTo","scaleBy","scaleByX","scaleByY","scaleTo","scaleToX","scaleToY","fadeIn","fadeOut","fadeAlphaTo","fadeAlphaBy","animate","sortByKey","keys","Object","sort","hide","unhide","destroy","options","removeFromParent","removeChild","runOnChild","childLabel","fn","customAction","registerPixiJSActionsMixin","container","prototype","completion","runWithKey","runAsPromise","Promise","resolve","forKey","hasActions","removeAllActions","removeAction"],"mappings":"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"} \ No newline at end of file diff --git a/dist/index.d.ts b/dist/index.d.ts index 7c4c6c8..81d1da8 100644 --- a/dist/index.d.ts +++ b/dist/index.d.ts @@ -538,6 +538,15 @@ declare abstract class _ extends Action { * This action is reversible. The reversed action is equivalent to hide(). */ static unhide(): Action; + /** + * Creates an action that removes all internal references, listeners and actions, + * as well as removes children from the display list. + * + * This action has an instantaneous duration. + * + * This action is not reversible; the reverse of this action is the same action. + */ + static destroy(options?: DestroyOptions): Action; /** * Creates an action that removes the node from its parent. * @@ -556,7 +565,7 @@ declare abstract class _ extends Action { * This action is reversible; it tells the child to execute the reverse of the action specified by * the action parameter. */ - static runOnChild(nameOrLabel: string, action: Action): Action; + static runOnChild(childLabel: string, action: Action): Action; /** * Creates an action that executes a block. * @@ -564,7 +573,7 @@ declare abstract class _ extends Action { * * This action is not reversible; the reverse action executes the same block. */ - static run(fn: () => void): Action; + static run(fn: (target: TargetNode) => void): Action; /** * Creates an action that executes a stepping function over its duration. * @@ -633,6 +642,7 @@ export interface IActionTicker { tick(deltaTime: number): number; reset(): void; } +export type DestroyOptions = Parameters[0]; /** * Any timing mode function. * diff --git a/dist/index.mjs b/dist/index.mjs index 50a50bf..2e07856 100644 --- a/dist/index.mjs +++ b/dist/index.mjs @@ -1,2 +1,2 @@ -const t=Math.pow,e=Math.sqrt,i=Math.sin,n=Math.cos,s=Math.PI,r=1.70158,o=1.525*r,a=r+1,c=2*s/3,u=2*s/4.5,_bounceOut=function(t){const e=7.5625,i=2.75;return t<1/i?e*t*t:t<2/i?e*(t-=1.5/i)*t+.75:t<2.5/i?e*(t-=2.25/i)*t+.9375:e*(t-=2.625/i)*t+.984375},h={linear:t=>t,easeInQuad:function(t){return t*t},easeOutQuad:function(t){return 1-(1-t)*(1-t)},easeInOutQuad:function(e){return e<.5?2*e*e:1-t(-2*e+2,2)/2},easeInCubic:function(t){return t*t*t},easeOutCubic:function(e){return 1-t(1-e,3)},easeInOutCubic:function(e){return e<.5?4*e*e*e:1-t(-2*e+2,3)/2},easeInQuart:function(t){return t*t*t*t},easeOutQuart:function(e){return 1-t(1-e,4)},easeInOutQuart:function(e){return e<.5?8*e*e*e*e:1-t(-2*e+2,4)/2},easeInQuint:function(t){return t*t*t*t*t},easeOutQuint:function(e){return 1-t(1-e,5)},easeInOutQuint:function(e){return e<.5?16*e*e*e*e*e:1-t(-2*e+2,5)/2},easeInSine:function(t){return 1-n(t*s/2)},easeOutSine:function(t){return i(t*s/2)},easeInOutSine:function(t){return-(n(s*t)-1)/2},easeInExpo:function(e){return 0===e?0:t(2,10*e-10)},easeOutExpo:function(e){return 1===e?1:1-t(2,-10*e)},easeInOutExpo:function(e){return 0===e?0:1===e?1:e<.5?t(2,20*e-10)/2:(2-t(2,-20*e+10))/2},easeInCirc:function(i){return 1-e(1-t(i,2))},easeOutCirc:function(i){return e(1-t(i-1,2))},easeInOutCirc:function(i){return i<.5?(1-e(1-t(2*i,2)))/2:(e(1-t(-2*i+2,2))+1)/2},easeInBack:function(t){return a*t*t*t-r*t*t},easeOutBack:function(e){return 1+a*t(e-1,3)+r*t(e-1,2)},easeInOutBack:function(e){return e<.5?t(2*e,2)*(7.189819*e-o)/2:(t(2*e-2,2)*((o+1)*(2*e-2)+o)+2)/2},easeInElastic:function(e){return 0===e?0:1===e?1:-t(2,10*e-10)*i((10*e-10.75)*c)},easeOutElastic:function(e){return 0===e?0:1===e?1:t(2,-10*e)*i((10*e-.75)*c)+1},easeInOutElastic:function(e){return 0===e?0:1===e?1:e<.5?-t(2,20*e-10)*i((20*e-11.125)*u)/2:t(2,-20*e+10)*i((20*e-11.125)*u)/2+1},easeInBounce:function(t){return 1-_bounceOut(1-t)},easeOutBounce:_bounceOut,easeInOutBounce:function(t){return t<.5?(1-_bounceOut(1-2*t))/2:(1+_bounceOut(2*t-1))/2}};class Action{constructor(t,e=1,i=h.linear){if(this.duration=t,this.speed=e,this.timingMode=i,this.log=!1,t<0)throw new RangeError("Action duration must be 0 or more.")}get scaledDuration(){return this.duration/this.speed}setSpeed(t){return this.speed=t,this}setTimingMode(t){return this.timingMode=t,this}linear(){return this.setTimingMode(h.linear)}easeIn(){return this.setTimingMode(Action._defaultTimingModeEaseIn)}easeOut(){return this.setTimingMode(Action._defaultTimingModeEaseOut)}easeInOut(){return this.setTimingMode(Action._defaultTimingModeEaseInOut)}onSetupTicker(t,e){}onTickerDidReset(t){}onTickerRemoved(t,e){}}Action._defaultTimingModeEaseIn=h.easeInSine,Action._defaultTimingModeEaseOut=h.easeOutSine,Action._defaultTimingModeEaseInOut=h.easeInOutSine;const d=1-1e-10;class ActionTicker{static tickAll(t,e){const i=.001*t;for(const[t,n]of this._tickers.entries()){const[s,r]=_getTargetState(t);if(!(s||r<=0))for(const t of n.values())try{t.tick(i*r)}catch(i){void 0===e?console.error("Action failed with error: ",i):e(i),this._removeActionTicker(t)}}}static runAction(t,e,i){this._tickers.has(e)||this._tickers.set(e,new Map);const n=new ActionTicker(t,e,i);this._tickers.get(e).set(null!=t?t:n,n)}static hasTargetActions(t){return this._tickers.has(t)}static getTargetActionForKey(t,e){var i,n;return null===(n=null===(i=this._tickers.get(t))||void 0===i?void 0:i.get(e))||void 0===n?void 0:n.action}static removeTargetActionForKey(t,e){var i;const n=null===(i=this._tickers.get(t))||void 0===i?void 0:i.get(e);n&&this._removeActionTicker(n)}static removeAllTargetActions(t){this._tickers.delete(t)}static _removeActionTicker(t,e=!0){var i,n,s;const r=this._tickers.get(t.target);void 0!==r&&(e&&(null===(n=(i=t.action).onTickerRemoved)||void 0===n||n.call(i,t.target,t)),r.delete(null!==(s=t.key)&&void 0!==s?s:t),0===r.size&&this._tickers.delete(t.target))}constructor(t,e,i){this.key=t,this.target=e,this.action=i,this.isDone=!1,this.autoComplete=!0,this._elapsed=0,this._isSetup=!1,this.speed=i.speed,this.scaledDuration=i.scaledDuration,this.timingMode=i.timingMode}get timeDistance(){return 0===this.scaledDuration?1:Math.min(1,this._elapsed/this.scaledDuration)}get easedTimeDistance(){return this.timingMode(this.timeDistance)}tick(t){if(!this._isSetup){this.speed=this.action.speed,this.scaledDuration=this.action.duration,this.timingMode=this.action.timingMode;try{this.data=this.action.onSetupTicker(this.target,this)}catch(t){throw ActionTicker._removeActionTicker(this,!1),t}this._isSetup=!0}const e=this.target,i=this.action;if(null==e||e.destroyed)return void ActionTicker._removeActionTicker(this);const n=t*this.speed;if(0===this.scaledDuration)return i.onTick(this.target,1,1,this,n),this.isDone=!0,ActionTicker._removeActionTicker(this),t;if(0===t&&this.timeDistance=d?(this.isDone=!0,ActionTicker._removeActionTicker(this),this._elapsed>this.scaledDuration?this._elapsed-this.scaledDuration:0):-1}reset(){this._elapsed=0,this.isDone=!1,this._isSetup=!1,this.action.onTickerDidReset(this)}}function _getTargetState(t){let e=t,i=e.isPaused,n=e.speed;for(;!i&&null!=e.parent;)i=e.parent.isPaused,n*=e.parent.speed,e=e.parent;return[i,n]}ActionTicker._tickers=new Map;class GroupAction extends Action{constructor(t){super(Math.max(...t.map((t=>t.scaledDuration)))),this.actions=t}reversed(){return new GroupAction(this.actions.map((t=>t.reversed()))).setTimingMode(this.timingMode).setSpeed(this.speed)}onSetupTicker(t,e){return e.autoComplete=!1,{childTickers:this.actions.map((e=>new ActionTicker(void 0,t,e)))}}onTick(t,e,i,n,s){const r=n.scaledDuration===1/0?s*this.speed:i*n.scaledDuration;let o=!0;for(const t of n.data.childTickers)t.isDone||(o=!1,t.tick(r));o&&(n.isDone=!0)}onTickerDidReset(t){t.data.childTickers.forEach((t=>t.reset()))}}class RepeatAction extends Action{constructor(t,e){if(super(t.scaledDuration*e),this.action=t,this.repeats=e,!Number.isInteger(e)||e<0)throw new RangeError("The number of repeats must be a positive integer.")}reversed(){return new RepeatAction(this.action.reversed(),this.repeats).setTimingMode(this.timingMode).setSpeed(this.speed)}onSetupTicker(t,e){e.autoComplete=!1;const i=new ActionTicker(void 0,t,this.action);return i.timingMode=t=>e.timingMode(i.timingMode(t)),{childTicker:i,n:0}}onTick(t,e,i,n,s){const r=n.data.childTicker;let o=s*this.speed;if(o=r.tick(o),o>0||0===r.scaledDuration){if(++n.data.n>=this.repeats)return void(n.isDone=!0);r.reset(),o=r.tick(o)}}onTickerDidReset(t){t.data.childTicker.reset(),t.data.n=0}}class RepeatForeverAction extends Action{constructor(t){if(super(1/0),this.action=t,t.scaledDuration<=0)throw new TypeError("The action to be repeated must have a non-instantaneous duration.")}reversed(){return new RepeatForeverAction(this.action.reversed()).setTimingMode(this.timingMode).setSpeed(this.speed)}onSetupTicker(t,e){e.autoComplete=!1;const i=new ActionTicker(void 0,t,this.action);return i.timingMode=t=>e.timingMode(i.timingMode(t)),{childTicker:i}}onTick(t,e,i,n,s){const r=n.data.childTicker;let o=s*n.speed;o=r.tick(o),o>0&&(r.reset(),o=r.tick(o))}onTickerDidReset(t){t.data.childTicker.reset()}}class SequenceAction extends Action{constructor(t){super(t.reduce(((t,e)=>t+e.scaledDuration),0)),this.actions=t}reversed(){return new SequenceAction(this.actions.map((t=>t.reversed())).reverse()).setTimingMode(this.timingMode).setSpeed(this.speed)}onSetupTicker(t,e){return e.autoComplete=!1,{childTickers:this._squashedActions().map((e=>new ActionTicker(void 0,t,e)))}}onTick(t,e,i,n,s){let r=n.scaledDuration===1/0?s*this.speed:i*n.scaledDuration;for(const t of n.data.childTickers)if(!t.isDone&&(r=t.tick(r),r<0))return;n.isDone=!0}onTickerDidReset(t){t.data.childTickers.forEach((t=>t.reset()))}_squashedActions(){const t=[];for(const e of this.actions)e instanceof SequenceAction&&1===e.speed&&e.timingMode===h.linear?t.push(...e._squashedActions()):t.push(e);return t}}class CustomAction extends Action{constructor(t,e){super(t),this.stepFn=e}onTick(t,e,i){this.stepFn(t,e,i)}reversed(){return this}}class RunBlockAction extends Action{constructor(t){super(0),this.block=t}reversed(){return this}onTick(){this.block()}}class DelayAction extends Action{onTick(){}reversed(){return this}}class RemoveFromParentAction extends Action{constructor(){super(0)}reversed(){return this}onTick(t){var e;null===(e=t.parent)||void 0===e||e.removeChild(t)}}class RunOnChildAction extends Action{constructor(t,e){super(0),this.action=t,this.nameOrLabel=e}reversed(){return new RunOnChildAction(this.action.reversed(),this.nameOrLabel).setTimingMode(this.timingMode).setSpeed(this.speed)}onTick(t){if(void 0===t.children||!Array.isArray(t.children))throw new TypeError("The target did not have children.");let e;if(e="getChildByLabel"in t?t.getChildByLabel(this.nameOrLabel):t.children.find((t=>t.label===this.nameOrLabel||t.name===this.nameOrLabel)),!e)throw new ReferenceError(`The target did not have a child matching '${this.nameOrLabel}'.`);e.run(this.action)}}class SetVisibleAction extends Action{constructor(t){super(0),this.visible=t}reversed(){return new SetVisibleAction(!this.visible).setTimingMode(this.timingMode).setSpeed(this.speed)}onTick(t){t.visible=this.visible}}const l=Math.PI/2;class FollowPathAction extends Action{constructor(t,e,i,n,s){if(super(e),this.asOffset=i,this.orientToPath=n,this.fixedSpeed=s,this.path=t,this.lastIndex=t.length-1,n||s){const[e,i]=FollowPathAction.getLength(t);this.segmentLengths=i,s&&(this.segmentWeights=i.map((t=>t/(e||1))))}}static getPath(t){return Array.isArray(t)?[...t]:[...t.points]}static getLength(t){let e=0;const i=[];for(let n=0;n0){const t=this.path[0],e=this.path[this.path.length-1],i=e.x+t.x,n=e.y+t.y;return this.path.map((({x:t,y:e})=>({x:t-i,y:e-n}))).reverse()}return[...this.path].reverse()}_getDynamicSpeedProgress(t){const e=Math.max(Math.min(Math.floor(t*this.lastIndex),this.lastIndex-1),0),i=this.lastIndex||1;return[e,(t-e/i)*i]}_getFixedSpeedProgress(t){let e=t,i=0,n=0;for(let t=0;te||t===this.lastIndex-1){n=e/s||1;break}e-=s,i++}return[i,n]}}class MoveByAction extends Action{constructor(t,e,i){super(i),this.x=t,this.y=e}reversed(){return new MoveByAction(-this.x,-this.y,this.duration).setTimingMode(this.timingMode).setSpeed(this.speed)}onTick(t,e,i){t.position.x+=this.x*i,t.position.y+=this.y*i}}class MoveToAction extends Action{constructor(t,e,i){super(i),this.x=t,this.y=e}reversed(){return new DelayAction(this.scaledDuration)}onSetupTicker(t){return{startX:t.x,startY:t.y}}onTick(t,e,i,n){t.position.set(void 0===this.x?t.position.x:n.data.startX+(this.x-n.data.startX)*e,void 0===this.y?t.position.y:n.data.startY+(this.y-n.data.startY)*e)}}class RotateByAction extends Action{constructor(t,e){super(e),this.rotation=t}reversed(){return new RotateByAction(-this.rotation,this.duration).setTimingMode(this.timingMode).setSpeed(this.speed)}onTick(t,e,i){t.rotation+=this.rotation*i}}class RotateToAction extends Action{constructor(t,e){super(e),this.rotation=t}reversed(){return new DelayAction(this.scaledDuration)}onSetupTicker(t){return{startRotation:t.rotation}}onTick(t,e,i,n){t.rotation=n.data.startRotation+(this.rotation-n.data.startRotation)*e}}class ScaleByAction extends Action{constructor(t,e,i){super(i),this.x=t,this.y=e}reversed(){return new ScaleByAction(-this.x,-this.y,this.duration).setTimingMode(this.timingMode).setSpeed(this.speed)}onSetupTicker(t){return{dx:t.scale.x*this.x-t.scale.x,dy:t.scale.y*this.y-t.scale.y}}onTick(t,e,i,n){t.scale.set(t.scale.x+n.data.dx*i,t.scale.y+n.data.dy*i)}}class ScaleToAction extends Action{constructor(t,e,i){super(i),this.x=t,this.y=e}reversed(){return new DelayAction(this.scaledDuration)}onSetupTicker(t){return{startX:t.scale.x,startY:t.scale.y}}onTick(t,e,i,n){t.scale.set(void 0===this.x?t.scale.x:n.data.startX+(this.x-n.data.startX)*e,void 0===this.y?t.scale.y:n.data.startY+(this.y-n.data.startY)*e)}}class ScaleToSizeAction extends Action{constructor(t,e,i){super(i),this.width=t,this.height=e}reversed(){return new DelayAction(this.scaledDuration)}onSetupTicker(t){if("number"!=typeof t.width||"number"!=typeof t.height)throw new TypeError("The target must have numeric 'width' and 'height'.");return{width:t.width,height:t.height}}onTick(t,e,i,n){t.width=n.data.width+(this.width-n.data.width)*e,t.height=n.data.height+(this.height-n.data.height)*e}}class SpeedByAction extends Action{constructor(t,e){super(e),this._speed=t}reversed(){return new SpeedByAction(-this._speed,this.duration).setTimingMode(this.timingMode).setSpeed(this.speed)}onTick(t,e,i){t.speed+=this._speed*i}}class SpeedToAction extends Action{constructor(t,e){super(e),this._speed=t}reversed(){return new DelayAction(this.scaledDuration)}onSetupTicker(t){return{startSpeed:t.speed}}onTick(t,e,i,n){t.speed=n.data.startSpeed+(this._speed-n.data.startSpeed)*e}}class AnimateAction extends Action{constructor(t,e,i,n){super(t.length*e),this.textures=t,this.timePerFrame=e,this.resize=i,this.restore=n}onSetupTicker(t){if("texture"in t)return{previousTexture:t.texture};throw new Error("Target must be a Sprite")}onTickerRemoved(t,e){if(this.restore){const i=e.data.previousTexture;t.texture=i,this.resize&&(t.width=i.width,t.height=i.height)}}reversed(){const t=[...this.textures].reverse();return new AnimateAction(t,this.timePerFrame,this.resize,this.restore)}onTick(t,e,i,n){const s=Math.floor(e*this.textures.length),r=this.textures[s];void 0!==r&&t.texture!==r&&(t.texture=r,this.resize&&(t.width=r.width,t.height=r.height))}}class FadeByAction extends Action{constructor(t,e){super(e),this.alpha=t}reversed(){return new FadeByAction(-this.alpha,this.duration).setTimingMode(this.timingMode).setSpeed(this.speed)}onTick(t,e,i){t.alpha+=this.alpha*i}}class FadeAlphaToAction extends Action{constructor(t,e){super(e),this.alpha=t}reversed(){return new DelayAction(this.scaledDuration)}onSetupTicker(t){return{startAlpha:t.alpha}}onTick(t,e,i,n){t.alpha=n.data.startAlpha+(this.alpha-n.data.startAlpha)*e}}class FadeInAction extends FadeAlphaToAction{constructor(t){super(1,t)}reversed(){return new FadeAlphaToAction(0,this.duration).setTimingMode(this.timingMode).setSpeed(this.speed)}}class FadeOutAction extends FadeAlphaToAction{constructor(t){super(0,t)}reversed(){return new FadeAlphaToAction(1,this.duration).setTimingMode(this.timingMode).setSpeed(this.speed)}}const p=Math.PI/180;class _ extends Action{static get DefaultTimingModeEaseIn(){return Action._defaultTimingModeEaseIn}static set DefaultTimingModeEaseIn(t){Action._defaultTimingModeEaseIn=t}static get DefaultTimingModeEaseOut(){return Action._defaultTimingModeEaseOut}static set DefaultTimingModeEaseOut(t){Action._defaultTimingModeEaseOut=t}static get DefaultTimingModeEaseInOut(){return Action._defaultTimingModeEaseInOut}static set DefaultTimingModeEaseInOut(t){Action._defaultTimingModeEaseInOut=t}static tick(t,e){ActionTicker.tickAll(t,e)}static group(t){return new GroupAction(t)}static sequence(t){return new SequenceAction(t)}static repeat(t,e){return new RepeatAction(t,e)}static repeatForever(t){return new RepeatForeverAction(t)}static waitForDuration(t){return new DelayAction(t)}static waitForDurationWithRange(t,e){return new DelayAction(t+(e*Math.random()-.5*e))}static moveBy(t,e,i){return"number"==typeof t?new MoveByAction(t,e,i):new MoveByAction(t.x,t.y,e)}static moveByX(t,e){return this.moveBy(t,0,e)}static moveByY(t,e){return this.moveBy(0,t,e)}static moveTo(t,e,i){return"number"==typeof t?new MoveToAction(t,e,i):new MoveToAction(t.x,t.y,e)}static moveToX(t,e){return new MoveToAction(t,void 0,e)}static moveToY(t,e){return new MoveToAction(void 0,t,e)}static follow(t,e,i=!0,n=!0,s=!0){const r=FollowPathAction.getPath(t);return new FollowPathAction(r,e,i,n,s)}static followAtSpeed(t,e,i=!0,n=!0){const s=FollowPathAction.getPath(t),r=FollowPathAction.getLength(s);return new FollowPathAction(s,r[0]/e,i,n,!0)}static rotateBy(t,e){return new RotateByAction(t,e)}static rotateByDegrees(t,e){return this.rotateBy(t*p,e)}static rotateTo(t,e){return new RotateToAction(t,e)}static rotateToDegrees(t,e){return this.rotateTo(t*p,e)}static speedBy(t,e){return new SpeedByAction(t,e)}static speedTo(t,e){return new SpeedToAction(t,e)}static scaleBy(t,e,i){return"number"==typeof t?void 0===i?new ScaleByAction(t,t,e):new ScaleByAction(t,e,i):new ScaleByAction(t.x,t.y,e)}static scaleByX(t,e){return this.scaleBy(t,0,e)}static scaleByY(t,e){return this.scaleBy(0,t,e)}static scaleTo(t,e,i){return"number"==typeof t?void 0===i?new ScaleToAction(t,t,e):new ScaleToAction(t,e,i):new ScaleToSizeAction(t.width,t.height,e)}static scaleToX(t,e){return new ScaleToAction(t,void 0,e)}static scaleToY(t,e){return new ScaleToAction(void 0,t,e)}static fadeIn(t){return new FadeInAction(t)}static fadeOut(t){return new FadeOutAction(t)}static fadeAlphaTo(t,e){return new FadeAlphaToAction(t,e)}static fadeAlphaBy(t,e){return new FadeByAction(t,e)}static animate(t,e=1/60,i=!1,n=!0,s=!0){if(!Array.isArray(t)){const r=Object.keys(t.textures);s&&r.sort();const o=r.map((e=>t.textures[e]));return this.animate(o,e,i,n)}return new AnimateAction(t,e,i,n)}static hide(){return new SetVisibleAction(!1)}static unhide(){return new SetVisibleAction(!0)}static removeFromParent(){return new RemoveFromParentAction}static runOnChild(t,e){return new RunOnChildAction(e,t)}static run(t){return new RunBlockAction(t)}static customAction(t,e){return new CustomAction(t,e)}constructor(){super(-1)}}function registerPixiJSActionsMixin(t){const e=t.prototype;e.speed=1,e.isPaused=!1,e.run=function(t,e){return e?ActionTicker.runAction(void 0,this,_.sequence([t,_.run(e)])):ActionTicker.runAction(void 0,this,t)},e.runWithKey=function(t,e){ActionTicker.runAction(e,this,t)},e.runAsPromise=function(t){return new Promise((e=>this.run(t,(()=>e()))))},e.action=function(t){return ActionTicker.getTargetActionForKey(this,t)},e.hasActions=function(){return ActionTicker.hasTargetActions(this)},e.removeAllActions=function(){ActionTicker.removeAllTargetActions(this)},e.removeAction=function(t){ActionTicker.removeTargetActionForKey(this,t)}}export{_ as Action,h as TimingMode,registerPixiJSActionsMixin}; +const t=Math.pow,e=Math.sqrt,i=Math.sin,n=Math.cos,s=Math.PI,r=1.70158,o=1.525*r,a=r+1,c=2*s/3,u=2*s/4.5,_bounceOut=function(t){const e=7.5625,i=2.75;return t<1/i?e*t*t:t<2/i?e*(t-=1.5/i)*t+.75:t<2.5/i?e*(t-=2.25/i)*t+.9375:e*(t-=2.625/i)*t+.984375},h={linear:t=>t,easeInQuad:function(t){return t*t},easeOutQuad:function(t){return 1-(1-t)*(1-t)},easeInOutQuad:function(e){return e<.5?2*e*e:1-t(-2*e+2,2)/2},easeInCubic:function(t){return t*t*t},easeOutCubic:function(e){return 1-t(1-e,3)},easeInOutCubic:function(e){return e<.5?4*e*e*e:1-t(-2*e+2,3)/2},easeInQuart:function(t){return t*t*t*t},easeOutQuart:function(e){return 1-t(1-e,4)},easeInOutQuart:function(e){return e<.5?8*e*e*e*e:1-t(-2*e+2,4)/2},easeInQuint:function(t){return t*t*t*t*t},easeOutQuint:function(e){return 1-t(1-e,5)},easeInOutQuint:function(e){return e<.5?16*e*e*e*e*e:1-t(-2*e+2,5)/2},easeInSine:function(t){return 1-n(t*s/2)},easeOutSine:function(t){return i(t*s/2)},easeInOutSine:function(t){return-(n(s*t)-1)/2},easeInExpo:function(e){return 0===e?0:t(2,10*e-10)},easeOutExpo:function(e){return 1===e?1:1-t(2,-10*e)},easeInOutExpo:function(e){return 0===e?0:1===e?1:e<.5?t(2,20*e-10)/2:(2-t(2,-20*e+10))/2},easeInCirc:function(i){return 1-e(1-t(i,2))},easeOutCirc:function(i){return e(1-t(i-1,2))},easeInOutCirc:function(i){return i<.5?(1-e(1-t(2*i,2)))/2:(e(1-t(-2*i+2,2))+1)/2},easeInBack:function(t){return a*t*t*t-r*t*t},easeOutBack:function(e){return 1+a*t(e-1,3)+r*t(e-1,2)},easeInOutBack:function(e){return e<.5?t(2*e,2)*(7.189819*e-o)/2:(t(2*e-2,2)*((o+1)*(2*e-2)+o)+2)/2},easeInElastic:function(e){return 0===e?0:1===e?1:-t(2,10*e-10)*i((10*e-10.75)*c)},easeOutElastic:function(e){return 0===e?0:1===e?1:t(2,-10*e)*i((10*e-.75)*c)+1},easeInOutElastic:function(e){return 0===e?0:1===e?1:e<.5?-t(2,20*e-10)*i((20*e-11.125)*u)/2:t(2,-20*e+10)*i((20*e-11.125)*u)/2+1},easeInBounce:function(t){return 1-_bounceOut(1-t)},easeOutBounce:_bounceOut,easeInOutBounce:function(t){return t<.5?(1-_bounceOut(1-2*t))/2:(1+_bounceOut(2*t-1))/2}};class Action{constructor(t,e=1,i=h.linear){if(this.duration=t,this.speed=e,this.timingMode=i,this.log=!1,t<0)throw new RangeError("Action duration must be 0 or more.")}get scaledDuration(){return this.duration/this.speed}setSpeed(t){return this.speed=t,this}setTimingMode(t){return this.timingMode=t,this}linear(){return this.setTimingMode(h.linear)}easeIn(){return this.setTimingMode(Action._defaultTimingModeEaseIn)}easeOut(){return this.setTimingMode(Action._defaultTimingModeEaseOut)}easeInOut(){return this.setTimingMode(Action._defaultTimingModeEaseInOut)}onSetupTicker(t,e){}onTickerDidReset(t){}onTickerRemoved(t,e){}}Action._defaultTimingModeEaseIn=h.easeInSine,Action._defaultTimingModeEaseOut=h.easeOutSine,Action._defaultTimingModeEaseInOut=h.easeInOutSine;const d=1-1e-10;class ActionTicker{static tickAll(t,e){const i=.001*t;for(const[t,n]of this._tickers.entries()){const[s,r]=_getTargetState(t);if(!(s||r<=0))for(const t of n.values())try{t.tick(i*r)}catch(i){void 0===e?console.error("Action failed with error: ",i):e(i),this._removeActionTicker(t)}}}static runAction(t,e,i){this._tickers.has(e)||this._tickers.set(e,new Map);const n=new ActionTicker(t,e,i);this._tickers.get(e).set(null!=t?t:n,n)}static hasTargetActions(t){return this._tickers.has(t)}static getTargetActionForKey(t,e){var i,n;return null===(n=null===(i=this._tickers.get(t))||void 0===i?void 0:i.get(e))||void 0===n?void 0:n.action}static removeTargetActionForKey(t,e){var i;const n=null===(i=this._tickers.get(t))||void 0===i?void 0:i.get(e);n&&this._removeActionTicker(n)}static removeAllTargetActions(t){this._tickers.delete(t)}static _removeActionTicker(t,e=!0){var i,n,s;const r=this._tickers.get(t.target);void 0!==r&&(e&&(null===(n=(i=t.action).onTickerRemoved)||void 0===n||n.call(i,t.target,t)),r.delete(null!==(s=t.key)&&void 0!==s?s:t),0===r.size&&this._tickers.delete(t.target))}constructor(t,e,i){this.key=t,this.target=e,this.action=i,this.isDone=!1,this.autoComplete=!0,this._elapsed=0,this._isSetup=!1,this.speed=i.speed,this.scaledDuration=i.scaledDuration,this.timingMode=i.timingMode}get timeDistance(){return 0===this.scaledDuration?1:Math.min(1,this._elapsed/this.scaledDuration)}get easedTimeDistance(){return this.timingMode(this.timeDistance)}tick(t){if(!this._isSetup){this.speed=this.action.speed,this.scaledDuration=this.action.duration,this.timingMode=this.action.timingMode;try{this.data=this.action.onSetupTicker(this.target,this)}catch(t){throw ActionTicker._removeActionTicker(this,!1),t}this._isSetup=!0}const e=this.target,i=this.action;if(null==e||e.destroyed)return void ActionTicker._removeActionTicker(this);const n=t*this.speed;if(0===this.scaledDuration)return i.onTick(this.target,1,1,this,n),this.isDone=!0,ActionTicker._removeActionTicker(this),t;if(0===t&&this.timeDistance=d?(this.isDone=!0,ActionTicker._removeActionTicker(this),this._elapsed>this.scaledDuration?this._elapsed-this.scaledDuration:0):-1}reset(){this._elapsed=0,this.isDone=!1,this._isSetup=!1,this.action.onTickerDidReset(this)}}function _getTargetState(t){let e=t,i=e.isPaused,n=e.speed;for(;!i&&null!=e.parent;)i=e.parent.isPaused,n*=e.parent.speed,e=e.parent;return[i,n]}ActionTicker._tickers=new Map;class GroupAction extends Action{constructor(t){super(Math.max(...t.map((t=>t.scaledDuration)))),this.actions=t}reversed(){return new GroupAction(this.actions.map((t=>t.reversed()))).setTimingMode(this.timingMode).setSpeed(this.speed)}onSetupTicker(t,e){return e.autoComplete=!1,{childTickers:this.actions.map((e=>new ActionTicker(void 0,t,e)))}}onTick(t,e,i,n,s){const r=n.scaledDuration===1/0?s*this.speed:i*n.scaledDuration;let o=!0;for(const t of n.data.childTickers)t.isDone||(o=!1,t.tick(r));o&&(n.isDone=!0)}onTickerDidReset(t){t.data.childTickers.forEach((t=>t.reset()))}}class RepeatAction extends Action{constructor(t,e){if(super(t.scaledDuration*e),this.action=t,this.repeats=e,!Number.isInteger(e)||e<0)throw new RangeError("The number of repeats must be a positive integer.")}reversed(){return new RepeatAction(this.action.reversed(),this.repeats).setTimingMode(this.timingMode).setSpeed(this.speed)}onSetupTicker(t,e){e.autoComplete=!1;const i=new ActionTicker(void 0,t,this.action);return i.timingMode=t=>e.timingMode(i.timingMode(t)),{childTicker:i,n:0}}onTick(t,e,i,n,s){const r=n.data.childTicker;let o=s*this.speed;if(o=r.tick(o),o>0||0===r.scaledDuration){if(++n.data.n>=this.repeats)return void(n.isDone=!0);r.reset(),o=r.tick(o)}}onTickerDidReset(t){t.data.childTicker.reset(),t.data.n=0}}class RepeatForeverAction extends Action{constructor(t){if(super(1/0),this.action=t,t.scaledDuration<=0)throw new TypeError("The action to be repeated must have a non-instantaneous duration.")}reversed(){return new RepeatForeverAction(this.action.reversed()).setTimingMode(this.timingMode).setSpeed(this.speed)}onSetupTicker(t,e){e.autoComplete=!1;const i=new ActionTicker(void 0,t,this.action);return i.timingMode=t=>e.timingMode(i.timingMode(t)),{childTicker:i}}onTick(t,e,i,n,s){const r=n.data.childTicker;let o=s*n.speed;o=r.tick(o),o>0&&(r.reset(),o=r.tick(o))}onTickerDidReset(t){t.data.childTicker.reset()}}class SequenceAction extends Action{constructor(t){super(t.reduce(((t,e)=>t+e.scaledDuration),0)),this.actions=t}reversed(){return new SequenceAction(this.actions.map((t=>t.reversed())).reverse()).setTimingMode(this.timingMode).setSpeed(this.speed)}onSetupTicker(t,e){return e.autoComplete=!1,{childTickers:this._squashedActions().map((e=>new ActionTicker(void 0,t,e)))}}onTick(t,e,i,n,s){let r=n.scaledDuration===1/0?s*this.speed:i*n.scaledDuration;for(const t of n.data.childTickers)if(!t.isDone&&(r=t.tick(r),r<0))return;n.isDone=!0}onTickerDidReset(t){t.data.childTickers.forEach((t=>t.reset()))}_squashedActions(){const t=[];for(const e of this.actions)e instanceof SequenceAction&&1===e.speed&&e.timingMode===h.linear?t.push(...e._squashedActions()):t.push(e);return t}}class CustomAction extends Action{constructor(t,e){super(t),this.stepFn=e}onTick(t,e,i){this.stepFn(t,e,i)}reversed(){return this}}class RunBlockAction extends Action{constructor(t){super(0),this.block=t}reversed(){return this}onTick(t){this.block(t)}}class DelayAction extends Action{onTick(){}reversed(){return this}}class RunOnChildAction extends Action{constructor(t,e){super(0),this.action=t,this.label=e}reversed(){return new RunOnChildAction(this.action.reversed(),this.label).setTimingMode(this.timingMode).setSpeed(this.speed)}onTick(t){if(void 0===t.children||!Array.isArray(t.children))throw new TypeError("The target did not have children.");let e;if(e="getChildByLabel"in t?t.getChildByLabel(this.label):t.children.find((t=>t.label===this.label||t.name===this.label)),!e)throw new ReferenceError(`The target did not have a child matching '${this.label}'.`);e.run(this.action)}}class SetVisibleAction extends Action{constructor(t){super(0),this.visible=t}reversed(){return new SetVisibleAction(!this.visible).setTimingMode(this.timingMode).setSpeed(this.speed)}onTick(t){t.visible=this.visible}}const l=Math.PI/2;class FollowPathAction extends Action{constructor(t,e,i,n,s){if(super(e),this.asOffset=i,this.orientToPath=n,this.fixedSpeed=s,this.path=t,this.lastIndex=t.length-1,n||s){const[e,i]=FollowPathAction.getLength(t);this.segmentLengths=i,s&&(this.segmentWeights=i.map((t=>t/(e||1))))}}static getPath(t){return Array.isArray(t)?[...t]:[...t.points]}static getLength(t){let e=0;const i=[];for(let n=0;n0){const t=this.path[0],e=this.path[this.path.length-1],i=e.x+t.x,n=e.y+t.y;return this.path.map((({x:t,y:e})=>({x:t-i,y:e-n}))).reverse()}return[...this.path].reverse()}_getDynamicSpeedProgress(t){const e=Math.max(Math.min(Math.floor(t*this.lastIndex),this.lastIndex-1),0),i=this.lastIndex||1;return[e,(t-e/i)*i]}_getFixedSpeedProgress(t){let e=t,i=0,n=0;for(let t=0;te||t===this.lastIndex-1){n=e/s||1;break}e-=s,i++}return[i,n]}}class MoveByAction extends Action{constructor(t,e,i){super(i),this.x=t,this.y=e}reversed(){return new MoveByAction(-this.x,-this.y,this.duration).setTimingMode(this.timingMode).setSpeed(this.speed)}onTick(t,e,i){t.position.x+=this.x*i,t.position.y+=this.y*i}}class MoveToAction extends Action{constructor(t,e,i){super(i),this.x=t,this.y=e}reversed(){return new DelayAction(this.scaledDuration)}onSetupTicker(t){return{startX:t.x,startY:t.y}}onTick(t,e,i,n){t.position.set(void 0===this.x?t.position.x:n.data.startX+(this.x-n.data.startX)*e,void 0===this.y?t.position.y:n.data.startY+(this.y-n.data.startY)*e)}}class RotateByAction extends Action{constructor(t,e){super(e),this.rotation=t}reversed(){return new RotateByAction(-this.rotation,this.duration).setTimingMode(this.timingMode).setSpeed(this.speed)}onTick(t,e,i){t.rotation+=this.rotation*i}}class RotateToAction extends Action{constructor(t,e){super(e),this.rotation=t}reversed(){return new DelayAction(this.scaledDuration)}onSetupTicker(t){return{startRotation:t.rotation}}onTick(t,e,i,n){t.rotation=n.data.startRotation+(this.rotation-n.data.startRotation)*e}}class ScaleByAction extends Action{constructor(t,e,i){super(i),this.x=t,this.y=e}reversed(){return new ScaleByAction(-this.x,-this.y,this.duration).setTimingMode(this.timingMode).setSpeed(this.speed)}onSetupTicker(t){return{dx:t.scale.x*this.x-t.scale.x,dy:t.scale.y*this.y-t.scale.y}}onTick(t,e,i,n){t.scale.set(t.scale.x+n.data.dx*i,t.scale.y+n.data.dy*i)}}class ScaleToAction extends Action{constructor(t,e,i){super(i),this.x=t,this.y=e}reversed(){return new DelayAction(this.scaledDuration)}onSetupTicker(t){return{startX:t.scale.x,startY:t.scale.y}}onTick(t,e,i,n){t.scale.set(void 0===this.x?t.scale.x:n.data.startX+(this.x-n.data.startX)*e,void 0===this.y?t.scale.y:n.data.startY+(this.y-n.data.startY)*e)}}class ScaleToSizeAction extends Action{constructor(t,e,i){super(i),this.width=t,this.height=e}reversed(){return new DelayAction(this.scaledDuration)}onSetupTicker(t){if("number"!=typeof t.width||"number"!=typeof t.height)throw new TypeError("The target must have numeric 'width' and 'height'.");return{width:t.width,height:t.height}}onTick(t,e,i,n){t.width=n.data.width+(this.width-n.data.width)*e,t.height=n.data.height+(this.height-n.data.height)*e}}class SpeedByAction extends Action{constructor(t,e){super(e),this._speed=t}reversed(){return new SpeedByAction(-this._speed,this.duration).setTimingMode(this.timingMode).setSpeed(this.speed)}onTick(t,e,i){t.speed+=this._speed*i}}class SpeedToAction extends Action{constructor(t,e){super(e),this._speed=t}reversed(){return new DelayAction(this.scaledDuration)}onSetupTicker(t){return{startSpeed:t.speed}}onTick(t,e,i,n){t.speed=n.data.startSpeed+(this._speed-n.data.startSpeed)*e}}class AnimateAction extends Action{constructor(t,e,i,n){super(t.length*e),this.textures=t,this.timePerFrame=e,this.resize=i,this.restore=n}onSetupTicker(t){if("texture"in t)return{previousTexture:t.texture};throw new Error("Target must be a Sprite")}onTickerRemoved(t,e){if(this.restore){const i=e.data.previousTexture;t.texture=i,this.resize&&(t.width=i.width,t.height=i.height)}}reversed(){const t=[...this.textures].reverse();return new AnimateAction(t,this.timePerFrame,this.resize,this.restore)}onTick(t,e,i,n){const s=Math.floor(e*this.textures.length),r=this.textures[s];void 0!==r&&t.texture!==r&&(t.texture=r,this.resize&&(t.width=r.width,t.height=r.height))}}class FadeByAction extends Action{constructor(t,e){super(e),this.alpha=t}reversed(){return new FadeByAction(-this.alpha,this.duration).setTimingMode(this.timingMode).setSpeed(this.speed)}onTick(t,e,i){t.alpha+=this.alpha*i}}class FadeAlphaToAction extends Action{constructor(t,e){super(e),this.alpha=t}reversed(){return new DelayAction(this.scaledDuration)}onSetupTicker(t){return{startAlpha:t.alpha}}onTick(t,e,i,n){t.alpha=n.data.startAlpha+(this.alpha-n.data.startAlpha)*e}}class FadeInAction extends FadeAlphaToAction{constructor(t){super(1,t)}reversed(){return new FadeAlphaToAction(0,this.duration).setTimingMode(this.timingMode).setSpeed(this.speed)}}class FadeOutAction extends FadeAlphaToAction{constructor(t){super(0,t)}reversed(){return new FadeAlphaToAction(1,this.duration).setTimingMode(this.timingMode).setSpeed(this.speed)}}const p=Math.PI/180;class _ extends Action{static get DefaultTimingModeEaseIn(){return Action._defaultTimingModeEaseIn}static set DefaultTimingModeEaseIn(t){Action._defaultTimingModeEaseIn=t}static get DefaultTimingModeEaseOut(){return Action._defaultTimingModeEaseOut}static set DefaultTimingModeEaseOut(t){Action._defaultTimingModeEaseOut=t}static get DefaultTimingModeEaseInOut(){return Action._defaultTimingModeEaseInOut}static set DefaultTimingModeEaseInOut(t){Action._defaultTimingModeEaseInOut=t}static tick(t,e){ActionTicker.tickAll(t,e)}static group(t){return new GroupAction(t)}static sequence(t){return new SequenceAction(t)}static repeat(t,e){return new RepeatAction(t,e)}static repeatForever(t){return new RepeatForeverAction(t)}static waitForDuration(t){return new DelayAction(t)}static waitForDurationWithRange(t,e){return new DelayAction(t+(e*Math.random()-.5*e))}static moveBy(t,e,i){return"number"==typeof t?new MoveByAction(t,e,i):new MoveByAction(t.x,t.y,e)}static moveByX(t,e){return this.moveBy(t,0,e)}static moveByY(t,e){return this.moveBy(0,t,e)}static moveTo(t,e,i){return"number"==typeof t?new MoveToAction(t,e,i):new MoveToAction(t.x,t.y,e)}static moveToX(t,e){return new MoveToAction(t,void 0,e)}static moveToY(t,e){return new MoveToAction(void 0,t,e)}static follow(t,e,i=!0,n=!0,s=!0){const r=FollowPathAction.getPath(t);return new FollowPathAction(r,e,i,n,s)}static followAtSpeed(t,e,i=!0,n=!0){const s=FollowPathAction.getPath(t),r=FollowPathAction.getLength(s);return new FollowPathAction(s,r[0]/e,i,n,!0)}static rotateBy(t,e){return new RotateByAction(t,e)}static rotateByDegrees(t,e){return this.rotateBy(t*p,e)}static rotateTo(t,e){return new RotateToAction(t,e)}static rotateToDegrees(t,e){return this.rotateTo(t*p,e)}static speedBy(t,e){return new SpeedByAction(t,e)}static speedTo(t,e){return new SpeedToAction(t,e)}static scaleBy(t,e,i){return"number"==typeof t?void 0===i?new ScaleByAction(t,t,e):new ScaleByAction(t,e,i):new ScaleByAction(t.x,t.y,e)}static scaleByX(t,e){return this.scaleBy(t,0,e)}static scaleByY(t,e){return this.scaleBy(0,t,e)}static scaleTo(t,e,i){return"number"==typeof t?void 0===i?new ScaleToAction(t,t,e):new ScaleToAction(t,e,i):new ScaleToSizeAction(t.width,t.height,e)}static scaleToX(t,e){return new ScaleToAction(t,void 0,e)}static scaleToY(t,e){return new ScaleToAction(void 0,t,e)}static fadeIn(t){return new FadeInAction(t)}static fadeOut(t){return new FadeOutAction(t)}static fadeAlphaTo(t,e){return new FadeAlphaToAction(t,e)}static fadeAlphaBy(t,e){return new FadeByAction(t,e)}static animate(t,e=1/60,i=!1,n=!0,s=!0){if(!Array.isArray(t)){const r=Object.keys(t.textures);s&&r.sort();const o=r.map((e=>t.textures[e]));return this.animate(o,e,i,n)}return new AnimateAction(t,e,i,n)}static hide(){return new SetVisibleAction(!1)}static unhide(){return new SetVisibleAction(!0)}static destroy(t){return this.run((e=>e.destroy(t)))}static removeFromParent(){return this.run((t=>{var e;return null===(e=t.parent)||void 0===e?void 0:e.removeChild(t)}))}static runOnChild(t,e){return new RunOnChildAction(e,t)}static run(t){return new RunBlockAction(t)}static customAction(t,e){return new CustomAction(t,e)}constructor(){super(-1)}}function registerPixiJSActionsMixin(t){const e=t.prototype;e.speed=1,e.isPaused=!1,e.run=function(t,e){return e?ActionTicker.runAction(void 0,this,_.sequence([t,_.run(e)])):ActionTicker.runAction(void 0,this,t)},e.runWithKey=function(t,e){ActionTicker.runAction(e,this,t)},e.runAsPromise=function(t){return new Promise((e=>this.run(t,(()=>e()))))},e.action=function(t){return ActionTicker.getTargetActionForKey(this,t)},e.hasActions=function(){return ActionTicker.hasTargetActions(this)},e.removeAllActions=function(){ActionTicker.removeAllTargetActions(this)},e.removeAction=function(t){ActionTicker.removeTargetActionForKey(this,t)}}export{_ as Action,h as TimingMode,registerPixiJSActionsMixin}; //# sourceMappingURL=index.mjs.map diff --git a/dist/index.mjs.map b/dist/index.mjs.map index f6d21f8..e6f7778 100644 --- a/dist/index.mjs.map +++ b/dist/index.mjs.map @@ -1 +1 @@ -{"version":3,"file":"index.mjs","sources":["../src/TimingMode.ts","../src/lib/Action.ts","../src/lib/ActionTicker.ts","../src/actions/chainable/GroupAction.ts","../src/actions/chainable/RepeatAction.ts","../src/actions/chainable/RepeatForeverAction.ts","../src/actions/chainable/SequenceAction.ts","../src/actions/custom/CustomAction.ts","../src/actions/custom/RunBlockAction.ts","../src/actions/delay/DelayAction.ts","../src/actions/display-object/RemoveFromParentAction.ts","../src/actions/display-object/RunOnChildAction.ts","../src/actions/display-object/SetVisibleAction.ts","../src/actions/follow-path/FollowPathAction.ts","../src/actions/move/MoveByAction.ts","../src/actions/move/MoveToAction.ts","../src/actions/rotate/RotateByAction.ts","../src/actions/rotate/RotateToAction.ts","../src/actions/scale/ScaleByAction.ts","../src/actions/scale/ScaleToAction.ts","../src/actions/scale/ScaleToSizeAction.ts","../src/actions/speed/SpeedByAction.ts","../src/actions/speed/SpeedToAction.ts","../src/actions/sprite/AnimateAction.ts","../src/actions/transparency/FadeAlphaByAction.ts","../src/actions/transparency/FadeAlphaToAction.ts","../src/actions/transparency/FadeInAction.ts","../src/actions/transparency/FadeOutAction.ts","../src/Action.ts","../src/Container.mixin.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["pow","Math","sqrt","sin","cos","PI","c1","c2","c3","c4","c5","_bounceOut","x","n1","d1","TimingMode","linear","easeInQuad","easeOutQuad","easeInOutQuad","easeInCubic","easeOutCubic","easeInOutCubic","easeInQuart","easeOutQuart","easeInOutQuart","easeInQuint","easeOutQuint","easeInOutQuint","easeInSine","easeOutSine","easeInOutSine","easeInExpo","easeOutExpo","easeInOutExpo","easeInCirc","easeOutCirc","easeInOutCirc","easeInBack","easeOutBack","easeInOutBack","easeInElastic","easeOutElastic","easeInOutElastic","easeInBounce","easeOutBounce","easeInOutBounce","Action","constructor","duration","speed","timingMode","this","log","RangeError","scaledDuration","setSpeed","setTimingMode","easeIn","_defaultTimingModeEaseIn","easeOut","_defaultTimingModeEaseOut","easeInOut","_defaultTimingModeEaseInOut","onSetupTicker","target","ticker","onTickerDidReset","onTickerRemoved","EPSILON_1","ActionTicker","tickAll","deltaTimeMs","onErrorHandler","deltaTime","tickers","_tickers","entries","isPaused","_getTargetState","actionTicker","values","tick","error","undefined","console","_removeActionTicker","runAction","key","action","has","set","Map","get","hasTargetActions","getTargetActionForKey","_a","_b","removeTargetActionForKey","removeAllTargetActions","delete","propagate","call","_c","size","isDone","autoComplete","_elapsed","_isSetup","timeDistance","min","easedTimeDistance","data","destroyed","scaledDeltaTime","onTick","b","t","dt","reset","leaf","parent","GroupAction","actions","super","max","map","reversed","childTickers","relativeDeltaTime","Infinity","allDone","childTicker","forEach","RepeatAction","repeats","Number","isInteger","n","remainingDeltaTime","RepeatForeverAction","TypeError","SequenceAction","reduce","total","reverse","_squashedActions","push","CustomAction","stepFn","RunBlockAction","block","DelayAction","RemoveFromParentAction","removeChild","RunOnChildAction","nameOrLabel","children","Array","isArray","child","getChildByLabel","find","label","name","ReferenceError","run","SetVisibleAction","visible","HALF_PI","FollowPathAction","path","asOffset","orientToPath","fixedSpeed","lastIndex","length","totalDist","segmentLengths","getLength","segmentWeights","v","getPath","points","totalLength","i","directionX","directionY","y","_getReversedPath","index","st","_getFixedSpeedProgress","_getDynamicSpeedProgress","startPoint","endPoint","position","ndx","ndy","rotation","atan2","first","last","dx","dy","floor","lastIndexNonZero","remainingProgress","segmentWeight","MoveByAction","MoveToAction","startX","startY","RotateByAction","RotateToAction","startRotation","ScaleByAction","scale","ScaleToAction","ScaleToSizeAction","width","height","SpeedByAction","_speed","SpeedToAction","startSpeed","AnimateAction","textures","timePerFrame","resize","restore","previousTexture","texture","Error","reversedTextures","_dt","FadeByAction","alpha","FadeAlphaToAction","startAlpha","FadeInAction","FadeOutAction","DEG_TO_RAD","_","DefaultTimingModeEaseIn","value","DefaultTimingModeEaseOut","DefaultTimingModeEaseInOut","group","sequence","repeat","repeatForever","waitForDuration","waitForDurationWithRange","average","rangeSize","random","moveBy","a","c","moveByX","moveByY","moveTo","moveToX","moveToY","follow","_path","followAtSpeed","_length","rotateBy","rotateByDegrees","degrees","rotateTo","rotateToDegrees","speedBy","speedTo","scaleBy","scaleByX","scaleByY","scaleTo","scaleToX","scaleToY","fadeIn","fadeOut","fadeAlphaTo","fadeAlphaBy","animate","sortByKey","keys","Object","sort","hide","unhide","removeFromParent","runOnChild","fn","customAction","registerPixiJSActionsMixin","container","prototype","completion","runWithKey","runAsPromise","Promise","resolve","forKey","hasActions","removeAllActions","removeAction"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"index.mjs","sources":["../src/TimingMode.ts","../src/lib/Action.ts","../src/lib/ActionTicker.ts","../src/actions/chainable/GroupAction.ts","../src/actions/chainable/RepeatAction.ts","../src/actions/chainable/RepeatForeverAction.ts","../src/actions/chainable/SequenceAction.ts","../src/actions/custom/CustomAction.ts","../src/actions/custom/RunBlockAction.ts","../src/actions/delay/DelayAction.ts","../src/actions/container/RunOnChildAction.ts","../src/actions/container/SetVisibleAction.ts","../src/actions/follow-path/FollowPathAction.ts","../src/actions/move/MoveByAction.ts","../src/actions/move/MoveToAction.ts","../src/actions/rotate/RotateByAction.ts","../src/actions/rotate/RotateToAction.ts","../src/actions/scale/ScaleByAction.ts","../src/actions/scale/ScaleToAction.ts","../src/actions/scale/ScaleToSizeAction.ts","../src/actions/speed/SpeedByAction.ts","../src/actions/speed/SpeedToAction.ts","../src/actions/sprite/AnimateAction.ts","../src/actions/transparency/FadeAlphaByAction.ts","../src/actions/transparency/FadeAlphaToAction.ts","../src/actions/transparency/FadeInAction.ts","../src/actions/transparency/FadeOutAction.ts","../src/Action.ts","../src/Container.mixin.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["pow","Math","sqrt","sin","cos","PI","c1","c2","c3","c4","c5","_bounceOut","x","n1","d1","TimingMode","linear","easeInQuad","easeOutQuad","easeInOutQuad","easeInCubic","easeOutCubic","easeInOutCubic","easeInQuart","easeOutQuart","easeInOutQuart","easeInQuint","easeOutQuint","easeInOutQuint","easeInSine","easeOutSine","easeInOutSine","easeInExpo","easeOutExpo","easeInOutExpo","easeInCirc","easeOutCirc","easeInOutCirc","easeInBack","easeOutBack","easeInOutBack","easeInElastic","easeOutElastic","easeInOutElastic","easeInBounce","easeOutBounce","easeInOutBounce","Action","constructor","duration","speed","timingMode","this","log","RangeError","scaledDuration","setSpeed","setTimingMode","easeIn","_defaultTimingModeEaseIn","easeOut","_defaultTimingModeEaseOut","easeInOut","_defaultTimingModeEaseInOut","onSetupTicker","target","ticker","onTickerDidReset","onTickerRemoved","EPSILON_1","ActionTicker","tickAll","deltaTimeMs","onErrorHandler","deltaTime","tickers","_tickers","entries","isPaused","_getTargetState","actionTicker","values","tick","error","undefined","console","_removeActionTicker","runAction","key","action","has","set","Map","get","hasTargetActions","getTargetActionForKey","_a","_b","removeTargetActionForKey","removeAllTargetActions","delete","propagate","call","_c","size","isDone","autoComplete","_elapsed","_isSetup","timeDistance","min","easedTimeDistance","data","destroyed","scaledDeltaTime","onTick","b","t","dt","reset","leaf","parent","GroupAction","actions","super","max","map","reversed","childTickers","relativeDeltaTime","Infinity","allDone","childTicker","forEach","RepeatAction","repeats","Number","isInteger","n","remainingDeltaTime","RepeatForeverAction","TypeError","SequenceAction","reduce","total","reverse","_squashedActions","push","CustomAction","stepFn","RunBlockAction","block","DelayAction","RunOnChildAction","label","children","Array","isArray","child","getChildByLabel","find","name","ReferenceError","run","SetVisibleAction","visible","HALF_PI","FollowPathAction","path","asOffset","orientToPath","fixedSpeed","lastIndex","length","totalDist","segmentLengths","getLength","segmentWeights","v","getPath","points","totalLength","i","directionX","directionY","y","_getReversedPath","index","st","_getFixedSpeedProgress","_getDynamicSpeedProgress","startPoint","endPoint","position","ndx","ndy","rotation","atan2","first","last","dx","dy","floor","lastIndexNonZero","remainingProgress","segmentWeight","MoveByAction","MoveToAction","startX","startY","RotateByAction","RotateToAction","startRotation","ScaleByAction","scale","ScaleToAction","ScaleToSizeAction","width","height","SpeedByAction","_speed","SpeedToAction","startSpeed","AnimateAction","textures","timePerFrame","resize","restore","previousTexture","texture","Error","reversedTextures","_dt","FadeByAction","alpha","FadeAlphaToAction","startAlpha","FadeInAction","FadeOutAction","DEG_TO_RAD","_","DefaultTimingModeEaseIn","value","DefaultTimingModeEaseOut","DefaultTimingModeEaseInOut","group","sequence","repeat","repeatForever","waitForDuration","waitForDurationWithRange","average","rangeSize","random","moveBy","a","c","moveByX","moveByY","moveTo","moveToX","moveToY","follow","_path","followAtSpeed","_length","rotateBy","rotateByDegrees","degrees","rotateTo","rotateToDegrees","speedBy","speedTo","scaleBy","scaleByX","scaleByY","scaleTo","scaleToX","scaleToY","fadeIn","fadeOut","fadeAlphaTo","fadeAlphaBy","animate","sortByKey","keys","Object","sort","hide","unhide","destroy","options","removeFromParent","removeChild","runOnChild","childLabel","fn","customAction","registerPixiJSActionsMixin","container","prototype","completion","runWithKey","runAsPromise","Promise","resolve","forKey","hasActions","removeAllActions","removeAction"],"mappings":"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"} \ No newline at end of file diff --git a/package.json b/package.json index 415555c..0c58c04 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "pixijs-actions", - "version": "1.2.5", + "version": "1.2.7", "author": "Reece Como ", "authors": [ "Reece Como ", diff --git a/src/Action.ts b/src/Action.ts index e0bb729..e48da6d 100644 --- a/src/Action.ts +++ b/src/Action.ts @@ -12,7 +12,6 @@ import { GroupAction, MoveByAction, MoveToAction, - RemoveFromParentAction, RepeatAction, RepeatForeverAction, RotateByAction, @@ -32,6 +31,8 @@ import { Spritesheet, Texture } from 'pixi.js'; const DEG_TO_RAD = Math.PI / 180; +type DestroyOptions = Parameters[0]; + /** * Create, configure, and run actions in PixiJS. * @@ -561,6 +562,18 @@ export abstract class _ extends Action { return new SetVisibleAction(true); } + /** + * Creates an action that removes all internal references, listeners and actions, + * as well as removes children from the display list. + * + * This action has an instantaneous duration. + * + * This action is not reversible; the reverse of this action is the same action. + */ + public static destroy(options?: DestroyOptions): Action { + return this.run(target => target.destroy(options)); + } + /** * Creates an action that removes the node from its parent. * @@ -569,7 +582,7 @@ export abstract class _ extends Action { * This action is not reversible; the reverse of this action is the same action. */ public static removeFromParent(): Action { - return new RemoveFromParentAction(); + return this.run(target => target.parent?.removeChild(target)); } // @@ -586,8 +599,8 @@ export abstract class _ extends Action { * This action is reversible; it tells the child to execute the reverse of the action specified by * the action parameter. */ - public static runOnChild(nameOrLabel: string, action: Action): Action { - return new RunOnChildAction(action, nameOrLabel); + public static runOnChild(childLabel: string, action: Action): Action { + return new RunOnChildAction(action, childLabel); } // @@ -601,7 +614,7 @@ export abstract class _ extends Action { * * This action is not reversible; the reverse action executes the same block. */ - public static run(fn: () => void): Action { + public static run(fn: (target: TargetNode) => void): Action { return new RunBlockAction(fn); } diff --git a/src/actions/display-object/RunOnChildAction.ts b/src/actions/container/RunOnChildAction.ts similarity index 68% rename from src/actions/display-object/RunOnChildAction.ts rename to src/actions/container/RunOnChildAction.ts index 08f7286..9f77e97 100644 --- a/src/actions/display-object/RunOnChildAction.ts +++ b/src/actions/container/RunOnChildAction.ts @@ -3,13 +3,13 @@ import { Action } from '../../lib/Action'; export class RunOnChildAction extends Action { public constructor( protected readonly action: Action, - protected readonly nameOrLabel: string, + protected readonly label: string, ) { super(0); } public reversed(): Action { - return new RunOnChildAction(this.action.reversed(), this.nameOrLabel) + return new RunOnChildAction(this.action.reversed(), this.label) .setTimingMode(this.timingMode) .setSpeed(this.speed); } @@ -22,11 +22,11 @@ export class RunOnChildAction extends Action { let child: any; if ('getChildByLabel' in target as any) { - child = (target as any).getChildByLabel(this.nameOrLabel); // PixiJS v8 + child = (target as any).getChildByLabel(this.label); // pixi.js V8+ } else { child = target.children - .find((child: any) => child.label === this.nameOrLabel || child.name === this.nameOrLabel); + .find((child: any) => child.label === this.label || child.name === this.label); } if (child) { @@ -34,6 +34,6 @@ export class RunOnChildAction extends Action { return; } - throw new ReferenceError(`The target did not have a child matching '${this.nameOrLabel}'.`); + throw new ReferenceError(`The target did not have a child matching '${this.label}'.`); } } diff --git a/src/actions/display-object/SetVisibleAction.ts b/src/actions/container/SetVisibleAction.ts similarity index 100% rename from src/actions/display-object/SetVisibleAction.ts rename to src/actions/container/SetVisibleAction.ts diff --git a/src/actions/display-object/index.ts b/src/actions/container/index.ts similarity index 63% rename from src/actions/display-object/index.ts rename to src/actions/container/index.ts index d8d0cc9..008332c 100644 --- a/src/actions/display-object/index.ts +++ b/src/actions/container/index.ts @@ -1,3 +1,2 @@ -export * from './RemoveFromParentAction'; export * from './RunOnChildAction'; export * from './SetVisibleAction'; diff --git a/src/actions/custom/RunBlockAction.ts b/src/actions/custom/RunBlockAction.ts index e1cd0b8..b85af6f 100644 --- a/src/actions/custom/RunBlockAction.ts +++ b/src/actions/custom/RunBlockAction.ts @@ -2,7 +2,7 @@ import { Action } from '../../lib/Action'; export class RunBlockAction extends Action { public constructor( - protected readonly block: () => void + protected readonly block: (target: TargetNode) => void ) { super(0); } @@ -11,7 +11,7 @@ export class RunBlockAction extends Action { return this; } - protected onTick(): void { - this.block(); + protected onTick(target: TargetNode): void { + this.block(target); } } diff --git a/src/actions/display-object/RemoveFromParentAction.ts b/src/actions/display-object/RemoveFromParentAction.ts deleted file mode 100644 index a81a571..0000000 --- a/src/actions/display-object/RemoveFromParentAction.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { Action } from '../../lib/Action'; - -export class RemoveFromParentAction extends Action { - public constructor() { - super(0); - } - - public reversed(): Action { - return this; - } - - protected onTick(target: TargetNode): void { - target.parent?.removeChild(target); - } -} diff --git a/src/actions/index.ts b/src/actions/index.ts index b268208..ab0573d 100644 --- a/src/actions/index.ts +++ b/src/actions/index.ts @@ -1,7 +1,7 @@ export * from './chainable'; export * from './custom'; export * from './delay'; -export * from './display-object'; +export * from './container'; export * from './follow-path'; export * from './move'; export * from './rotate'; diff --git a/src/lib/ActionTicker.ts b/src/lib/ActionTicker.ts index 07fc955..de94602 100644 --- a/src/lib/ActionTicker.ts +++ b/src/lib/ActionTicker.ts @@ -243,8 +243,7 @@ export class ActionTicker { const target = this.target; const action = this.action; - // If action no longer valid, or target not on the stage - // we garbage collect its actions. + // If action no longer valid, we garbage collect its runners. if (target == null || target.destroyed) { ActionTicker._removeActionTicker(this);