UNPKG

@drincs/pixi-vn-storymate

Version:

Pixi'VN gives you the ability to write your own narrative using StoryMate

3 lines (2 loc) 24.9 kB
'use strict';var pixiVn=require('@drincs/pixi-vn');var I=(r=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(r,{get:(e,t)=>(typeof require<"u"?require:e)[t]}):r)(function(r){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+r+'" is not supported')});var ke=Object.create,Y=Object.defineProperty,Se=Object.getOwnPropertyDescriptor,Ae=Object.getOwnPropertyNames,_e=Object.getPrototypeOf,xe=Object.prototype.hasOwnProperty,U=(r=>typeof I<"u"?I:typeof Proxy<"u"?new Proxy(r,{get:(e,t)=>(typeof I<"u"?I:e)[t]}):r)(function(r){if(typeof I<"u")return I.apply(this,arguments);throw Error('Dynamic require of "'+r+'" is not supported')}),W=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports),Ce=(r,e,t,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of Ae(e))!xe.call(r,n)&&n!==t&&Y(r,n,{get:()=>e[n],enumerable:!(o=Se(e,n))||o.enumerable});return r},Ne=(r,e,t)=>(t=r!=null?ke(_e(r)):{},Ce(Y(t,"default",{value:r,enumerable:true}),r)),Oe=W((r,e)=>{(function(t,o){typeof r=="object"?e.exports=r=o():typeof define=="function"&&define.amd?define([],o):t.CryptoJS=o();})(r,function(){var t=t||function(o,n){var s;if(typeof window<"u"&&window.crypto&&(s=window.crypto),typeof self<"u"&&self.crypto&&(s=self.crypto),typeof globalThis<"u"&&globalThis.crypto&&(s=globalThis.crypto),!s&&typeof window<"u"&&window.msCrypto&&(s=window.msCrypto),!s&&typeof global<"u"&&global.crypto&&(s=global.crypto),!s&&typeof U=="function")try{s=U("crypto");}catch{}var p=function(){if(s){if(typeof s.getRandomValues=="function")try{return s.getRandomValues(new Uint32Array(1))[0]}catch{}if(typeof s.randomBytes=="function")try{return s.randomBytes(4).readInt32LE()}catch{}}throw new Error("Native crypto module could not be used to get secure random number.")},u=Object.create||function(){function a(){}return function(l){var m;return a.prototype=l,m=new a,a.prototype=null,m}}(),c={},y=c.lib={},i=y.Base=function(){return {extend:function(a){var l=u(this);return a&&l.mixIn(a),(!l.hasOwnProperty("init")||this.init===l.init)&&(l.init=function(){l.$super.init.apply(this,arguments);}),l.init.prototype=l,l.$super=this,l},create:function(){var a=this.extend();return a.init.apply(a,arguments),a},init:function(){},mixIn:function(a){for(var l in a)a.hasOwnProperty(l)&&(this[l]=a[l]);a.hasOwnProperty("toString")&&(this.toString=a.toString);},clone:function(){return this.init.prototype.extend(this)}}}(),b=y.WordArray=i.extend({init:function(a,l){a=this.words=a||[],l!=n?this.sigBytes=l:this.sigBytes=a.length*4;},toString:function(a){return (a||v).stringify(this)},concat:function(a){var l=this.words,m=a.words,w=this.sigBytes,S=a.sigBytes;if(this.clamp(),w%4)for(var x=0;x<S;x++){var F=m[x>>>2]>>>24-x%4*8&255;l[w+x>>>2]|=F<<24-(w+x)%4*8;}else for(var O=0;O<S;O+=4)l[w+O>>>2]=m[O>>>2];return this.sigBytes+=S,this},clamp:function(){var a=this.words,l=this.sigBytes;a[l>>>2]&=4294967295<<32-l%4*8,a.length=o.ceil(l/4);},clone:function(){var a=i.clone.call(this);return a.words=this.words.slice(0),a},random:function(a){for(var l=[],m=0;m<a;m+=4)l.push(p());return new b.init(l,a)}}),h=c.enc={},v=h.Hex={stringify:function(a){for(var l=a.words,m=a.sigBytes,w=[],S=0;S<m;S++){var x=l[S>>>2]>>>24-S%4*8&255;w.push((x>>>4).toString(16)),w.push((x&15).toString(16));}return w.join("")},parse:function(a){for(var l=a.length,m=[],w=0;w<l;w+=2)m[w>>>3]|=parseInt(a.substr(w,2),16)<<24-w%8*4;return new b.init(m,l/2)}},T=h.Latin1={stringify:function(a){for(var l=a.words,m=a.sigBytes,w=[],S=0;S<m;S++){var x=l[S>>>2]>>>24-S%4*8&255;w.push(String.fromCharCode(x));}return w.join("")},parse:function(a){for(var l=a.length,m=[],w=0;w<l;w++)m[w>>>2]|=(a.charCodeAt(w)&255)<<24-w%4*8;return new b.init(m,l)}},C=h.Utf8={stringify:function(a){try{return decodeURIComponent(escape(T.stringify(a)))}catch{throw new Error("Malformed UTF-8 data")}},parse:function(a){return T.parse(unescape(encodeURIComponent(a)))}},g=y.BufferedBlockAlgorithm=i.extend({reset:function(){this._data=new b.init,this._nDataBytes=0;},_append:function(a){typeof a=="string"&&(a=C.parse(a)),this._data.concat(a),this._nDataBytes+=a.sigBytes;},_process:function(a){var l,m=this._data,w=m.words,S=m.sigBytes,x=this.blockSize,F=x*4,O=S/F;a?O=o.ceil(O):O=o.max((O|0)-this._minBufferSize,0);var M=O*x,q=o.min(M*4,S);if(M){for(var H=0;H<M;H+=x)this._doProcessBlock(w,H);l=w.splice(0,M),m.sigBytes-=q;}return new b.init(l,q)},clone:function(){var a=i.clone.call(this);return a._data=this._data.clone(),a},_minBufferSize:0});y.Hasher=g.extend({cfg:i.extend(),init:function(a){this.cfg=this.cfg.extend(a),this.reset();},reset:function(){g.reset.call(this),this._doReset();},update:function(a){return this._append(a),this._process(),this},finalize:function(a){a&&this._append(a);var l=this._doFinalize();return l},blockSize:16,_createHelper:function(a){return function(l,m){return new a.init(m).finalize(l)}},_createHmacHelper:function(a){return function(l,m){return new _.HMAC.init(a,m).finalize(l)}}});var _=c.algo={};return c}(Math);return t});}),Ie=W((r,e)=>{(function(t,o){typeof r=="object"?e.exports=r=o(Oe()):typeof define=="function"&&define.amd?define(["./core"],o):o(t.CryptoJS);})(r,function(t){return function(){var o=t,n=o.lib,s=n.WordArray,p=n.Hasher,u=o.algo,c=[],y=u.SHA1=p.extend({_doReset:function(){this._hash=new s.init([1732584193,4023233417,2562383102,271733878,3285377520]);},_doProcessBlock:function(i,b){for(var h=this._hash.words,v=h[0],T=h[1],C=h[2],g=h[3],_=h[4],a=0;a<80;a++){if(a<16)c[a]=i[b+a]|0;else {var l=c[a-3]^c[a-8]^c[a-14]^c[a-16];c[a]=l<<1|l>>>31;}var m=(v<<5|v>>>27)+_+c[a];a<20?m+=(T&C|~T&g)+1518500249:a<40?m+=(T^C^g)+1859775393:a<60?m+=(T&C|T&g|C&g)-1894007588:m+=(T^C^g)-899497514,_=g,g=C,C=T<<30|T>>>2,T=v,v=m;}h[0]=h[0]+v|0,h[1]=h[1]+T|0,h[2]=h[2]+C|0,h[3]=h[3]+g|0,h[4]=h[4]+_|0;},_doFinalize:function(){var i=this._data,b=i.words,h=this._nDataBytes*8,v=i.sigBytes*8;return b[v>>>5]|=128<<24-v%32,b[(v+64>>>9<<4)+14]=Math.floor(h/4294967296),b[(v+64>>>9<<4)+15]=h,i.sigBytes=b.length*4,this._process(),this._hash},clone:function(){var i=p.clone.call(this);return i._hash=this._hash.clone(),i}});o.SHA1=p._createHelper(y),o.HmacSHA1=p._createHmacHelper(y);}(),t.SHA1});}),Ve=Ne(Ie()),j="___param___",V=class d{static _beforeToTranslate=void 0;static _translate=e=>e;static _afterToTranslate=void 0;static t(e){return Array.isArray(e)?e.map(t=>d.translate(`${t}`)):d.translate(`${e}`)}static set beforeToTranslate(e){d._beforeToTranslate=e;}static set translate(e){d._translate=e;}static get translate(){return e=>{let t=e;return d._beforeToTranslate&&(t=d._beforeToTranslate(t)),t=d._translate(t),d._afterToTranslate&&(t=d._afterToTranslate(t)),t}}static set afterToTranslate(e){d._afterToTranslate=e;}static addKey(e,t,o){let n=o.defaultValue||"empty_string";typeof t=="string"&&(t=[t]),Array.isArray(t)&&t.forEach(s=>{e[s]===void 0&&(n==="empty_string"?e[s]="":n==="copy_key"&&(d._beforeToTranslate?e[s]=d._beforeToTranslate(s):e[s]=s));});}static getConditionalsThenElse(e,t=[]){if(typeof e=="object"&&e&&"type"in e)if(e.type==="ifelse")e.then&&d.getConditionalsThenElse(e.then,t),e.else&&d.getConditionalsThenElse(e.else,t);else if(e.type==="stepswitch"){if(e.elements)if(Array.isArray(e.elements))e.elements.forEach(o=>{d.getConditionalsThenElse(o,t);});else if(e.elements.type==="ifelse"){let o=[];d.getConditionalsThenElse(e.elements,o),o.forEach(n=>{t.push(...n);});}else if(e.elements.type==="stepswitch"){let o=[];d.getConditionalsThenElse(e.elements,o),o.forEach(n=>{t.push(...n);});}else d.getConditionalsThenElse(e.elements,t);}else e.type==="resulttocombine"?(e.firstItem&&d.getConditionalsThenElse(e.firstItem,t),e.secondConditionalItem&&e.secondConditionalItem.forEach(o=>{d.getConditionalsThenElse(o,t);})):t.push(e);else e&&t.push(e);return t}static generateJsonTranslation(e,t={},o={}){return e.forEach(n=>{if(n.choices){let s=[];Array.isArray(n.choices)?s=[n.choices]:s=d.getConditionalsThenElse(n.choices),s.forEach(p=>p.forEach(u=>{if("type"in u){let c=[];u.type==="ifelse"||u.type==="stepswitch"?d.getConditionalsThenElse(u,c):c=[u],c.map(y=>d.getConditionalsThenElse(y.text)).forEach(y=>{Array.isArray(y)&&y.forEach(i=>{Array.isArray(i)?i.forEach(b=>{typeof b=="string"?d.addKey(t,b,o):d.getConditionalsThenElse(b).forEach(h=>{Array.isArray(h)?h.forEach(v=>{typeof v=="string"&&d.addKey(t,v,o);}):typeof h=="string"&&d.addKey(t,h,o);});}):typeof i=="string"&&d.addKey(t,i,o);});});}}));}if(n.dialogue){let s=[];Array.isArray(n.dialogue)?s=[n.dialogue]:s=d.getConditionalsThenElse(n.dialogue),s.forEach(p=>{typeof p=="string"?d.addKey(t,p,o):"text"in p&&Array.isArray(p.text)&&p.text.forEach(u=>{typeof u=="string"?d.addKey(t,u,o):d.getConditionalsThenElse(u).forEach(c=>{typeof c=="string"?d.addKey(t,c,o):Array.isArray(c)&&c.forEach(y=>{typeof y=="string"?d.addKey(t,y,o):d.getConditionalsThenElse(y).forEach(i=>{typeof i=="string"&&d.addKey(t,i,o);});});});});});}n.conditionalStep&&d.getConditionalsThenElse(n.conditionalStep).forEach(s=>{Array.isArray(s)?d.generateJsonTranslation(s,t,o):d.generateJsonTranslation([s],t,o);});}),t}},J=V,A;(r=>(r.log=(e,...t)=>console.log(`[Pixi\u2019VN Json] ${e}`,...t),r.warn=(e,...t)=>console.warn(`[Pixi\u2019VN Json] ${e}`,...t),r.error=(e,...t)=>console.error(`[Pixi\u2019VN Json] ${e}`,...t),r.info=(e,...t)=>console.info(`[Pixi\u2019VN Json] ${e}`,...t)))(A||={});function De(r,e){return Math.floor(Math.random()*(e-r+1)+r)}function Le(r){if(Array.isArray(r)||!r)return r;if(r&&typeof r=="object"&&"type"in r)switch(r.type){case "resulttocombine":return je(r);case "ifelse":return f(r.condition)?f(r.then):f(r.else);case "stepswitch":let e=f(r.elements)||[];if(e.length===0){A.error("getValueFromConditionalStatements elements.length === 0");return}switch(r.choiceType){case "random":let t=De(0,e.length-1);return f(e[t]);case "loop":let o=pixiVn.NarrationManagerStatic.getCurrentStepTimesCounter(r.nestedId)-1;return o>e.length-1&&(o=o%e.length),f(e[o]);case "sequential":let n,s=pixiVn.NarrationManagerStatic.getCurrentStepTimesCounter(r.nestedId)-1;return r.end=="lastItem"&&(n=f(e[e.length-1])),s>e.length-1?n:f(e[s]);case "sequentialrandom":let p=pixiVn.NarrationManagerStatic.getRandomNumber(0,e.length-1,{nestedId:r.nestedId,onceOnly:true});if(p==null&&r.end=="lastItem"){let u=pixiVn.NarrationManagerStatic.getCurrentStepTimesCounterData(r.nestedId);if(!u||!u?.usedRandomNumbers){A.warn("getValueFromConditionalStatements randomIndexWhitExclude == undefined");return}let c=u.usedRandomNumbers[`0-${e.length-1}`];return f(e[c[c.length-1]])}if(p==null){A.warn("getValueFromConditionalStatements randomIndexWhitExclude == undefined");return}return f(e[p])}}return r}function B(r){if(r.conditionalStep){let e=pixiVn.createExportableElement(f(r.conditionalStep));if(e?.glueEnabled===void 0&&delete e?.glueEnabled,e?.goNextStep===void 0&&delete e?.goNextStep,e?.end===void 0&&delete e?.end,e?.choices===void 0&&delete e?.choices,e?.dialogue===void 0&&delete e?.dialogue,e?.labelToOpen===void 0&&delete e?.labelToOpen,e?.operations===void 0&&delete e?.operations,e){let t={...r,conditionalStep:void 0,...e};return B(t)}else pixiVn.storage.getFlag(pixiVn.SYSTEM_RESERVED_STORAGE_KEYS.ADD_NEXT_DIALOG_TEXT_INTO_THE_CURRENT_DIALOG_FLAG_KEY)&&pixiVn.storage.setFlag(pixiVn.SYSTEM_RESERVED_STORAGE_KEYS.ADD_NEXT_DIALOG_TEXT_INTO_THE_CURRENT_DIALOG_FLAG_KEY,false);}return r}function je(r){let e=r.firstItem,t=[];r.secondConditionalItem?.forEach(n=>{if(Array.isArray(n))n.forEach(s=>{let p=f(s);t.push(p);});else {let s=f(n);t.push(s);}});let o=e?[e,...t]:t;if(o.length===0){A.warn("combinateResult toCheck.length === 0");return}if(typeof o[0]=="string")return J.t(o).join("");if(typeof o[0]=="object"){let n=o,s,p=n.map((g,_)=>{g=B(g);let a=f(g.dialogue)||"";return _===0?(s=f(g.glueEnabled)||false,a):(typeof a=="object"&&"text"in a&&(a=a.character+": "+a.text),s===false&&(a=` `+a),s=f(g.glueEnabled)||false,a)}),u=f(p[0]),c=typeof u=="object"&&"character"in u?u.character:void 0,y=p.map(g=>{let _;g&&typeof g=="object"&&"text"in g?_=g.text:_=g;let a;return Array.isArray(_)?a=_.map(l=>{let m=f(l);return J.t(`${m}`)}).join(""):a=f(_)||"",J.t(a)}).join(""),i=n.find(g=>g.end),b=n.find(g=>g.choices),h=false,v=false;n.length>0&&(n[0].glueEnabled&&n[0].goNextStep&&n[0].dialogue===void 0&&pixiVn.storage.setFlag(pixiVn.SYSTEM_RESERVED_STORAGE_KEYS.ADD_NEXT_DIALOG_TEXT_INTO_THE_CURRENT_DIALOG_FLAG_KEY,true),h=n[n.length-1].glueEnabled,v=n.reverse().find(g=>!(g.operations&&(!g.dialogue||!g.choices)))?.goNextStep);let T=n.find(g=>g.labelToOpen),C=[];return n.forEach(g=>{g.operations&&C.forEach(_=>{C.push(_);});}),{dialogue:c?{character:c,text:y}:y,end:i?.end,choices:b?.choices,glueEnabled:h,goNextStep:v,labelToOpen:T?.labelToOpen,operations:C}}}function Me(r){if(!r)return false;if(typeof r!="object"||!("type"in r))return !!r;switch(r.type){case "compare":let e=f(r.leftValue),t=f(r.rightValue);switch(r.operator){case "==":return e===t;case "!=":return e!==t;case "<":return e<t;case "<=":return e<=t;case ">":return e>t;case ">=":return e>=t;case "CONTAINS":return e.toString().includes(t.toString())}break;case "valueCondition":return !!f(r.value);case "union":return Pe(r)}return !!r}function $e(r){if(r&&typeof r=="object"&&"type"in r&&r.type==="value"&&r.storageOperationType==="get")switch(r.storageType){case "storage":case "tempstorage":return pixiVn.storage.getVariable(r.key);case "flagStorage":return pixiVn.storage.getFlag(r.key);case "label":return pixiVn.narration.getTimesLabelOpened(r.label);case "choice":return pixiVn.narration.getTimesChoiceMade(r.index);case "logic":return f(r.operation);case "params":let e=pixiVn.storage.getVariable(`${j}${pixiVn.narration.openedLabels.length-1}`)||[];if(e&&e.length>r.key)return e[r.key];A.warn("getValue params not found");return}return r}function Pe(r){if(r.unionType==="not")return !f(r.condition);let e=r.unionType==="and";for(let t=0;t<r.conditions.length;t++)if(e=f(r.conditions[t])||false,r.unionType==="and"){if(!e)return false}else if(e)return true;return e}function Re(r){let e=f(r.value),t;switch(e&&typeof e=="object"&&"type"in e?t=f(e):t=e,r.storageType){case "flagStorage":pixiVn.storage.setFlag(r.key,r.value);break;case "storage":pixiVn.storage.setVariable(r.key,t);break;case "tempstorage":pixiVn.storage.setTempVariable(r.key,t);break;case "params":let o=pixiVn.storage.getVariable(`${j}${pixiVn.narration.openedLabels.length-1}`)||[];o&&o.length-1>=r.key&&(o[r.key]=t),pixiVn.storage.setTempVariable(`${j}${pixiVn.narration.openedLabels.length-1}`,o);break}}function f(r){let e=Le(r);if(e&&typeof e=="object"&&"type"in e)switch(e.type){case "value":return $e(e);case "arithmetic":case "arithmeticsingle":return Be(e);case "compare":case "valueCondition":case "union":return Me(e)}return e}function Be(r){let e=f(r.leftValue);switch(r.type){case "arithmetic":let t=f(r.rightValue);switch(r.operator){case "*":return e*t;case "/":return e/t;case "+":return e+t;case "-":return e-t;case "%":return e%t;case "POW":return Math.pow(e,t);case "RANDOM":return pixiVn.narration.getRandomNumber(e,t)}case "arithmeticsingle":switch(r.operator){case "INT":return parseInt(e);case "FLOOR":return Math.floor(e);case "FLOAT":return parseFloat(e)}break}}async function Z(r){let e=f(r);if(e)switch(e.type){case "assets":switch(e.operationType){case "load":await pixiVn.Assets.load(e.aliases);break;case "lazyload":pixiVn.Assets.backgroundLoad(e.aliases);break}break;case "bundle":switch(e.operationType){case "load":await pixiVn.Assets.loadBundle(e.aliases);break;case "lazyload":pixiVn.Assets.backgroundLoadBundle(e.aliases);break}break}}async function K(r,e){let t=f(r);if(t)switch(t.type){case "sound":switch(t.operationType){case "play":pixiVn.sound.play(t.alias,t.props);break;case "stop":pixiVn.sound.stop(t.alias);break;case "pause":pixiVn.sound.pause(t.alias);break;case "resume":pixiVn.sound.resume(t.alias);break;case "volume":pixiVn.sound.volume(t.alias,t.value);break}break;case "assets":case "bundle":await Z(t);break;case "image":switch(t.operationType){case "show":let u=new pixiVn.ImageSprite(t.props,t.url||t.alias);await z(u,t);break;case "edit":let c=pixiVn.canvas.find(t.alias);c?t.props&&await c.setMemory({...c.memory,...t.props}):A.error(`Image with alias ${t.alias} not found.`);break;case "remove":R(t);break}break;case "video":switch(t.operationType){case "show":let u=new pixiVn.VideoSprite(t.props,t.url||t.alias);await z(u,t);break;case "edit":let c=pixiVn.canvas.find(t.alias);c?t.props&&await c.setMemory({...c.memory,...t.props}):A.error(`Video with alias ${t.alias} not found.`);break;case "remove":R(t);break;case "pause":let y=pixiVn.canvas.find(t.alias);y?y.paused=true:A.error(`Video with alias ${t.alias} not found.`);break;case "resume":let i=pixiVn.canvas.find(t.alias);i?i.paused=false:A.error(`Video with alias ${t.alias} not found.`);break}break;case "imagecontainer":switch(t.operationType){case "show":let u=new pixiVn.ImageContainer(t.props,t.urls);await z(u,t);break;case "edit":let c=pixiVn.canvas.find(t.alias);c?t.props&&await c.setMemory({...c.memory,...t.props}):A.error(`ImageContainer with alias ${t.alias} not found.`);break;case "remove":R(t);break}break;case "canvaselement":switch(t.operationType){case "edit":try{let u=pixiVn.canvas.find(t.alias);u?t.props&&(u.memory={...u.memory,...t.props}):A.error(`Canvas Element with alias ${t.alias} not found.`);}catch(u){A.error(`There was an error while trying to edit the canvas element with alias ${t.alias}.`,u);}break;case "remove":R(t);break}break;case "value":Re(t);break;case "operationtoconvert":if(e){let u="";t.values.forEach(y=>{if(typeof y=="string")u+=y;else {let i=f(y);u+=`${i}`;}});let c=await e(u);c&&await K(c,e);}break;case "input":switch(t.operationType){case "request":pixiVn.narration.requestInput({type:t.valueType},t.defaultValue);break}break;case "fade":let o=new pixiVn.FadeAlphaTicker(t.props,t.duration,t.priority);pixiVn.canvas.addTicker(t.alias,o);break;case "move":let n=new pixiVn.MoveTicker(t.props,t.duration,t.priority);pixiVn.canvas.addTicker(t.alias,n);break;case "rotate":let s=new pixiVn.RotateTicker(t.props,t.duration,t.priority);pixiVn.canvas.addTicker(t.alias,s);break;case "zoom":let p=new pixiVn.ZoomTicker(t.props,t.duration,t.priority);pixiVn.canvas.addTicker(t.alias,p);break;case "shake":await pixiVn.shakeEffect(t.alias,t.props,t.priority);break}}async function z(r,e){if(e.transition)switch(e.transition.type){case "fade":await pixiVn.showWithFade(e.alias,r,e.transition.props,e.transition.priority);break;case "dissolve":await pixiVn.showWithDissolve(e.alias,r,e.transition.props,e.transition.priority);break;case "movein":case "moveout":await pixiVn.moveIn(e.alias,r,e.transition.props,e.transition.priority);break;case "zoomin":case "zoomout":await pixiVn.zoomIn(e.alias,r,e.transition.props,e.transition.priority);break;case "pushin":case "pushout":await pixiVn.pushIn(e.alias,r,e.transition.props,e.transition.priority);break}else await r.load(),pixiVn.canvas.add(e.alias,r);}function R(r){if(r.transition)switch(r.transition.type){case "fade":pixiVn.removeWithFade(r.alias,r.transition.props,r.transition.priority);break;case "dissolve":pixiVn.removeWithDissolve(r.alias,r.transition.props,r.transition.priority);break;case "movein":case "moveout":pixiVn.moveOut(r.alias,r.transition.props,r.transition.priority);break;case "zoomin":case "zoomout":pixiVn.zoomOut(r.alias,r.transition.props,r.transition.priority);break;case "pushin":case "pushout":pixiVn.pushOut(r.alias,r.transition.props,r.transition.priority);break}else pixiVn.canvas.remove(r.alias);}var Fe=class extends pixiVn.LabelAbstract{constructor(r,e,t,o={}){t||(t={}),t.onLoadingLabel=async()=>{for(let n of e){let s;if(typeof n=="function"?s=n():s=n,s=B(s),s.operations){let p=s.operations.map(u=>Z(u));await Promise.all(p);}}},super(r,t),this._steps=e,this.operationStringConvert=o.operationStringConvert,this.skipEmptyDialogs=o.skipEmptyDialogs||false;}_steps;get steps(){return this._steps.map(r=>this.stepConverter(r))}get stepCount(){return this._steps.length}getStepById(r){if(r<0||r>=this._steps.length)return;let e=this._steps[r];return this.stepConverter(e)}operationStringConvert;skipEmptyDialogs=false;getStepSha(r){if(r<0||r>=this.steps.length)return;let e=this._steps[r];return (0, Ve.default)(e.toString().toLocaleLowerCase()).toString()}getDialogueText(r){let e="";if(Array.isArray(r)){let t=[];r.forEach(o=>{if(typeof o=="string")t.push(o);else if(o&&typeof o=="object"){let n=f(o);n?(n&&!Array.isArray(n)&&typeof n=="object"&&(n=f(n)||""),Array.isArray(n)?t=t.concat(n):t.push(`${n}`)):t.push(`${o}`);}}),e=t;}else {let t=f(r)||"";t&&!Array.isArray(t)&&typeof t=="object"&&(t=f(t)||""),e=t;}return `${e}`}getDialogue(r){if(r==null)return;let e=f(r);return e==null?"":typeof e=="object"&&"character"in e&&"text"in e?{character:e.character,text:V.t(this.getDialogueText(e.text))}:V.t(this.getDialogueText(e))}getChoices(r){return f(r)?.map(e=>f(e)).filter(e=>e!==void 0)}stepConverter(r){return async e=>{let t;if(typeof r=="function"?t=r():t=r,t=B(t),t.operations)for(let y of t.operations)await K(y,this.operationStringConvert?i=>this.operationStringConvert(i,t,e):void 0);let o=this.getChoices(t.choices),n=f(t.glueEnabled),s=this.getDialogue(t.dialogue),p=[];t.labelToOpen&&(Array.isArray(t.labelToOpen)||(t.labelToOpen=[t.labelToOpen]),t.labelToOpen.forEach(y=>{let i=f(y);i&&p.push(i);}));let u=f(t.goNextStep),c=f(t.end);if(o){let y=o.map(i=>{let b="";if(Array.isArray(i.text)){let h=[];i.text.forEach(v=>{if(typeof v=="string")h.push(V.t(v));else if(v&&typeof v=="object"){let T=f(v);T&&!Array.isArray(T)&&typeof T=="object"&&(T=f(T)||""),T&&(Array.isArray(T)?h=h.concat(V.t(T)):h.push(V.t(T)));}}),b=h.join();}else typeof i.text=="string"&&(b=V.t(i.text));return new pixiVn.ChoiceMenuOption(b,i.label,i.props,{type:i.type,oneTime:i.oneTime,onlyHaveNoChoice:i.onlyHaveNoChoice,autoSelect:i.autoSelect})});pixiVn.narration.choiceMenuOptions=y;}else pixiVn.narration.choiceMenuOptions=void 0;s!==void 0&&(pixiVn.narration.dialogue=s,this.skipEmptyDialogs&&typeof s=="string"&&(s===""||RegExp(/^\s+$/).test(s))&&(u=true)),n?pixiVn.storage.setFlag(pixiVn.SYSTEM_RESERVED_STORAGE_KEYS.ADD_NEXT_DIALOG_TEXT_INTO_THE_CURRENT_DIALOG_FLAG_KEY,true):n===false&&pixiVn.storage.setFlag(pixiVn.SYSTEM_RESERVED_STORAGE_KEYS.ADD_NEXT_DIALOG_TEXT_INTO_THE_CURRENT_DIALOG_FLAG_KEY,false);for(let y of p){let i=y.label;typeof i=="object"&&(i=f(i)||"");let b=y.params?.map(h=>f(h));e={...e,...y.props},y.type==="jump"?(pixiVn.narration.closeCurrentLabel(),pixiVn.storage.setTempVariable(`${j}${pixiVn.narration.openedLabels.length}`,b),await pixiVn.narration.callLabel(i,e)):(pixiVn.storage.setTempVariable(`${j}${pixiVn.narration.openedLabels.length}`,b),await pixiVn.narration.callLabel(i,e));}c==="game_end"?(pixiVn.narration.closeAllLabels(),await pixiVn.narration.goNext(e,{runNow:true})):c==="label_end"&&pixiVn.narration.closeCurrentLabel(),u&&await pixiVn.narration.goNext(e,{runNow:true});}}};async function Q(r,e={}){let{operationStringConvert:t,skipEmptyDialogs:o}=e;if(!Array.isArray(r))if(typeof r=="object"||typeof r=="string")r=[r];else {A.error("Error parsing imported Pixi'VN JSON: data is not an object");return}let n=r.map(async p=>{if(typeof p=="string")try{p=JSON.parse(p);}catch(u){A.error("Error parsing imported Pixi'VN JSON",u),p={};}return p}),s=(await Promise.all(n)).map(async p=>{let u=[];if(p.initialOperations){p.initialOperations.forEach(y=>{let i=K(y,t?b=>t(b,{},{}):void 0);u.push(i);});let c={};[...pixiVn.storage.storage.keys()].forEach((y,i)=>{c[y]=pixiVn.storage.storage.get(y);}),pixiVn.storage.startingStorage=c;}if(p.labels){let c=p.labels;for(let y in c)try{let i=c[y],b=new Fe(y,i,void 0,e);pixiVn.RegisteredLabels.add(b);}catch(i){A.error(`Error creating JSON label ${y}`,i);}}return Promise.all(u)});await Promise.all(s);}var G;(n=>(n.log=(s,...p)=>console.log(`[Pixi\u2019VN StoryMate] ${s}`,...p),n.warn=(s,...p)=>console.warn(`[Pixi\u2019VN StoryMate] ${s}`,...p),n.error=(s,...p)=>console.error(`[Pixi\u2019VN StoryMate] ${s}`,...p),n.info=(s,...p)=>console.info(`[Pixi\u2019VN StoryMate] ${s}`,...p)))(G||={});async function ee(r){return {labels:await He(r.nodesData)}}async function He(r){let e={},t=r.map(async o=>{let n=[];n.push({dialogue:o.text,choices:o.choicesText.map(s=>({text:s.choiceText,label:X(s.id),type:"jump",props:{}})),labelToOpen:o.choicesText.length===0&&o.childrenIds.length>0?{label:X(o.childrenIds[0]),type:"jump",props:{}}:void 0}),e[X(o.id)]=n;});return await Promise.all(t),e}function X(r){return `storymate-${r}`}async function Qe(r){typeof r=="string"&&(r=[r]),Array.isArray(r)||(r=[r]);let e=r.map(async t=>{if(typeof t=="string")try{t=JSON.parse(t);}catch(n){G.error("Error parsing imported StoryMate JSON",n);return}let o=await ee(t);o&&await Q(o);});return await Promise.all(e)}exports.importStoryMate=Qe;