@drincs/pixi-vn 0.6.3 → 0.6.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (238) hide show
  1. package/README.md +8 -5
  2. package/dist/LabelProps-CFV-zRjG.d.ts +113 -0
  3. package/dist/LabelProps-CmRpvUJm.d.mts +113 -0
  4. package/dist/classes/CharacterBaseModel.js +42 -33
  5. package/dist/classes/CharacterBaseModel.js.map +1 -1
  6. package/dist/classes/CharacterBaseModel.mjs +42 -33
  7. package/dist/classes/CharacterBaseModel.mjs.map +1 -1
  8. package/dist/classes/ChoiceMenuOption.d.mts +68 -8
  9. package/dist/classes/ChoiceMenuOption.d.ts +68 -8
  10. package/dist/classes/ChoiceMenuOption.js +119 -53
  11. package/dist/classes/ChoiceMenuOption.js.map +1 -1
  12. package/dist/classes/ChoiceMenuOption.mjs +119 -53
  13. package/dist/classes/ChoiceMenuOption.mjs.map +1 -1
  14. package/dist/classes/CloseLabel.d.mts +2 -2
  15. package/dist/classes/CloseLabel.d.ts +2 -2
  16. package/dist/classes/CloseLabel.js +53 -17
  17. package/dist/classes/CloseLabel.js.map +1 -1
  18. package/dist/classes/CloseLabel.mjs +53 -17
  19. package/dist/classes/CloseLabel.mjs.map +1 -1
  20. package/dist/classes/Label.d.mts +4 -72
  21. package/dist/classes/Label.d.ts +4 -72
  22. package/dist/classes/Label.js +50 -16
  23. package/dist/classes/Label.js.map +1 -1
  24. package/dist/classes/Label.mjs +50 -16
  25. package/dist/classes/Label.mjs.map +1 -1
  26. package/dist/classes/StoredClassModel.js +42 -33
  27. package/dist/classes/StoredClassModel.js.map +1 -1
  28. package/dist/classes/StoredClassModel.mjs +42 -33
  29. package/dist/classes/StoredClassModel.mjs.map +1 -1
  30. package/dist/classes/canvas/CanvasContainer.js +2 -2
  31. package/dist/classes/canvas/CanvasContainer.js.map +1 -1
  32. package/dist/classes/canvas/CanvasContainer.mjs +2 -2
  33. package/dist/classes/canvas/CanvasContainer.mjs.map +1 -1
  34. package/dist/classes/canvas/CanvasImage.js +2 -2
  35. package/dist/classes/canvas/CanvasImage.js.map +1 -1
  36. package/dist/classes/canvas/CanvasImage.mjs +2 -2
  37. package/dist/classes/canvas/CanvasImage.mjs.map +1 -1
  38. package/dist/classes/canvas/CanvasSprite.js +2 -2
  39. package/dist/classes/canvas/CanvasSprite.js.map +1 -1
  40. package/dist/classes/canvas/CanvasSprite.mjs +2 -2
  41. package/dist/classes/canvas/CanvasSprite.mjs.map +1 -1
  42. package/dist/classes/canvas/CanvasText.js +2 -2
  43. package/dist/classes/canvas/CanvasText.js.map +1 -1
  44. package/dist/classes/canvas/CanvasText.mjs +2 -2
  45. package/dist/classes/canvas/CanvasText.mjs.map +1 -1
  46. package/dist/classes/canvas/index.js +2 -2
  47. package/dist/classes/canvas/index.js.map +1 -1
  48. package/dist/classes/canvas/index.mjs +2 -2
  49. package/dist/classes/canvas/index.mjs.map +1 -1
  50. package/dist/classes/index.d.mts +2 -2
  51. package/dist/classes/index.d.ts +2 -2
  52. package/dist/classes/index.js +119 -53
  53. package/dist/classes/index.js.map +1 -1
  54. package/dist/classes/index.mjs +119 -53
  55. package/dist/classes/index.mjs.map +1 -1
  56. package/dist/classes/ticker/FadeAlphaTicker.js +42 -33
  57. package/dist/classes/ticker/FadeAlphaTicker.js.map +1 -1
  58. package/dist/classes/ticker/FadeAlphaTicker.mjs +42 -33
  59. package/dist/classes/ticker/FadeAlphaTicker.mjs.map +1 -1
  60. package/dist/classes/ticker/MoveTicker.d.mts +1 -0
  61. package/dist/classes/ticker/MoveTicker.d.ts +1 -0
  62. package/dist/classes/ticker/MoveTicker.js +42 -33
  63. package/dist/classes/ticker/MoveTicker.js.map +1 -1
  64. package/dist/classes/ticker/MoveTicker.mjs +42 -33
  65. package/dist/classes/ticker/MoveTicker.mjs.map +1 -1
  66. package/dist/classes/ticker/RotateTicker.d.mts +1 -0
  67. package/dist/classes/ticker/RotateTicker.d.ts +1 -0
  68. package/dist/classes/ticker/RotateTicker.js +42 -33
  69. package/dist/classes/ticker/RotateTicker.js.map +1 -1
  70. package/dist/classes/ticker/RotateTicker.mjs +42 -33
  71. package/dist/classes/ticker/RotateTicker.mjs.map +1 -1
  72. package/dist/classes/ticker/ZoomTicker.d.mts +1 -0
  73. package/dist/classes/ticker/ZoomTicker.d.ts +1 -0
  74. package/dist/classes/ticker/ZoomTicker.js +42 -33
  75. package/dist/classes/ticker/ZoomTicker.js.map +1 -1
  76. package/dist/classes/ticker/ZoomTicker.mjs +42 -33
  77. package/dist/classes/ticker/ZoomTicker.mjs.map +1 -1
  78. package/dist/classes/ticker/index.js +42 -33
  79. package/dist/classes/ticker/index.js.map +1 -1
  80. package/dist/classes/ticker/index.mjs +42 -33
  81. package/dist/classes/ticker/index.mjs.map +1 -1
  82. package/dist/constants.d.mts +1 -1
  83. package/dist/constants.d.ts +1 -1
  84. package/dist/constants.js +1 -1
  85. package/dist/constants.js.map +1 -1
  86. package/dist/constants.mjs +1 -1
  87. package/dist/constants.mjs.map +1 -1
  88. package/dist/decorators/CanvasElementDecorator.js +2 -2
  89. package/dist/decorators/CanvasElementDecorator.js.map +1 -1
  90. package/dist/decorators/CanvasElementDecorator.mjs +2 -2
  91. package/dist/decorators/CanvasElementDecorator.mjs.map +1 -1
  92. package/dist/decorators/LabelDecorator.d.mts +3 -3
  93. package/dist/decorators/LabelDecorator.d.ts +3 -3
  94. package/dist/decorators/LabelDecorator.js +74 -50
  95. package/dist/decorators/LabelDecorator.js.map +1 -1
  96. package/dist/decorators/LabelDecorator.mjs +74 -50
  97. package/dist/decorators/LabelDecorator.mjs.map +1 -1
  98. package/dist/decorators/index.d.mts +2 -2
  99. package/dist/decorators/index.d.ts +2 -2
  100. package/dist/decorators/index.js +74 -50
  101. package/dist/decorators/index.js.map +1 -1
  102. package/dist/decorators/index.mjs +74 -50
  103. package/dist/decorators/index.mjs.map +1 -1
  104. package/dist/functions/CanvasUtility.js +2 -2
  105. package/dist/functions/CanvasUtility.js.map +1 -1
  106. package/dist/functions/CanvasUtility.mjs +2 -2
  107. package/dist/functions/CanvasUtility.mjs.map +1 -1
  108. package/dist/functions/DialogueUtility.d.mts +9 -9
  109. package/dist/functions/DialogueUtility.d.ts +9 -9
  110. package/dist/functions/DialogueUtility.js +184 -106
  111. package/dist/functions/DialogueUtility.js.map +1 -1
  112. package/dist/functions/DialogueUtility.mjs +184 -106
  113. package/dist/functions/DialogueUtility.mjs.map +1 -1
  114. package/dist/functions/FlagsUtility.js +42 -33
  115. package/dist/functions/FlagsUtility.js.map +1 -1
  116. package/dist/functions/FlagsUtility.mjs +42 -33
  117. package/dist/functions/FlagsUtility.mjs.map +1 -1
  118. package/dist/functions/GameUtility.js +42 -33
  119. package/dist/functions/GameUtility.js.map +1 -1
  120. package/dist/functions/GameUtility.mjs +42 -33
  121. package/dist/functions/GameUtility.mjs.map +1 -1
  122. package/dist/functions/ImageUtility.js +45 -36
  123. package/dist/functions/ImageUtility.js.map +1 -1
  124. package/dist/functions/ImageUtility.mjs +45 -36
  125. package/dist/functions/ImageUtility.mjs.map +1 -1
  126. package/dist/functions/SavesUtility.d.mts +4 -4
  127. package/dist/functions/SavesUtility.d.ts +4 -4
  128. package/dist/functions/SavesUtility.js +173 -111
  129. package/dist/functions/SavesUtility.js.map +1 -1
  130. package/dist/functions/SavesUtility.mjs +173 -111
  131. package/dist/functions/SavesUtility.mjs.map +1 -1
  132. package/dist/functions/TickerUtility.d.mts +2 -1
  133. package/dist/functions/TickerUtility.d.ts +2 -1
  134. package/dist/functions/TickerUtility.js +19 -15
  135. package/dist/functions/TickerUtility.js.map +1 -1
  136. package/dist/functions/TickerUtility.mjs +19 -15
  137. package/dist/functions/TickerUtility.mjs.map +1 -1
  138. package/dist/functions/index.d.mts +3 -3
  139. package/dist/functions/index.d.ts +3 -3
  140. package/dist/functions/index.js +197 -115
  141. package/dist/functions/index.js.map +1 -1
  142. package/dist/functions/index.mjs +197 -115
  143. package/dist/functions/index.mjs.map +1 -1
  144. package/dist/index.d.mts +1 -1
  145. package/dist/index.d.ts +1 -1
  146. package/dist/index.js +325 -190
  147. package/dist/index.js.map +1 -1
  148. package/dist/index.mjs +326 -191
  149. package/dist/index.mjs.map +1 -1
  150. package/dist/interface/IHistoryStep.d.mts +1 -1
  151. package/dist/interface/IHistoryStep.d.ts +1 -1
  152. package/dist/interface/ISaveData.d.mts +2 -2
  153. package/dist/interface/ISaveData.d.ts +2 -2
  154. package/dist/interface/LabelProps.d.mts +5 -0
  155. package/dist/interface/LabelProps.d.ts +5 -0
  156. package/dist/interface/LabelProps.js +4 -0
  157. package/dist/interface/LabelProps.js.map +1 -0
  158. package/dist/interface/LabelProps.mjs +3 -0
  159. package/dist/interface/LabelProps.mjs.map +1 -0
  160. package/dist/interface/export/ExportedStep.d.mts +2 -2
  161. package/dist/interface/export/ExportedStep.d.ts +2 -2
  162. package/dist/interface/export/index.d.mts +2 -2
  163. package/dist/interface/export/index.d.ts +2 -2
  164. package/dist/interface/index.d.mts +4 -4
  165. package/dist/interface/index.d.ts +4 -4
  166. package/dist/labels/BaseCanvasElementTestLabel.d.mts +2 -2
  167. package/dist/labels/BaseCanvasElementTestLabel.d.ts +2 -2
  168. package/dist/labels/BaseCanvasElementTestLabel.js +175 -111
  169. package/dist/labels/BaseCanvasElementTestLabel.js.map +1 -1
  170. package/dist/labels/BaseCanvasElementTestLabel.mjs +176 -112
  171. package/dist/labels/BaseCanvasElementTestLabel.mjs.map +1 -1
  172. package/dist/labels/CanvasEventsTestLabel.d.mts +3 -6
  173. package/dist/labels/CanvasEventsTestLabel.d.ts +3 -6
  174. package/dist/labels/CanvasEventsTestLabel.js +186 -128
  175. package/dist/labels/CanvasEventsTestLabel.js.map +1 -1
  176. package/dist/labels/CanvasEventsTestLabel.mjs +187 -129
  177. package/dist/labels/CanvasEventsTestLabel.mjs.map +1 -1
  178. package/dist/labels/CustomTickerCanvasElementTestLabel.d.mts +2 -2
  179. package/dist/labels/CustomTickerCanvasElementTestLabel.d.ts +2 -2
  180. package/dist/labels/CustomTickerCanvasElementTestLabel.js +166 -108
  181. package/dist/labels/CustomTickerCanvasElementTestLabel.js.map +1 -1
  182. package/dist/labels/CustomTickerCanvasElementTestLabel.mjs +166 -108
  183. package/dist/labels/CustomTickerCanvasElementTestLabel.mjs.map +1 -1
  184. package/dist/labels/ImagesAnimationsTestLabel.d.mts +2 -2
  185. package/dist/labels/ImagesAnimationsTestLabel.d.ts +2 -2
  186. package/dist/labels/ImagesAnimationsTestLabel.js +253 -147
  187. package/dist/labels/ImagesAnimationsTestLabel.js.map +1 -1
  188. package/dist/labels/ImagesAnimationsTestLabel.mjs +253 -147
  189. package/dist/labels/ImagesAnimationsTestLabel.mjs.map +1 -1
  190. package/dist/labels/MarkdownTest.d.mts +2 -2
  191. package/dist/labels/MarkdownTest.d.ts +2 -2
  192. package/dist/labels/MarkdownTest.js +166 -108
  193. package/dist/labels/MarkdownTest.js.map +1 -1
  194. package/dist/labels/MarkdownTest.mjs +166 -108
  195. package/dist/labels/MarkdownTest.mjs.map +1 -1
  196. package/dist/labels/StartLabel.d.mts +2 -2
  197. package/dist/labels/StartLabel.d.ts +2 -2
  198. package/dist/labels/StartLabel.js +316 -184
  199. package/dist/labels/StartLabel.js.map +1 -1
  200. package/dist/labels/StartLabel.mjs +317 -185
  201. package/dist/labels/StartLabel.mjs.map +1 -1
  202. package/dist/labels/StepLabelTest.d.mts +9 -0
  203. package/dist/labels/StepLabelTest.d.ts +9 -0
  204. package/dist/labels/StepLabelTest.js +2758 -0
  205. package/dist/labels/StepLabelTest.js.map +1 -0
  206. package/dist/labels/StepLabelTest.mjs +2752 -0
  207. package/dist/labels/StepLabelTest.mjs.map +1 -0
  208. package/dist/labels/TestConstant.js +43 -34
  209. package/dist/labels/TestConstant.js.map +1 -1
  210. package/dist/labels/TestConstant.mjs +43 -34
  211. package/dist/labels/TestConstant.mjs.map +1 -1
  212. package/dist/labels/index.d.mts +2 -2
  213. package/dist/labels/index.d.ts +2 -2
  214. package/dist/labels/index.js +316 -184
  215. package/dist/labels/index.js.map +1 -1
  216. package/dist/labels/index.mjs +317 -185
  217. package/dist/labels/index.mjs.map +1 -1
  218. package/dist/managers/StepManager.d.mts +6 -5
  219. package/dist/managers/StepManager.d.ts +6 -5
  220. package/dist/managers/StepManager.js +163 -105
  221. package/dist/managers/StepManager.js.map +1 -1
  222. package/dist/managers/StepManager.mjs +163 -105
  223. package/dist/managers/StepManager.mjs.map +1 -1
  224. package/dist/managers/WindowManager.js +2 -2
  225. package/dist/managers/WindowManager.js.map +1 -1
  226. package/dist/managers/WindowManager.mjs +2 -2
  227. package/dist/managers/WindowManager.mjs.map +1 -1
  228. package/dist/managers/index.d.mts +2 -2
  229. package/dist/managers/index.d.ts +2 -2
  230. package/dist/managers/index.js +163 -105
  231. package/dist/managers/index.js.map +1 -1
  232. package/dist/managers/index.mjs +163 -105
  233. package/dist/managers/index.mjs.map +1 -1
  234. package/dist/types/ChoiceMenuOptionsType.d.mts +2 -2
  235. package/dist/types/ChoiceMenuOptionsType.d.ts +2 -2
  236. package/dist/types/index.d.mts +1 -1
  237. package/dist/types/index.d.ts +1 -1
  238. package/package.json +6 -6
