@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
@@ -63,14 +63,15 @@ var Label = class {
63
63
  /**
64
64
  * @param id is the id of the label
65
65
  * @param steps is the list of steps that the label will perform
66
- * @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
67
- * @param choiseIndex is the index of the choice that the label will perform
66
+ * @param props is the properties of the label
68
67
  */
69
- constructor(id, steps, onStepRun, choiseIndex) {
68
+ constructor(id, steps, props) {
70
69
  this._id = id;
71
70
  this._steps = steps;
72
- this._onStepRun = onStepRun;
73
- this._choiseIndex = choiseIndex;
71
+ this._onStepStart = props == null ? void 0 : props.onStepStart;
72
+ this._onLoadStep = props == null ? void 0 : props.onLoadStep;
73
+ this._onStepEnd = props == null ? void 0 : props.onStepEnd;
74
+ this._choiseIndex = props == null ? void 0 : props.choiseIndex;
74
75
  }
75
76
  /**
76
77
  * Get the id of the label. This variable is used in the system to get the label by id, {@link getLabelById}
@@ -107,18 +108,32 @@ var Label = class {
107
108
  return res;
108
109
  }
109
110
  /**
110
- * 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
111
+ * 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.
112
+ * @returns Promise<void> or void
113
+ */
114
+ get onStepStart() {
115
+ return (stepIndex, label) => __async(this, null, function* () {
116
+ if (this._onLoadStep) {
117
+ yield this._onLoadStep(stepIndex, label);
118
+ }
119
+ if (this._onStepStart) {
120
+ return yield this._onStepStart(stepIndex, label);
121
+ }
122
+ });
123
+ }
124
+ /**
125
+ * 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.
111
126
  * @returns Promise<void> or void
112
- * @example
113
- * ```typescript
114
- * newLabel("id", [], () => {
115
- * Assets.load('path/to/image1.png')
116
- * Assets.load('path/to/image2.png')
117
- * })
118
- * ```
119
127
  */
120
- get onStepRun() {
121
- return this._onStepRun;
128
+ get onLoadStep() {
129
+ return this._onLoadStep;
130
+ }
131
+ /**
132
+ * Is a function that will be executed when the step ends.
133
+ * @returns Promise<void> or void
134
+ */
135
+ get onStepEnd() {
136
+ return this._onStepEnd;
122
137
  }
123
138
  get choiseIndex() {
124
139
  return this._choiseIndex;
@@ -128,7 +143,9 @@ var Label = class {
128
143
  // src/classes/CloseLabel.ts
129
144
  var CLOSE_LABEL_ID = "__close-label-id__";
130
145
  function newCloseLabel(choiseIndex) {
131
- return new Label(CLOSE_LABEL_ID, [], void 0, choiseIndex);
146
+ return new Label(CLOSE_LABEL_ID, [], {
147
+ choiseIndex
148
+ });
132
149
  }
133
150
 
134
151
  // src/functions/CanvasUtility.ts
@@ -207,8 +224,6 @@ function getMemoryContainer(element) {
207
224
  };
208
225
  }
209
226
  function setMemoryContainer(element, memory) {
210
- memory.width && (element.width = memory.width);
211
- memory.height && (element.height = memory.height);
212
227
  memory.isRenderGroup && (element.isRenderGroup = memory.isRenderGroup);
213
228
  memory.blendMode && (element.blendMode = memory.blendMode);
214
229
  memory.tint && (element.tint = memory.tint);
@@ -241,6 +256,8 @@ function setMemoryContainer(element, memory) {
241
256
  memory.interactive && (element.interactive = memory.interactive);
242
257
  memory.interactiveChildren && (element.interactiveChildren = memory.interactiveChildren);
243
258
  memory.hitArea && (element.hitArea = memory.hitArea);
259
+ memory.width && (element.width = memory.width);
260
+ memory.height && (element.height = memory.height);
244
261
  }
245
262
  function getTexture(imageUrl) {
246
263
  return __async(this, null, function* () {
@@ -677,7 +694,10 @@ function getChoiceMenuOptions() {
677
694
  }
678
695
  let label = getLabelById(option.label);
679
696
  if (label) {
680
- let itemLabel = new Label(label.id, label.steps, label.onStepRun, index);
697
+ let itemLabel = new Label(label.id, label.steps, {
698
+ onStepStart: label.onStepStart,
699
+ choiseIndex: index
700
+ });
681
701
  options.push(__spreadProps(__spreadValues({}, option), {
682
702
  label: itemLabel
683
703
  }));
@@ -768,8 +788,9 @@ FadeAlphaTicker = __decorateClass([
768
788
  ], FadeAlphaTicker);
769
789
 
770
790
  // src/functions/TickerUtility.ts
771
- function updateTickerProgression(args, propertyName, progression) {
772
- if (args[propertyName] === void 0 || !progression || args[propertyName] === progression.limit) {
791
+ function updateTickerProgression(args, propertyName, progression, valueConvert) {
792
+ let limit = valueConvert && progression.limit ? valueConvert(progression.limit) : progression.limit;
793
+ if (args[propertyName] === void 0 || !progression || args[propertyName] === limit) {
773
794
  return;
774
795
  }
775
796
  if (typeof args[propertyName] === "number") {
@@ -788,22 +809,25 @@ function updateTickerProgression(args, propertyName, progression) {
788
809
  }
789
810
  }
790
811
  }
791
- function getLinearProgression(number, progression) {
792
- if (progression.limit !== void 0) {
793
- if (number > progression.limit && progression.amt > 0) {
794
- return progression.limit;
795
- } else if (number < progression.limit && progression.amt < 0) {
796
- return progression.limit;
812
+ function getLinearProgression(number, progression, valueConvert) {
813
+ let limit = valueConvert && progression.limit ? valueConvert(progression.limit) : progression.limit;
814
+ let amt = valueConvert ? valueConvert(progression.amt) : progression.amt;
815
+ if (limit !== void 0) {
816
+ if (number > limit && amt > 0) {
817
+ return limit;
818
+ } else if (number < limit && amt < 0) {
819
+ return limit;
797
820
  }
798
821
  }
799
- return number + progression.amt / 60;
822
+ return number + amt;
800
823
  }
801
- function getExponentialProgression(number, progression) {
802
- if (progression.limit !== void 0) {
803
- if (number > progression.limit && progression.percentage > 0) {
804
- return progression.limit;
805
- } else if (number < progression.limit && progression.percentage < 0) {
806
- return progression.limit;
824
+ function getExponentialProgression(number, progression, valueConvert) {
825
+ let limit = valueConvert && progression.limit ? valueConvert(progression.limit) : progression.limit;
826
+ if (limit !== void 0) {
827
+ if (number > limit && progression.percentage > 0) {
828
+ return limit;
829
+ } else if (number < limit && progression.percentage < 0) {
830
+ return limit;
807
831
  }
808
832
  }
809
833
  return number + number * progression.percentage;
@@ -816,15 +840,13 @@ var MoveTicker = class extends TickerBase {
816
840
  let ySpeed = 1;
817
841
  if (args.speed) {
818
842
  if (typeof args.speed === "number") {
819
- xSpeed = args.speed;
820
- ySpeed = args.speed;
843
+ xSpeed = this.speedConvert(args.speed);
844
+ ySpeed = this.speedConvert(args.speed);
821
845
  } else {
822
- xSpeed = args.speed.x;
823
- ySpeed = args.speed.y;
846
+ xSpeed = this.speedConvert(args.speed.x);
847
+ ySpeed = this.speedConvert(args.speed.y);
824
848
  }
825
849
  }
826
- xSpeed /= 60;
827
- ySpeed /= 60;
828
850
  let destination = args.destination;
829
851
  let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
830
852
  if (typeof tagToRemoveAfter2 === "string") {
@@ -864,7 +886,10 @@ var MoveTicker = class extends TickerBase {
864
886
  }
865
887
  });
866
888
  if (args.speedProgression)
867
- updateTickerProgression(args, "speed", args.speedProgression);
889
+ updateTickerProgression(args, "speed", args.speedProgression, this.speedConvert);
890
+ }
891
+ speedConvert(speed) {
892
+ return speed / 6;
868
893
  }
869
894
  };
870
895
  MoveTicker = __decorateClass([
@@ -872,7 +897,7 @@ MoveTicker = __decorateClass([
872
897
  ], MoveTicker);
873
898
  var RotateTicker = class extends TickerBase {
874
899
  fn(ticker, args, tags, tickerId) {
875
- let speed = (args.speed === void 0 ? 1 : args.speed) / 60;
900
+ let speed = this.speedConvert(args.speed === void 0 ? 1 : args.speed);
876
901
  let clockwise = args.clockwise === void 0 ? true : args.clockwise;
877
902
  let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
878
903
  if (typeof tagToRemoveAfter2 === "string") {
@@ -900,7 +925,10 @@ var RotateTicker = class extends TickerBase {
900
925
  }
901
926
  });
902
927
  if (args.speedProgression)
903
- updateTickerProgression(args, "speed", args.speedProgression);
928
+ updateTickerProgression(args, "speed", args.speedProgression, this.speedConvert);
929
+ }
930
+ speedConvert(speed) {
931
+ return speed / 60;
904
932
  }
905
933
  };
906
934
  RotateTicker = __decorateClass([
@@ -912,15 +940,13 @@ var ZoomTicker = class extends TickerBase {
912
940
  let ySpeed = 0.1;
913
941
  if (args.speed) {
914
942
  if (typeof args.speed === "number") {
915
- xSpeed = args.speed;
916
- ySpeed = args.speed;
943
+ xSpeed = this.speedConvert(args.speed);
944
+ ySpeed = this.speedConvert(args.speed);
917
945
  } else {
918
- xSpeed = args.speed.x;
919
- ySpeed = args.speed.y;
946
+ xSpeed = this.speedConvert(args.speed.x);
947
+ ySpeed = this.speedConvert(args.speed.y);
920
948
  }
921
949
  }
922
- xSpeed /= 60;
923
- ySpeed /= 60;
924
950
  let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
925
951
  if (typeof tagToRemoveAfter2 === "string") {
926
952
  tagToRemoveAfter2 = [tagToRemoveAfter2];
@@ -987,7 +1013,10 @@ var ZoomTicker = class extends TickerBase {
987
1013
  }
988
1014
  });
989
1015
  if (args.speedProgression)
990
- updateTickerProgression(args, "speed", args.speedProgression);
1016
+ updateTickerProgression(args, "speed", args.speedProgression, this.speedConvert);
1017
+ }
1018
+ speedConvert(speed) {
1019
+ return speed / 60;
991
1020
  }
992
1021
  onEndOfTicker(tag, tickerId, _element, tagToRemoveAfter2) {
993
1022
  GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
@@ -1949,6 +1978,16 @@ var _GameStepManager = class _GameStepManager {
1949
1978
  static set originalStepData(value) {
1950
1979
  _GameStepManager._originalStepData = createExportableElement(value);
1951
1980
  }
1981
+ static get currentStepData() {
1982
+ let currentStepData = {
1983
+ path: window.location.pathname,
1984
+ storage: GameStorageManager.export(),
1985
+ canvas: GameWindowManager.export(),
1986
+ labelIndex: _GameStepManager.currentLabelStepIndex || 0,
1987
+ openedLabels: createExportableElement(_GameStepManager._openedLabels)
1988
+ };
1989
+ return currentStepData;
1990
+ }
1952
1991
  /* Edit History Methods */
1953
1992
  /**
1954
1993
  * Add a label to the history.
@@ -1956,19 +1995,13 @@ var _GameStepManager = class _GameStepManager {
1956
1995
  */
1957
1996
  static addStepHistory(step, choiseMade) {
1958
1997
  let stepHistory = getStepSha1(step);
1959
- let historyStep = {
1960
- path: window.location.pathname,
1961
- storage: GameStorageManager.export(),
1962
- canvas: GameWindowManager.export(),
1963
- labelIndex: _GameStepManager.currentLabelStepIndex || 0,
1964
- openedLabels: createExportableElement(_GameStepManager._openedLabels)
1965
- };
1998
+ let currentStepData = _GameStepManager.currentStepData;
1966
1999
  if (_GameStepManager.originalStepData) {
1967
- if (_GameStepManager.originalStepData.openedLabels.length === historyStep.openedLabels.length) {
2000
+ if (_GameStepManager.originalStepData.openedLabels.length === currentStepData.openedLabels.length) {
1968
2001
  try {
1969
2002
  let lastStepDataOpenedLabelsString = JSON.stringify(_GameStepManager.originalStepData.openedLabels);
1970
- let historyStepOpenedLabelsString = JSON.stringify(historyStep.openedLabels);
1971
- if (lastStepDataOpenedLabelsString === historyStepOpenedLabelsString && _GameStepManager.originalStepData.path === historyStep.path && _GameStepManager.originalStepData.labelIndex === historyStep.labelIndex) {
2003
+ let historyStepOpenedLabelsString = JSON.stringify(currentStepData.openedLabels);
2004
+ if (lastStepDataOpenedLabelsString === historyStepOpenedLabelsString && _GameStepManager.originalStepData.path === currentStepData.path && _GameStepManager.originalStepData.labelIndex === currentStepData.labelIndex) {
1972
2005
  return;
1973
2006
  }
1974
2007
  } catch (e) {
@@ -1976,7 +2009,7 @@ var _GameStepManager = class _GameStepManager {
1976
2009
  }
1977
2010
  }
1978
2011
  }
1979
- let data = diff(_GameStepManager.originalStepData, historyStep);
2012
+ let data = diff(_GameStepManager.originalStepData, currentStepData);
1980
2013
  if (data) {
1981
2014
  let dialoge = void 0;
1982
2015
  let requiredChoices = void 0;
@@ -1995,7 +2028,7 @@ var _GameStepManager = class _GameStepManager {
1995
2028
  index: _GameStepManager.lastStepIndex,
1996
2029
  choiceIndexMade: choiseMade
1997
2030
  });
1998
- _GameStepManager.originalStepData = historyStep;
2031
+ _GameStepManager.originalStepData = currentStepData;
1999
2032
  }
2000
2033
  _GameStepManager.increaseLastStepIndex();
2001
2034
  }
@@ -2086,6 +2119,9 @@ var _GameStepManager = class _GameStepManager {
2086
2119
  console.warn("[Pixi'VN] The player must make a choice");
2087
2120
  return;
2088
2121
  }
2122
+ if (_GameStepManager.currentLabel && _GameStepManager.currentLabel.onStepEnd) {
2123
+ yield _GameStepManager.currentLabel.onStepEnd(_GameStepManager.currentLabelStepIndex || 0, _GameStepManager.currentLabel);
2124
+ }
2089
2125
  _GameStepManager.increaseCurrentStepIndex();
2090
2126
  return yield _GameStepManager.runCurrentStep(props, choiseMade);
2091
2127
  });
@@ -2110,6 +2146,10 @@ var _GameStepManager = class _GameStepManager {
2110
2146
  return;
2111
2147
  }
2112
2148
  if (currentLabel.steps.length > currentLabelStepIndex) {
2149
+ let onStepRun = currentLabel.onStepStart;
2150
+ if (onStepRun) {
2151
+ yield onStepRun(currentLabelStepIndex, currentLabel);
2152
+ }
2113
2153
  let step = currentLabel.steps[currentLabelStepIndex];
2114
2154
  let result = yield step(props);
2115
2155
  _GameStepManager.addStepHistory(step, choiseMade);
@@ -2174,6 +2214,9 @@ var _GameStepManager = class _GameStepManager {
2174
2214
  if (!tempLabel) {
2175
2215
  throw new Error(`[Pixi'VN] Label ${labelId} not found`);
2176
2216
  }
2217
+ if (_GameStepManager.currentLabel && _GameStepManager.currentLabel.onStepEnd) {
2218
+ yield _GameStepManager.currentLabel.onStepEnd(_GameStepManager.currentLabelStepIndex || 0, _GameStepManager.currentLabel);
2219
+ }
2177
2220
  _GameStepManager.pushNewLabel(tempLabel.id);
2178
2221
  } catch (e) {
2179
2222
  console.error("[Pixi'VN] Error calling label", e);
@@ -2232,6 +2275,9 @@ var _GameStepManager = class _GameStepManager {
2232
2275
  if (!tempLabel) {
2233
2276
  throw new Error(`[Pixi'VN] Label ${labelId} not found`);
2234
2277
  }
2278
+ if (_GameStepManager.currentLabel && _GameStepManager.currentLabel.onStepEnd) {
2279
+ yield _GameStepManager.currentLabel.onStepEnd(_GameStepManager.currentLabelStepIndex || 0, _GameStepManager.currentLabel);
2280
+ }
2235
2281
  _GameStepManager.pushNewLabel(tempLabel.id);
2236
2282
  } catch (e) {
2237
2283
  console.error("[Pixi'VN] Error jumping label", e);
@@ -2337,24 +2383,29 @@ var _GameStepManager = class _GameStepManager {
2337
2383
  * ```
2338
2384
  */
2339
2385
  static goBack(navigate, steps = 1) {
2340
- if (steps <= 0) {
2341
- console.warn("[Pixi'VN] Steps must be greater than 0");
2342
- return;
2343
- }
2344
- if (_GameStepManager._stepsHistory.length <= 1) {
2345
- console.warn("[Pixi'VN] No steps to go back");
2346
- return;
2347
- }
2348
- let restoredStep = _GameStepManager.goBackInternal(steps, _GameStepManager.originalStepData);
2349
- if (restoredStep) {
2350
- _GameStepManager._originalStepData = restoredStep;
2351
- _GameStepManager._openedLabels = createExportableElement(restoredStep.openedLabels);
2352
- GameStorageManager.import(createExportableElement(restoredStep.storage));
2353
- GameWindowManager.import(createExportableElement(restoredStep.canvas));
2354
- navigate(restoredStep.path);
2355
- } else {
2356
- console.error("[Pixi'VN] Error going back");
2357
- }
2386
+ return __async(this, null, function* () {
2387
+ if (steps <= 0) {
2388
+ console.warn("[Pixi'VN] Steps must be greater than 0");
2389
+ return;
2390
+ }
2391
+ if (_GameStepManager._stepsHistory.length <= 1) {
2392
+ console.warn("[Pixi'VN] No steps to go back");
2393
+ return;
2394
+ }
2395
+ let restoredStep = _GameStepManager.goBackInternal(steps, _GameStepManager.originalStepData);
2396
+ if (restoredStep) {
2397
+ _GameStepManager._originalStepData = restoredStep;
2398
+ _GameStepManager._openedLabels = createExportableElement(restoredStep.openedLabels);
2399
+ if (_GameStepManager.currentLabel && _GameStepManager.currentLabel.onLoadStep) {
2400
+ yield _GameStepManager.currentLabel.onLoadStep(_GameStepManager.currentLabelStepIndex || 0, _GameStepManager.currentLabel);
2401
+ }
2402
+ GameStorageManager.import(createExportableElement(restoredStep.storage));
2403
+ GameWindowManager.import(createExportableElement(restoredStep.canvas));
2404
+ navigate(restoredStep.path);
2405
+ } else {
2406
+ console.error("[Pixi'VN] Error going back");
2407
+ }
2408
+ });
2358
2409
  }
2359
2410
  static goBackInternal(steps, restoredStep) {
2360
2411
  if (steps <= 0) {
@@ -2416,38 +2467,45 @@ var _GameStepManager = class _GameStepManager {
2416
2467
  * @param dataString The history in a JSON string.
2417
2468
  */
2418
2469
  static importJson(dataString) {
2419
- _GameStepManager.import(JSON.parse(dataString));
2470
+ return __async(this, null, function* () {
2471
+ yield _GameStepManager.import(JSON.parse(dataString));
2472
+ });
2420
2473
  }
2421
2474
  /**
2422
2475
  * Import the history from an object.
2423
2476
  * @param data The history in an object.
2424
2477
  */
2425
2478
  static import(data) {
2426
- _GameStepManager.clear();
2427
- try {
2428
- if (data.hasOwnProperty("stepsHistory")) {
2429
- _GameStepManager._stepsHistory = data["stepsHistory"];
2430
- } else {
2431
- console.warn("[Pixi'VN] Could not import stepsHistory data, so will be ignored");
2432
- }
2433
- if (data.hasOwnProperty("openedLabels")) {
2434
- _GameStepManager._openedLabels = data["openedLabels"];
2435
- } else {
2436
- console.warn("[Pixi'VN] Could not import openedLabels data, so will be ignored");
2437
- }
2438
- if (data.hasOwnProperty("lastStepIndex")) {
2439
- _GameStepManager._lastStepIndex = data["lastStepIndex"];
2440
- } else {
2441
- console.warn("[Pixi'VN] Could not import lastStepIndex data, so will be ignored");
2442
- }
2443
- if (data.hasOwnProperty("originalStepData")) {
2444
- _GameStepManager._originalStepData = data["originalStepData"];
2445
- } else {
2446
- console.warn("[Pixi'VN] Could not import originalStepData data, so will be ignored");
2479
+ return __async(this, null, function* () {
2480
+ _GameStepManager.clear();
2481
+ try {
2482
+ if (data.hasOwnProperty("stepsHistory")) {
2483
+ _GameStepManager._stepsHistory = data["stepsHistory"];
2484
+ } else {
2485
+ console.warn("[Pixi'VN] Could not import stepsHistory data, so will be ignored");
2486
+ }
2487
+ if (data.hasOwnProperty("openedLabels")) {
2488
+ _GameStepManager._openedLabels = data["openedLabels"];
2489
+ } else {
2490
+ console.warn("[Pixi'VN] Could not import openedLabels data, so will be ignored");
2491
+ }
2492
+ if (data.hasOwnProperty("lastStepIndex")) {
2493
+ _GameStepManager._lastStepIndex = data["lastStepIndex"];
2494
+ } else {
2495
+ console.warn("[Pixi'VN] Could not import lastStepIndex data, so will be ignored");
2496
+ }
2497
+ if (data.hasOwnProperty("originalStepData")) {
2498
+ _GameStepManager._originalStepData = data["originalStepData"];
2499
+ } else {
2500
+ console.warn("[Pixi'VN] Could not import originalStepData data, so will be ignored");
2501
+ }
2502
+ if (_GameStepManager.currentLabel && _GameStepManager.currentLabel.onLoadStep) {
2503
+ yield _GameStepManager.currentLabel.onLoadStep(_GameStepManager.currentLabelStepIndex || 0, _GameStepManager.currentLabel);
2504
+ }
2505
+ } catch (e) {
2506
+ console.error("[Pixi'VN] Error importing data", e);
2447
2507
  }
2448
- } catch (e) {
2449
- console.error("[Pixi'VN] Error importing data", e);
2450
- }
2508
+ });
2451
2509
  }
2452
2510
  };
2453
2511
  /**