@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/ExportUtility.ts
@@ -341,8 +358,6 @@ function getMemoryContainer(element) {
341
358
  };
342
359
  }
343
360
  function setMemoryContainer(element, memory) {
344
- memory.width && (element.width = memory.width);
345
- memory.height && (element.height = memory.height);
346
361
  memory.isRenderGroup && (element.isRenderGroup = memory.isRenderGroup);
347
362
  memory.blendMode && (element.blendMode = memory.blendMode);
348
363
  memory.tint && (element.tint = memory.tint);
@@ -375,6 +390,8 @@ function setMemoryContainer(element, memory) {
375
390
  memory.interactive && (element.interactive = memory.interactive);
376
391
  memory.interactiveChildren && (element.interactiveChildren = memory.interactiveChildren);
377
392
  memory.hitArea && (element.hitArea = memory.hitArea);
393
+ memory.width && (element.width = memory.width);
394
+ memory.height && (element.height = memory.height);
378
395
  }
379
396
  function getTexture(imageUrl) {
380
397
  return __async(this, null, function* () {
@@ -1540,7 +1557,10 @@ function getChoiceMenuOptions() {
1540
1557
  }
1541
1558
  let label = getLabelById(option.label);
1542
1559
  if (label) {
1543
- let itemLabel = new Label(label.id, label.steps, label.onStepRun, index);
1560
+ let itemLabel = new Label(label.id, label.steps, {
1561
+ onStepStart: label.onStepStart,
1562
+ choiseIndex: index
1563
+ });
1544
1564
  options.push(__spreadProps(__spreadValues({}, option), {
1545
1565
  label: itemLabel
1546
1566
  }));
@@ -1599,8 +1619,9 @@ FadeAlphaTicker = __decorateClass([
1599
1619
  ], FadeAlphaTicker);
1600
1620
 
1601
1621
  // src/functions/TickerUtility.ts
1602
- function updateTickerProgression(args, propertyName, progression) {
1603
- if (args[propertyName] === void 0 || !progression || args[propertyName] === progression.limit) {
1622
+ function updateTickerProgression(args, propertyName, progression, valueConvert) {
1623
+ let limit = valueConvert && progression.limit ? valueConvert(progression.limit) : progression.limit;
1624
+ if (args[propertyName] === void 0 || !progression || args[propertyName] === limit) {
1604
1625
  return;
1605
1626
  }
1606
1627
  if (typeof args[propertyName] === "number") {
@@ -1619,22 +1640,25 @@ function updateTickerProgression(args, propertyName, progression) {
1619
1640
  }
1620
1641
  }
1621
1642
  }
1622
- function getLinearProgression(number, progression) {
1623
- if (progression.limit !== void 0) {
1624
- if (number > progression.limit && progression.amt > 0) {
1625
- return progression.limit;
1626
- } else if (number < progression.limit && progression.amt < 0) {
1627
- return progression.limit;
1643
+ function getLinearProgression(number, progression, valueConvert) {
1644
+ let limit = valueConvert && progression.limit ? valueConvert(progression.limit) : progression.limit;
1645
+ let amt = valueConvert ? valueConvert(progression.amt) : progression.amt;
1646
+ if (limit !== void 0) {
1647
+ if (number > limit && amt > 0) {
1648
+ return limit;
1649
+ } else if (number < limit && amt < 0) {
1650
+ return limit;
1628
1651
  }
1629
1652
  }
1630
- return number + progression.amt / 60;
1653
+ return number + amt;
1631
1654
  }
1632
- function getExponentialProgression(number, progression) {
1633
- if (progression.limit !== void 0) {
1634
- if (number > progression.limit && progression.percentage > 0) {
1635
- return progression.limit;
1636
- } else if (number < progression.limit && progression.percentage < 0) {
1637
- return progression.limit;
1655
+ function getExponentialProgression(number, progression, valueConvert) {
1656
+ let limit = valueConvert && progression.limit ? valueConvert(progression.limit) : progression.limit;
1657
+ if (limit !== void 0) {
1658
+ if (number > limit && progression.percentage > 0) {
1659
+ return limit;
1660
+ } else if (number < limit && progression.percentage < 0) {
1661
+ return limit;
1638
1662
  }
1639
1663
  }
1640
1664
  return number + number * progression.percentage;
@@ -1647,15 +1671,13 @@ var MoveTicker = class extends TickerBase {
1647
1671
  let ySpeed = 1;
1648
1672
  if (args.speed) {
1649
1673
  if (typeof args.speed === "number") {
1650
- xSpeed = args.speed;
1651
- ySpeed = args.speed;
1674
+ xSpeed = this.speedConvert(args.speed);
1675
+ ySpeed = this.speedConvert(args.speed);
1652
1676
  } else {
1653
- xSpeed = args.speed.x;
1654
- ySpeed = args.speed.y;
1677
+ xSpeed = this.speedConvert(args.speed.x);
1678
+ ySpeed = this.speedConvert(args.speed.y);
1655
1679
  }
1656
1680
  }
1657
- xSpeed /= 60;
1658
- ySpeed /= 60;
1659
1681
  let destination = args.destination;
1660
1682
  let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
1661
1683
  if (typeof tagToRemoveAfter2 === "string") {
@@ -1695,7 +1717,10 @@ var MoveTicker = class extends TickerBase {
1695
1717
  }
1696
1718
  });
1697
1719
  if (args.speedProgression)
1698
- updateTickerProgression(args, "speed", args.speedProgression);
1720
+ updateTickerProgression(args, "speed", args.speedProgression, this.speedConvert);
1721
+ }
1722
+ speedConvert(speed) {
1723
+ return speed / 6;
1699
1724
  }
1700
1725
  };
1701
1726
  MoveTicker = __decorateClass([
@@ -1703,7 +1728,7 @@ MoveTicker = __decorateClass([
1703
1728
  ], MoveTicker);
1704
1729
  var RotateTicker = class extends TickerBase {
1705
1730
  fn(ticker, args, tags, tickerId) {
1706
- let speed = (args.speed === void 0 ? 1 : args.speed) / 60;
1731
+ let speed = this.speedConvert(args.speed === void 0 ? 1 : args.speed);
1707
1732
  let clockwise = args.clockwise === void 0 ? true : args.clockwise;
1708
1733
  let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
1709
1734
  if (typeof tagToRemoveAfter2 === "string") {
@@ -1731,7 +1756,10 @@ var RotateTicker = class extends TickerBase {
1731
1756
  }
1732
1757
  });
1733
1758
  if (args.speedProgression)
1734
- updateTickerProgression(args, "speed", args.speedProgression);
1759
+ updateTickerProgression(args, "speed", args.speedProgression, this.speedConvert);
1760
+ }
1761
+ speedConvert(speed) {
1762
+ return speed / 60;
1735
1763
  }
1736
1764
  };
1737
1765
  RotateTicker = __decorateClass([
@@ -1743,15 +1771,13 @@ var ZoomTicker = class extends TickerBase {
1743
1771
  let ySpeed = 0.1;
1744
1772
  if (args.speed) {
1745
1773
  if (typeof args.speed === "number") {
1746
- xSpeed = args.speed;
1747
- ySpeed = args.speed;
1774
+ xSpeed = this.speedConvert(args.speed);
1775
+ ySpeed = this.speedConvert(args.speed);
1748
1776
  } else {
1749
- xSpeed = args.speed.x;
1750
- ySpeed = args.speed.y;
1777
+ xSpeed = this.speedConvert(args.speed.x);
1778
+ ySpeed = this.speedConvert(args.speed.y);
1751
1779
  }
1752
1780
  }
1753
- xSpeed /= 60;
1754
- ySpeed /= 60;
1755
1781
  let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
1756
1782
  if (typeof tagToRemoveAfter2 === "string") {
1757
1783
  tagToRemoveAfter2 = [tagToRemoveAfter2];
@@ -1818,7 +1844,10 @@ var ZoomTicker = class extends TickerBase {
1818
1844
  }
1819
1845
  });
1820
1846
  if (args.speedProgression)
1821
- updateTickerProgression(args, "speed", args.speedProgression);
1847
+ updateTickerProgression(args, "speed", args.speedProgression, this.speedConvert);
1848
+ }
1849
+ speedConvert(speed) {
1850
+ return speed / 60;
1822
1851
  }
1823
1852
  onEndOfTicker(tag, tickerId, _element, tagToRemoveAfter2) {
1824
1853
  GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
@@ -1945,6 +1974,16 @@ var _GameStepManager = class _GameStepManager {
1945
1974
  static set originalStepData(value) {
1946
1975
  _GameStepManager._originalStepData = createExportableElement(value);
1947
1976
  }
1977
+ static get currentStepData() {
1978
+ let currentStepData = {
1979
+ path: window.location.pathname,
1980
+ storage: GameStorageManager.export(),
1981
+ canvas: GameWindowManager.export(),
1982
+ labelIndex: _GameStepManager.currentLabelStepIndex || 0,
1983
+ openedLabels: createExportableElement(_GameStepManager._openedLabels)
1984
+ };
1985
+ return currentStepData;
1986
+ }
1948
1987
  /* Edit History Methods */
1949
1988
  /**
1950
1989
  * Add a label to the history.
@@ -1952,19 +1991,13 @@ var _GameStepManager = class _GameStepManager {
1952
1991
  */
1953
1992
  static addStepHistory(step, choiseMade) {
1954
1993
  let stepHistory = getStepSha1(step);
1955
- let historyStep = {
1956
- path: window.location.pathname,
1957
- storage: GameStorageManager.export(),
1958
- canvas: GameWindowManager.export(),
1959
- labelIndex: _GameStepManager.currentLabelStepIndex || 0,
1960
- openedLabels: createExportableElement(_GameStepManager._openedLabels)
1961
- };
1994
+ let currentStepData = _GameStepManager.currentStepData;
1962
1995
  if (_GameStepManager.originalStepData) {
1963
- if (_GameStepManager.originalStepData.openedLabels.length === historyStep.openedLabels.length) {
1996
+ if (_GameStepManager.originalStepData.openedLabels.length === currentStepData.openedLabels.length) {
1964
1997
  try {
1965
1998
  let lastStepDataOpenedLabelsString = JSON.stringify(_GameStepManager.originalStepData.openedLabels);
1966
- let historyStepOpenedLabelsString = JSON.stringify(historyStep.openedLabels);
1967
- if (lastStepDataOpenedLabelsString === historyStepOpenedLabelsString && _GameStepManager.originalStepData.path === historyStep.path && _GameStepManager.originalStepData.labelIndex === historyStep.labelIndex) {
1999
+ let historyStepOpenedLabelsString = JSON.stringify(currentStepData.openedLabels);
2000
+ if (lastStepDataOpenedLabelsString === historyStepOpenedLabelsString && _GameStepManager.originalStepData.path === currentStepData.path && _GameStepManager.originalStepData.labelIndex === currentStepData.labelIndex) {
1968
2001
  return;
1969
2002
  }
1970
2003
  } catch (e) {
@@ -1972,7 +2005,7 @@ var _GameStepManager = class _GameStepManager {
1972
2005
  }
1973
2006
  }
1974
2007
  }
1975
- let data = diff(_GameStepManager.originalStepData, historyStep);
2008
+ let data = diff(_GameStepManager.originalStepData, currentStepData);
1976
2009
  if (data) {
1977
2010
  let dialoge = void 0;
1978
2011
  let requiredChoices = void 0;
@@ -1991,7 +2024,7 @@ var _GameStepManager = class _GameStepManager {
1991
2024
  index: _GameStepManager.lastStepIndex,
1992
2025
  choiceIndexMade: choiseMade
1993
2026
  });
1994
- _GameStepManager.originalStepData = historyStep;
2027
+ _GameStepManager.originalStepData = currentStepData;
1995
2028
  }
1996
2029
  _GameStepManager.increaseLastStepIndex();
1997
2030
  }
@@ -2082,6 +2115,9 @@ var _GameStepManager = class _GameStepManager {
2082
2115
  console.warn("[Pixi'VN] The player must make a choice");
2083
2116
  return;
2084
2117
  }
2118
+ if (_GameStepManager.currentLabel && _GameStepManager.currentLabel.onStepEnd) {
2119
+ yield _GameStepManager.currentLabel.onStepEnd(_GameStepManager.currentLabelStepIndex || 0, _GameStepManager.currentLabel);
2120
+ }
2085
2121
  _GameStepManager.increaseCurrentStepIndex();
2086
2122
  return yield _GameStepManager.runCurrentStep(props, choiseMade);
2087
2123
  });
@@ -2106,6 +2142,10 @@ var _GameStepManager = class _GameStepManager {
2106
2142
  return;
2107
2143
  }
2108
2144
  if (currentLabel.steps.length > currentLabelStepIndex) {
2145
+ let onStepRun = currentLabel.onStepStart;
2146
+ if (onStepRun) {
2147
+ yield onStepRun(currentLabelStepIndex, currentLabel);
2148
+ }
2109
2149
  let step = currentLabel.steps[currentLabelStepIndex];
2110
2150
  let result = yield step(props);
2111
2151
  _GameStepManager.addStepHistory(step, choiseMade);
@@ -2170,6 +2210,9 @@ var _GameStepManager = class _GameStepManager {
2170
2210
  if (!tempLabel) {
2171
2211
  throw new Error(`[Pixi'VN] Label ${labelId} not found`);
2172
2212
  }
2213
+ if (_GameStepManager.currentLabel && _GameStepManager.currentLabel.onStepEnd) {
2214
+ yield _GameStepManager.currentLabel.onStepEnd(_GameStepManager.currentLabelStepIndex || 0, _GameStepManager.currentLabel);
2215
+ }
2173
2216
  _GameStepManager.pushNewLabel(tempLabel.id);
2174
2217
  } catch (e) {
2175
2218
  console.error("[Pixi'VN] Error calling label", e);
@@ -2228,6 +2271,9 @@ var _GameStepManager = class _GameStepManager {
2228
2271
  if (!tempLabel) {
2229
2272
  throw new Error(`[Pixi'VN] Label ${labelId} not found`);
2230
2273
  }
2274
+ if (_GameStepManager.currentLabel && _GameStepManager.currentLabel.onStepEnd) {
2275
+ yield _GameStepManager.currentLabel.onStepEnd(_GameStepManager.currentLabelStepIndex || 0, _GameStepManager.currentLabel);
2276
+ }
2231
2277
  _GameStepManager.pushNewLabel(tempLabel.id);
2232
2278
  } catch (e) {
2233
2279
  console.error("[Pixi'VN] Error jumping label", e);
@@ -2333,24 +2379,29 @@ var _GameStepManager = class _GameStepManager {
2333
2379
  * ```
2334
2380
  */
2335
2381
  static goBack(navigate, steps = 1) {
2336
- if (steps <= 0) {
2337
- console.warn("[Pixi'VN] Steps must be greater than 0");
2338
- return;
2339
- }
2340
- if (_GameStepManager._stepsHistory.length <= 1) {
2341
- console.warn("[Pixi'VN] No steps to go back");
2342
- return;
2343
- }
2344
- let restoredStep = _GameStepManager.goBackInternal(steps, _GameStepManager.originalStepData);
2345
- if (restoredStep) {
2346
- _GameStepManager._originalStepData = restoredStep;
2347
- _GameStepManager._openedLabels = createExportableElement(restoredStep.openedLabels);
2348
- GameStorageManager.import(createExportableElement(restoredStep.storage));
2349
- GameWindowManager.import(createExportableElement(restoredStep.canvas));
2350
- navigate(restoredStep.path);
2351
- } else {
2352
- console.error("[Pixi'VN] Error going back");
2353
- }
2382
+ return __async(this, null, function* () {
2383
+ if (steps <= 0) {
2384
+ console.warn("[Pixi'VN] Steps must be greater than 0");
2385
+ return;
2386
+ }
2387
+ if (_GameStepManager._stepsHistory.length <= 1) {
2388
+ console.warn("[Pixi'VN] No steps to go back");
2389
+ return;
2390
+ }
2391
+ let restoredStep = _GameStepManager.goBackInternal(steps, _GameStepManager.originalStepData);
2392
+ if (restoredStep) {
2393
+ _GameStepManager._originalStepData = restoredStep;
2394
+ _GameStepManager._openedLabels = createExportableElement(restoredStep.openedLabels);
2395
+ if (_GameStepManager.currentLabel && _GameStepManager.currentLabel.onLoadStep) {
2396
+ yield _GameStepManager.currentLabel.onLoadStep(_GameStepManager.currentLabelStepIndex || 0, _GameStepManager.currentLabel);
2397
+ }
2398
+ GameStorageManager.import(createExportableElement(restoredStep.storage));
2399
+ GameWindowManager.import(createExportableElement(restoredStep.canvas));
2400
+ navigate(restoredStep.path);
2401
+ } else {
2402
+ console.error("[Pixi'VN] Error going back");
2403
+ }
2404
+ });
2354
2405
  }
2355
2406
  static goBackInternal(steps, restoredStep) {
2356
2407
  if (steps <= 0) {
@@ -2412,38 +2463,45 @@ var _GameStepManager = class _GameStepManager {
2412
2463
  * @param dataString The history in a JSON string.
2413
2464
  */
2414
2465
  static importJson(dataString) {
2415
- _GameStepManager.import(JSON.parse(dataString));
2466
+ return __async(this, null, function* () {
2467
+ yield _GameStepManager.import(JSON.parse(dataString));
2468
+ });
2416
2469
  }
2417
2470
  /**
2418
2471
  * Import the history from an object.
2419
2472
  * @param data The history in an object.
2420
2473
  */
2421
2474
  static import(data) {
2422
- _GameStepManager.clear();
2423
- try {
2424
- if (data.hasOwnProperty("stepsHistory")) {
2425
- _GameStepManager._stepsHistory = data["stepsHistory"];
2426
- } else {
2427
- console.warn("[Pixi'VN] Could not import stepsHistory data, so will be ignored");
2428
- }
2429
- if (data.hasOwnProperty("openedLabels")) {
2430
- _GameStepManager._openedLabels = data["openedLabels"];
2431
- } else {
2432
- console.warn("[Pixi'VN] Could not import openedLabels data, so will be ignored");
2433
- }
2434
- if (data.hasOwnProperty("lastStepIndex")) {
2435
- _GameStepManager._lastStepIndex = data["lastStepIndex"];
2436
- } else {
2437
- console.warn("[Pixi'VN] Could not import lastStepIndex data, so will be ignored");
2438
- }
2439
- if (data.hasOwnProperty("originalStepData")) {
2440
- _GameStepManager._originalStepData = data["originalStepData"];
2441
- } else {
2442
- console.warn("[Pixi'VN] Could not import originalStepData data, so will be ignored");
2475
+ return __async(this, null, function* () {
2476
+ _GameStepManager.clear();
2477
+ try {
2478
+ if (data.hasOwnProperty("stepsHistory")) {
2479
+ _GameStepManager._stepsHistory = data["stepsHistory"];
2480
+ } else {
2481
+ console.warn("[Pixi'VN] Could not import stepsHistory data, so will be ignored");
2482
+ }
2483
+ if (data.hasOwnProperty("openedLabels")) {
2484
+ _GameStepManager._openedLabels = data["openedLabels"];
2485
+ } else {
2486
+ console.warn("[Pixi'VN] Could not import openedLabels data, so will be ignored");
2487
+ }
2488
+ if (data.hasOwnProperty("lastStepIndex")) {
2489
+ _GameStepManager._lastStepIndex = data["lastStepIndex"];
2490
+ } else {
2491
+ console.warn("[Pixi'VN] Could not import lastStepIndex data, so will be ignored");
2492
+ }
2493
+ if (data.hasOwnProperty("originalStepData")) {
2494
+ _GameStepManager._originalStepData = data["originalStepData"];
2495
+ } else {
2496
+ console.warn("[Pixi'VN] Could not import originalStepData data, so will be ignored");
2497
+ }
2498
+ if (_GameStepManager.currentLabel && _GameStepManager.currentLabel.onLoadStep) {
2499
+ yield _GameStepManager.currentLabel.onLoadStep(_GameStepManager.currentLabelStepIndex || 0, _GameStepManager.currentLabel);
2500
+ }
2501
+ } catch (e) {
2502
+ console.error("[Pixi'VN] Error importing data", e);
2443
2503
  }
2444
- } catch (e) {
2445
- console.error("[Pixi'VN] Error importing data", e);
2446
- }
2504
+ });
2447
2505
  }
2448
2506
  };
2449
2507
  /**