@@ -52,7 +52,7 @@ var __async = (__this, __arguments, generator) => {
52
52
  };
53
53
 
54
54
  // src/constants.ts
55
- var PIXIVN_VERSION = "0.6.3";
55
+ var PIXIVN_VERSION = "0.6.5";
56
56
  var Repeat = "repeat";
57
57
  function getStepSha1(step) {
58
58
  let sha1String = sha1(step.toString().toLocaleLowerCase());
@@ -67,14 +67,15 @@ var Label = class {
67
67
  /**
68
68
  * @param id is the id of the label
69
69
  * @param steps is the list of steps that the label will perform
70
- * @param onStepRun is a function that will be executed before any step is executed, is useful for example to make sure all images used have been cached
71
- * @param choiseIndex is the index of the choice that the label will perform
70
+ * @param props is the properties of the label
72
71
  */
73
- constructor(id, steps, onStepRun, choiseIndex) {
72
+ constructor(id, steps, props) {
74
73
  this._id = id;
75
74
  this._steps = steps;
76
- this._onStepRun = onStepRun;
77
- this._choiseIndex = choiseIndex;
75
+ this._onStepStart = props == null ? void 0 : props.onStepStart;
76
+ this._onLoadStep = props == null ? void 0 : props.onLoadStep;
77
+ this._onStepEnd = props == null ? void 0 : props.onStepEnd;
78
+ this._choiseIndex = props == null ? void 0 : props.choiseIndex;
78
79
  }
79
80
  /**
80
81
  * Get the id of the label. This variable is used in the system to get the label by id, {@link getLabelById}
@@ -111,18 +112,32 @@ var Label = class {
111
112
  return res;
112
113
  }
113
114
  /**
114
- * Get the function that will be executed before any step is executed, is useful for example to make sure all images used have been cached
115
+ * Is a function that will be executed in {@link Label#onStepStart} and when the user goes back to it or when the user laods a save file.
116
+ * @returns Promise<void> or void
117
+ */
118
+ get onStepStart() {
119
+ return (stepIndex, label) => __async(this, null, function* () {
120
+ if (this._onLoadStep) {
121
+ yield this._onLoadStep(stepIndex, label);
122
+ }
123
+ if (this._onStepStart) {
124
+ return yield this._onStepStart(stepIndex, label);
125
+ }
126
+ });
127
+ }
128
+ /**
129
+ * Get the function that will be executed a old step is reloaded. A step is reloaded when the user goes back to it or when the user laods a save file.
115
130
  * @returns Promise<void> or void
116
- * @example
117
- * ```typescript
118
- * newLabel("id", [], () => {
119
- * Assets.load('path/to/image1.png')
120
- * Assets.load('path/to/image2.png')
121
- * })
122
- * ```
123
131
  */
124
- get onStepRun() {
125
- return this._onStepRun;
132
+ get onLoadStep() {
133
+ return this._onLoadStep;
134
+ }
135
+ /**
136
+ * Is a function that will be executed when the step ends.
137
+ * @returns Promise<void> or void
138
+ */
139
+ get onStepEnd() {
140
+ return this._onStepEnd;
126
141
  }
127
142
  get choiseIndex() {
128
143
  return this._choiseIndex;
@@ -132,7 +147,9 @@ var Label = class {
132
147
  // src/classes/CloseLabel.ts
133
148
  var CLOSE_LABEL_ID = "__close-label-id__";
134
149
  function newCloseLabel(choiseIndex) {
135
- return new Label(CLOSE_LABEL_ID, [], void 0, choiseIndex);
150
+ return new Label(CLOSE_LABEL_ID, [], {
151
+ choiseIndex
152
+ });
136
153
  }
137
154
 
138
155
  // src/functions/CanvasUtility.ts
@@ -211,8 +228,6 @@ function getMemoryContainer(element) {
211
228
  };
212
229
  }
213
230
  function setMemoryContainer(element, memory) {
214
- memory.width && (element.width = memory.width);
215
- memory.height && (element.height = memory.height);
216
231
  memory.isRenderGroup && (element.isRenderGroup = memory.isRenderGroup);
217
232
  memory.blendMode && (element.blendMode = memory.blendMode);
218
233
  memory.tint && (element.tint = memory.tint);
@@ -245,6 +260,8 @@ function setMemoryContainer(element, memory) {
245
260
  memory.interactive && (element.interactive = memory.interactive);
246
261
  memory.interactiveChildren && (element.interactiveChildren = memory.interactiveChildren);
247
262
  memory.hitArea && (element.hitArea = memory.hitArea);
263
+ memory.width && (element.width = memory.width);
264
+ memory.height && (element.height = memory.height);
248
265
  }
249
266
  function getTexture(imageUrl) {
250
267
  return __async(this, null, function* () {
@@ -681,7 +698,10 @@ function getChoiceMenuOptions() {
681
698
  }
682
699
  let label = getLabelById(option.label);
683
700
  if (label) {
684
- let itemLabel = new Label(label.id, label.steps, label.onStepRun, index);
701
+ let itemLabel = new Label(label.id, label.steps, {
702
+ onStepStart: label.onStepStart,
703
+ choiseIndex: index
704
+ });
685
705
  options.push(__spreadProps(__spreadValues({}, option), {
686
706
  label: itemLabel
687
707
  }));
@@ -772,8 +792,9 @@ FadeAlphaTicker = __decorateClass([
772
792
  ], FadeAlphaTicker);
773
793
 
774
794
  // src/functions/TickerUtility.ts
775
- function updateTickerProgression(args, propertyName, progression) {
776
- if (args[propertyName] === void 0 || !progression || args[propertyName] === progression.limit) {
795
+ function updateTickerProgression(args, propertyName, progression, valueConvert) {
796
+ let limit = valueConvert && progression.limit ? valueConvert(progression.limit) : progression.limit;
797
+ if (args[propertyName] === void 0 || !progression || args[propertyName] === limit) {
777
798
  return;
778
799
  }
779
800
  if (typeof args[propertyName] === "number") {
@@ -792,22 +813,25 @@ function updateTickerProgression(args, propertyName, progression) {
792
813
  }
793
814
  }
794
815
  }
795
- function getLinearProgression(number, progression) {
796
- if (progression.limit !== void 0) {
797
- if (number > progression.limit && progression.amt > 0) {
798
- return progression.limit;
799
- } else if (number < progression.limit && progression.amt < 0) {
800
- return progression.limit;
816
+ function getLinearProgression(number, progression, valueConvert) {
817
+ let limit = valueConvert && progression.limit ? valueConvert(progression.limit) : progression.limit;
818
+ let amt = valueConvert ? valueConvert(progression.amt) : progression.amt;
819
+ if (limit !== void 0) {
820
+ if (number > limit && amt > 0) {
821
+ return limit;
822
+ } else if (number < limit && amt < 0) {
823
+ return limit;
801
824
  }
802
825
  }
803
- return number + progression.amt / 60;
826
+ return number + amt;
804
827
  }
805
- function getExponentialProgression(number, progression) {
806
- if (progression.limit !== void 0) {
807
- if (number > progression.limit && progression.percentage > 0) {
808
- return progression.limit;
809
- } else if (number < progression.limit && progression.percentage < 0) {
810
- return progression.limit;
828
+ function getExponentialProgression(number, progression, valueConvert) {
829
+ let limit = valueConvert && progression.limit ? valueConvert(progression.limit) : progression.limit;
830
+ if (limit !== void 0) {
831
+ if (number > limit && progression.percentage > 0) {
832
+ return limit;
833
+ } else if (number < limit && progression.percentage < 0) {
834
+ return limit;
811
835
  }
812
836
  }
813
837
  return number + number * progression.percentage;
@@ -820,15 +844,13 @@ var MoveTicker = class extends TickerBase {
820
844
  let ySpeed = 1;
821
845
  if (args.speed) {
822
846
  if (typeof args.speed === "number") {
823
- xSpeed = args.speed;
824
- ySpeed = args.speed;
847
+ xSpeed = this.speedConvert(args.speed);
848
+ ySpeed = this.speedConvert(args.speed);
825
849
  } else {
826
- xSpeed = args.speed.x;
827
- ySpeed = args.speed.y;
850
+ xSpeed = this.speedConvert(args.speed.x);
851
+ ySpeed = this.speedConvert(args.speed.y);
828
852
  }
829
853
  }
830
- xSpeed /= 60;
831
- ySpeed /= 60;
832
854
  let destination = args.destination;
833
855
  let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
834
856
  if (typeof tagToRemoveAfter2 === "string") {
@@ -868,7 +890,10 @@ var MoveTicker = class extends TickerBase {
868
890
  }
869
891
  });
870
892
  if (args.speedProgression)
871
- updateTickerProgression(args, "speed", args.speedProgression);
893
+ updateTickerProgression(args, "speed", args.speedProgression, this.speedConvert);
894
+ }
895
+ speedConvert(speed) {
896
+ return speed / 6;
872
897
  }
873
898
  };
874
899
  MoveTicker = __decorateClass([
@@ -876,7 +901,7 @@ MoveTicker = __decorateClass([
876
901
  ], MoveTicker);
877
902
  var RotateTicker = class extends TickerBase {
878
903
  fn(ticker, args, tags, tickerId) {
879
- let speed = (args.speed === void 0 ? 1 : args.speed) / 60;
904
+ let speed = this.speedConvert(args.speed === void 0 ? 1 : args.speed);
880
905
  let clockwise = args.clockwise === void 0 ? true : args.clockwise;
881
906
  let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
882
907
  if (typeof tagToRemoveAfter2 === "string") {
@@ -904,7 +929,10 @@ var RotateTicker = class extends TickerBase {
904
929
  }
905
930
  });
906
931
  if (args.speedProgression)
907
- updateTickerProgression(args, "speed", args.speedProgression);
932
+ updateTickerProgression(args, "speed", args.speedProgression, this.speedConvert);
933
+ }
934
+ speedConvert(speed) {
935
+ return speed / 60;
908
936
  }
909
937
  };
910
938
  RotateTicker = __decorateClass([
@@ -916,15 +944,13 @@ var ZoomTicker = class extends TickerBase {
916
944
  let ySpeed = 0.1;
917
945
  if (args.speed) {
918
946
  if (typeof args.speed === "number") {
919
- xSpeed = args.speed;
920
- ySpeed = args.speed;
947
+ xSpeed = this.speedConvert(args.speed);
948
+ ySpeed = this.speedConvert(args.speed);
921
949
  } else {
922
- xSpeed = args.speed.x;
923
- ySpeed = args.speed.y;
950
+ xSpeed = this.speedConvert(args.speed.x);
951
+ ySpeed = this.speedConvert(args.speed.y);
924
952
  }
925
953
  }
926
- xSpeed /= 60;
927
- ySpeed /= 60;
928
954
  let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
929
955
  if (typeof tagToRemoveAfter2 === "string") {
930
956
  tagToRemoveAfter2 = [tagToRemoveAfter2];
@@ -991,7 +1017,10 @@ var ZoomTicker = class extends TickerBase {
991
1017
  }
992
1018
  });
993
1019
  if (args.speedProgression)
994
- updateTickerProgression(args, "speed", args.speedProgression);
1020
+ updateTickerProgression(args, "speed", args.speedProgression, this.speedConvert);
1021
+ }
1022
+ speedConvert(speed) {
1023
+ return speed / 60;
995
1024
  }
996
1025
  onEndOfTicker(tag, tickerId, _element, tagToRemoveAfter2) {
997
1026
  GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
@@ -1950,6 +1979,16 @@ var _GameStepManager = class _GameStepManager {
1950
1979
  static set originalStepData(value) {
1951
1980
  _GameStepManager._originalStepData = createExportableElement(value);
1952
1981
  }
1982
+ static get currentStepData() {
1983
+ let currentStepData = {
1984
+ path: window.location.pathname,
1985
+ storage: GameStorageManager.export(),
1986
+ canvas: GameWindowManager.export(),
1987
+ labelIndex: _GameStepManager.currentLabelStepIndex || 0,
1988
+ openedLabels: createExportableElement(_GameStepManager._openedLabels)
1989
+ };
1990
+ return currentStepData;
1991
+ }
1953
1992
  /* Edit History Methods */
1954
1993
  /**
1955
1994
  * Add a label to the history.
@@ -1957,19 +1996,13 @@ var _GameStepManager = class _GameStepManager {
1957
1996
  */
1958
1997
  static addStepHistory(step, choiseMade) {
1959
1998
  let stepHistory = getStepSha1(step);
1960
- let historyStep = {
1961
- path: window.location.pathname,
1962
- storage: GameStorageManager.export(),
1963
- canvas: GameWindowManager.export(),
1964
- labelIndex: _GameStepManager.currentLabelStepIndex || 0,
1965
- openedLabels: createExportableElement(_GameStepManager._openedLabels)
1966
- };
1999
+ let currentStepData = _GameStepManager.currentStepData;
1967
2000
  if (_GameStepManager.originalStepData) {
1968
- if (_GameStepManager.originalStepData.openedLabels.length === historyStep.openedLabels.length) {
2001
+ if (_GameStepManager.originalStepData.openedLabels.length === currentStepData.openedLabels.length) {
1969
2002
  try {
1970
2003
  let lastStepDataOpenedLabelsString = JSON.stringify(_GameStepManager.originalStepData.openedLabels);
1971
- let historyStepOpenedLabelsString = JSON.stringify(historyStep.openedLabels);
1972
- if (lastStepDataOpenedLabelsString === historyStepOpenedLabelsString && _GameStepManager.originalStepData.path === historyStep.path && _GameStepManager.originalStepData.labelIndex === historyStep.labelIndex) {
2004
+ let historyStepOpenedLabelsString = JSON.stringify(currentStepData.openedLabels);
2005
+ if (lastStepDataOpenedLabelsString === historyStepOpenedLabelsString && _GameStepManager.originalStepData.path === currentStepData.path && _GameStepManager.originalStepData.labelIndex === currentStepData.labelIndex) {
1973
2006
  return;
1974
2007
  }
1975
2008
  } catch (e) {
@@ -1977,7 +2010,7 @@ var _GameStepManager = class _GameStepManager {
1977
2010
  }
1978
2011
  }
1979
2012
  }
1980
- let data = diff(_GameStepManager.originalStepData, historyStep);
2013
+ let data = diff(_GameStepManager.originalStepData, currentStepData);
1981
2014
  if (data) {
1982
2015
  let dialoge = void 0;
1983
2016
  let requiredChoices = void 0;
@@ -1996,7 +2029,7 @@ var _GameStepManager = class _GameStepManager {
1996
2029
  index: _GameStepManager.lastStepIndex,
1997
2030
  choiceIndexMade: choiseMade
1998
2031
  });
1999
- _GameStepManager.originalStepData = historyStep;
2032
+ _GameStepManager.originalStepData = currentStepData;
2000
2033
  }
2001
2034
  _GameStepManager.increaseLastStepIndex();
2002
2035
  }
@@ -2087,6 +2120,9 @@ var _GameStepManager = class _GameStepManager {
2087
2120
  console.warn("[Pixi'VN] The player must make a choice");
2088
2121
  return;
2089
2122
  }
2123
+ if (_GameStepManager.currentLabel && _GameStepManager.currentLabel.onStepEnd) {
2124
+ yield _GameStepManager.currentLabel.onStepEnd(_GameStepManager.currentLabelStepIndex || 0, _GameStepManager.currentLabel);
2125
+ }
2090
2126
  _GameStepManager.increaseCurrentStepIndex();
2091
2127
  return yield _GameStepManager.runCurrentStep(props, choiseMade);
2092
2128
  });
@@ -2111,6 +2147,10 @@ var _GameStepManager = class _GameStepManager {
2111
2147
  return;
2112
2148
  }
2113
2149
  if (currentLabel.steps.length > currentLabelStepIndex) {
2150
+ let onStepRun = currentLabel.onStepStart;
2151
+ if (onStepRun) {
2152
+ yield onStepRun(currentLabelStepIndex, currentLabel);
2153
+ }
2114
2154
  let step = currentLabel.steps[currentLabelStepIndex];
2115
2155
  let result = yield step(props);
2116
2156
  _GameStepManager.addStepHistory(step, choiseMade);
@@ -2175,6 +2215,9 @@ var _GameStepManager = class _GameStepManager {
2175
2215
  if (!tempLabel) {
2176
2216
  throw new Error(`[Pixi'VN] Label ${labelId} not found`);
2177
2217
  }
2218
+ if (_GameStepManager.currentLabel && _GameStepManager.currentLabel.onStepEnd) {
2219
+ yield _GameStepManager.currentLabel.onStepEnd(_GameStepManager.currentLabelStepIndex || 0, _GameStepManager.currentLabel);
2220
+ }
2178
2221
  _GameStepManager.pushNewLabel(tempLabel.id);
2179
2222
  } catch (e) {
2180
2223
  console.error("[Pixi'VN] Error calling label", e);
@@ -2233,6 +2276,9 @@ var _GameStepManager = class _GameStepManager {
2233
2276
  if (!tempLabel) {
2234
2277
  throw new Error(`[Pixi'VN] Label ${labelId} not found`);
2235
2278
  }
2279
+ if (_GameStepManager.currentLabel && _GameStepManager.currentLabel.onStepEnd) {
2280
+ yield _GameStepManager.currentLabel.onStepEnd(_GameStepManager.currentLabelStepIndex || 0, _GameStepManager.currentLabel);
2281
+ }
2236
2282
  _GameStepManager.pushNewLabel(tempLabel.id);
2237
2283
  } catch (e) {
2238
2284
  console.error("[Pixi'VN] Error jumping label", e);
@@ -2338,24 +2384,29 @@ var _GameStepManager = class _GameStepManager {
2338
2384
  * ```
2339
2385
  */
2340
2386
  static goBack(navigate, steps = 1) {
2341
- if (steps <= 0) {
2342
- console.warn("[Pixi'VN] Steps must be greater than 0");
2343
- return;
2344
- }
2345
- if (_GameStepManager._stepsHistory.length <= 1) {
2346
- console.warn("[Pixi'VN] No steps to go back");
2347
- return;
2348
- }
2349
- let restoredStep = _GameStepManager.goBackInternal(steps, _GameStepManager.originalStepData);
2350
- if (restoredStep) {
2351
- _GameStepManager._originalStepData = restoredStep;
2352
- _GameStepManager._openedLabels = createExportableElement(restoredStep.openedLabels);
2353
- GameStorageManager.import(createExportableElement(restoredStep.storage));
2354
- GameWindowManager.import(createExportableElement(restoredStep.canvas));
2355
- navigate(restoredStep.path);
2356
- } else {
2357
- console.error("[Pixi'VN] Error going back");
2358
- }
2387
+ return __async(this, null, function* () {
2388
+ if (steps <= 0) {
2389
+ console.warn("[Pixi'VN] Steps must be greater than 0");
2390
+ return;
2391
+ }
2392
+ if (_GameStepManager._stepsHistory.length <= 1) {
2393
+ console.warn("[Pixi'VN] No steps to go back");
2394
+ return;
2395
+ }
2396
+ let restoredStep = _GameStepManager.goBackInternal(steps, _GameStepManager.originalStepData);
2397
+ if (restoredStep) {
2398
+ _GameStepManager._originalStepData = restoredStep;
2399
+ _GameStepManager._openedLabels = createExportableElement(restoredStep.openedLabels);
2400
+ if (_GameStepManager.currentLabel && _GameStepManager.currentLabel.onLoadStep) {
2401
+ yield _GameStepManager.currentLabel.onLoadStep(_GameStepManager.currentLabelStepIndex || 0, _GameStepManager.currentLabel);
2402
+ }
2403
+ GameStorageManager.import(createExportableElement(restoredStep.storage));
2404
+ GameWindowManager.import(createExportableElement(restoredStep.canvas));
2405
+ navigate(restoredStep.path);
2406
+ } else {
2407
+ console.error("[Pixi'VN] Error going back");
2408
+ }
2409
+ });
2359
2410
  }
2360
2411
  static goBackInternal(steps, restoredStep) {
2361
2412
  if (steps <= 0) {
@@ -2417,38 +2468,45 @@ var _GameStepManager = class _GameStepManager {
2417
2468
  * @param dataString The history in a JSON string.
2418
2469
  */
2419
2470
  static importJson(dataString) {
2420
- _GameStepManager.import(JSON.parse(dataString));
2471
+ return __async(this, null, function* () {
2472
+ yield _GameStepManager.import(JSON.parse(dataString));
2473
+ });
2421
2474
  }
2422
2475
  /**
2423
2476
  * Import the history from an object.
2424
2477
  * @param data The history in an object.
2425
2478
  */
2426
2479
  static import(data) {
2427
- _GameStepManager.clear();
2428
- try {
2429
- if (data.hasOwnProperty("stepsHistory")) {
2430
- _GameStepManager._stepsHistory = data["stepsHistory"];
2431
- } else {
2432
- console.warn("[Pixi'VN] Could not import stepsHistory data, so will be ignored");
2433
- }
2434
- if (data.hasOwnProperty("openedLabels")) {
2435
- _GameStepManager._openedLabels = data["openedLabels"];
2436
- } else {
2437
- console.warn("[Pixi'VN] Could not import openedLabels data, so will be ignored");
2438
- }
2439
- if (data.hasOwnProperty("lastStepIndex")) {
2440
- _GameStepManager._lastStepIndex = data["lastStepIndex"];
2441
- } else {
2442
- console.warn("[Pixi'VN] Could not import lastStepIndex data, so will be ignored");
2443
- }
2444
- if (data.hasOwnProperty("originalStepData")) {
2445
- _GameStepManager._originalStepData = data["originalStepData"];
2446
- } else {
2447
- console.warn("[Pixi'VN] Could not import originalStepData data, so will be ignored");
2480
+ return __async(this, null, function* () {
2481
+ _GameStepManager.clear();
2482
+ try {
2483
+ if (data.hasOwnProperty("stepsHistory")) {
2484
+ _GameStepManager._stepsHistory = data["stepsHistory"];
2485
+ } else {
2486
+ console.warn("[Pixi'VN] Could not import stepsHistory data, so will be ignored");
2487
+ }
2488
+ if (data.hasOwnProperty("openedLabels")) {
2489
+ _GameStepManager._openedLabels = data["openedLabels"];
2490
+ } else {
2491
+ console.warn("[Pixi'VN] Could not import openedLabels data, so will be ignored");
2492
+ }
2493
+ if (data.hasOwnProperty("lastStepIndex")) {
2494
+ _GameStepManager._lastStepIndex = data["lastStepIndex"];
2495
+ } else {
2496
+ console.warn("[Pixi'VN] Could not import lastStepIndex data, so will be ignored");
2497
+ }
2498
+ if (data.hasOwnProperty("originalStepData")) {
2499
+ _GameStepManager._originalStepData = data["originalStepData"];
2500
+ } else {
2501
+ console.warn("[Pixi'VN] Could not import originalStepData data, so will be ignored");
2502
+ }
2503
+ if (_GameStepManager.currentLabel && _GameStepManager.currentLabel.onLoadStep) {
2504
+ yield _GameStepManager.currentLabel.onLoadStep(_GameStepManager.currentLabelStepIndex || 0, _GameStepManager.currentLabel);
2505
+ }
2506
+ } catch (e) {
2507
+ console.error("[Pixi'VN] Error importing data", e);
2448
2508
  }
2449
- } catch (e) {
2450
- console.error("[Pixi'VN] Error importing data", e);
2451
- }
2509
+ });
2452
2510
  }
2453
2511
  };
2454
2512
  /**
@@ -2475,13 +2533,17 @@ function getSaveJson() {
2475
2533
  return JSON.stringify(saveData);
2476
2534
  }
2477
2535
  function loadSaveData(data, navigate) {
2478
- GameStepManager.import(data.stepData);
2479
- GameStorageManager.import(data.storageData);
2480
- GameWindowManager.import(data.canvasData);
2481
- navigate(data.path);
2536
+ return __async(this, null, function* () {
2537
+ yield GameStepManager.import(data.stepData);
2538
+ GameStorageManager.import(data.storageData);
2539
+ GameWindowManager.import(data.canvasData);
2540
+ navigate(data.path);
2541
+ });
2482
2542
  }
2483
2543
  function loadSaveJson(dataString, navigate) {
2484
- loadSaveData(jsonToSaveData(dataString), navigate);
2544
+ return __async(this, null, function* () {
2545
+ yield loadSaveData(jsonToSaveData(dataString), navigate);
2546
+ });
2485
2547
  }
2486
2548
  function jsonToSaveData(json) {
2487
2549
  return JSON.parse(json);