@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.
126
+ * @returns Promise<void> or void
127
+ */
128
+ get onLoadStep() {
129
+ return this._onLoadStep;
130
+ }
131
+ /**
132
+ * Is a function that will be executed when the step ends.
111
133
  * @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
134
  */
120
- get onStepRun() {
121
- return this._onStepRun;
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/decorators/LabelDecorator.ts
@@ -310,7 +327,7 @@ var TickerBase = class {
310
327
  };
311
328
 
312
329
  // src/constants.ts
313
- var PIXIVN_VERSION = "0.6.3";
330
+ var PIXIVN_VERSION = "0.6.5";
314
331
  var Repeat = "repeat";
315
332
  function Pause(duration) {
316
333
  return {
@@ -400,8 +417,6 @@ function getMemoryContainer(element) {
400
417
  };
401
418
  }
402
419
  function setMemoryContainer(element, memory) {
403
- memory.width && (element.width = memory.width);
404
- memory.height && (element.height = memory.height);
405
420
  memory.isRenderGroup && (element.isRenderGroup = memory.isRenderGroup);
406
421
  memory.blendMode && (element.blendMode = memory.blendMode);
407
422
  memory.tint && (element.tint = memory.tint);
@@ -434,6 +449,8 @@ function setMemoryContainer(element, memory) {
434
449
  memory.interactive && (element.interactive = memory.interactive);
435
450
  memory.interactiveChildren && (element.interactiveChildren = memory.interactiveChildren);
436
451
  memory.hitArea && (element.hitArea = memory.hitArea);
452
+ memory.width && (element.width = memory.width);
453
+ memory.height && (element.height = memory.height);
437
454
  }
438
455
  function getTexture(imageUrl) {
439
456
  return __async(this, null, function* () {
@@ -1639,6 +1656,16 @@ var _GameStepManager = class _GameStepManager {
1639
1656
  static set originalStepData(value) {
1640
1657
  _GameStepManager._originalStepData = createExportableElement(value);
1641
1658
  }
1659
+ static get currentStepData() {
1660
+ let currentStepData = {
1661
+ path: window.location.pathname,
1662
+ storage: GameStorageManager.export(),
1663
+ canvas: GameWindowManager.export(),
1664
+ labelIndex: _GameStepManager.currentLabelStepIndex || 0,
1665
+ openedLabels: createExportableElement(_GameStepManager._openedLabels)
1666
+ };
1667
+ return currentStepData;
1668
+ }
1642
1669
  /* Edit History Methods */
1643
1670
  /**
1644
1671
  * Add a label to the history.
@@ -1646,19 +1673,13 @@ var _GameStepManager = class _GameStepManager {
1646
1673
  */
1647
1674
  static addStepHistory(step, choiseMade) {
1648
1675
  let stepHistory = getStepSha1(step);
1649
- let historyStep = {
1650
- path: window.location.pathname,
1651
- storage: GameStorageManager.export(),
1652
- canvas: GameWindowManager.export(),
1653
- labelIndex: _GameStepManager.currentLabelStepIndex || 0,
1654
- openedLabels: createExportableElement(_GameStepManager._openedLabels)
1655
- };
1676
+ let currentStepData = _GameStepManager.currentStepData;
1656
1677
  if (_GameStepManager.originalStepData) {
1657
- if (_GameStepManager.originalStepData.openedLabels.length === historyStep.openedLabels.length) {
1678
+ if (_GameStepManager.originalStepData.openedLabels.length === currentStepData.openedLabels.length) {
1658
1679
  try {
1659
1680
  let lastStepDataOpenedLabelsString = JSON.stringify(_GameStepManager.originalStepData.openedLabels);
1660
- let historyStepOpenedLabelsString = JSON.stringify(historyStep.openedLabels);
1661
- if (lastStepDataOpenedLabelsString === historyStepOpenedLabelsString && _GameStepManager.originalStepData.path === historyStep.path && _GameStepManager.originalStepData.labelIndex === historyStep.labelIndex) {
1681
+ let historyStepOpenedLabelsString = JSON.stringify(currentStepData.openedLabels);
1682
+ if (lastStepDataOpenedLabelsString === historyStepOpenedLabelsString && _GameStepManager.originalStepData.path === currentStepData.path && _GameStepManager.originalStepData.labelIndex === currentStepData.labelIndex) {
1662
1683
  return;
1663
1684
  }
1664
1685
  } catch (e) {
@@ -1666,7 +1687,7 @@ var _GameStepManager = class _GameStepManager {
1666
1687
  }
1667
1688
  }
1668
1689
  }
1669
- let data = diff(_GameStepManager.originalStepData, historyStep);
1690
+ let data = diff(_GameStepManager.originalStepData, currentStepData);
1670
1691
  if (data) {
1671
1692
  let dialoge = void 0;
1672
1693
  let requiredChoices = void 0;
@@ -1685,7 +1706,7 @@ var _GameStepManager = class _GameStepManager {
1685
1706
  index: _GameStepManager.lastStepIndex,
1686
1707
  choiceIndexMade: choiseMade
1687
1708
  });
1688
- _GameStepManager.originalStepData = historyStep;
1709
+ _GameStepManager.originalStepData = currentStepData;
1689
1710
  }
1690
1711
  _GameStepManager.increaseLastStepIndex();
1691
1712
  }
@@ -1776,6 +1797,9 @@ var _GameStepManager = class _GameStepManager {
1776
1797
  console.warn("[Pixi'VN] The player must make a choice");
1777
1798
  return;
1778
1799
  }
1800
+ if (_GameStepManager.currentLabel && _GameStepManager.currentLabel.onStepEnd) {
1801
+ yield _GameStepManager.currentLabel.onStepEnd(_GameStepManager.currentLabelStepIndex || 0, _GameStepManager.currentLabel);
1802
+ }
1779
1803
  _GameStepManager.increaseCurrentStepIndex();
1780
1804
  return yield _GameStepManager.runCurrentStep(props, choiseMade);
1781
1805
  });
@@ -1800,6 +1824,10 @@ var _GameStepManager = class _GameStepManager {
1800
1824
  return;
1801
1825
  }
1802
1826
  if (currentLabel.steps.length > currentLabelStepIndex) {
1827
+ let onStepRun = currentLabel.onStepStart;
1828
+ if (onStepRun) {
1829
+ yield onStepRun(currentLabelStepIndex, currentLabel);
1830
+ }
1803
1831
  let step = currentLabel.steps[currentLabelStepIndex];
1804
1832
  let result = yield step(props);
1805
1833
  _GameStepManager.addStepHistory(step, choiseMade);
@@ -1864,6 +1892,9 @@ var _GameStepManager = class _GameStepManager {
1864
1892
  if (!tempLabel) {
1865
1893
  throw new Error(`[Pixi'VN] Label ${labelId} not found`);
1866
1894
  }
1895
+ if (_GameStepManager.currentLabel && _GameStepManager.currentLabel.onStepEnd) {
1896
+ yield _GameStepManager.currentLabel.onStepEnd(_GameStepManager.currentLabelStepIndex || 0, _GameStepManager.currentLabel);
1897
+ }
1867
1898
  _GameStepManager.pushNewLabel(tempLabel.id);
1868
1899
  } catch (e) {
1869
1900
  console.error("[Pixi'VN] Error calling label", e);
@@ -1922,6 +1953,9 @@ var _GameStepManager = class _GameStepManager {
1922
1953
  if (!tempLabel) {
1923
1954
  throw new Error(`[Pixi'VN] Label ${labelId} not found`);
1924
1955
  }
1956
+ if (_GameStepManager.currentLabel && _GameStepManager.currentLabel.onStepEnd) {
1957
+ yield _GameStepManager.currentLabel.onStepEnd(_GameStepManager.currentLabelStepIndex || 0, _GameStepManager.currentLabel);
1958
+ }
1925
1959
  _GameStepManager.pushNewLabel(tempLabel.id);
1926
1960
  } catch (e) {
1927
1961
  console.error("[Pixi'VN] Error jumping label", e);
@@ -2027,24 +2061,29 @@ var _GameStepManager = class _GameStepManager {
2027
2061
  * ```
2028
2062
  */
2029
2063
  static goBack(navigate, steps = 1) {
2030
- if (steps <= 0) {
2031
- console.warn("[Pixi'VN] Steps must be greater than 0");
2032
- return;
2033
- }
2034
- if (_GameStepManager._stepsHistory.length <= 1) {
2035
- console.warn("[Pixi'VN] No steps to go back");
2036
- return;
2037
- }
2038
- let restoredStep = _GameStepManager.goBackInternal(steps, _GameStepManager.originalStepData);
2039
- if (restoredStep) {
2040
- _GameStepManager._originalStepData = restoredStep;
2041
- _GameStepManager._openedLabels = createExportableElement(restoredStep.openedLabels);
2042
- GameStorageManager.import(createExportableElement(restoredStep.storage));
2043
- GameWindowManager.import(createExportableElement(restoredStep.canvas));
2044
- navigate(restoredStep.path);
2045
- } else {
2046
- console.error("[Pixi'VN] Error going back");
2047
- }
2064
+ return __async(this, null, function* () {
2065
+ if (steps <= 0) {
2066
+ console.warn("[Pixi'VN] Steps must be greater than 0");
2067
+ return;
2068
+ }
2069
+ if (_GameStepManager._stepsHistory.length <= 1) {
2070
+ console.warn("[Pixi'VN] No steps to go back");
2071
+ return;
2072
+ }
2073
+ let restoredStep = _GameStepManager.goBackInternal(steps, _GameStepManager.originalStepData);
2074
+ if (restoredStep) {
2075
+ _GameStepManager._originalStepData = restoredStep;
2076
+ _GameStepManager._openedLabels = createExportableElement(restoredStep.openedLabels);
2077
+ if (_GameStepManager.currentLabel && _GameStepManager.currentLabel.onLoadStep) {
2078
+ yield _GameStepManager.currentLabel.onLoadStep(_GameStepManager.currentLabelStepIndex || 0, _GameStepManager.currentLabel);
2079
+ }
2080
+ GameStorageManager.import(createExportableElement(restoredStep.storage));
2081
+ GameWindowManager.import(createExportableElement(restoredStep.canvas));
2082
+ navigate(restoredStep.path);
2083
+ } else {
2084
+ console.error("[Pixi'VN] Error going back");
2085
+ }
2086
+ });
2048
2087
  }
2049
2088
  static goBackInternal(steps, restoredStep) {
2050
2089
  if (steps <= 0) {
@@ -2106,38 +2145,45 @@ var _GameStepManager = class _GameStepManager {
2106
2145
  * @param dataString The history in a JSON string.
2107
2146
  */
2108
2147
  static importJson(dataString) {
2109
- _GameStepManager.import(JSON.parse(dataString));
2148
+ return __async(this, null, function* () {
2149
+ yield _GameStepManager.import(JSON.parse(dataString));
2150
+ });
2110
2151
  }
2111
2152
  /**
2112
2153
  * Import the history from an object.
2113
2154
  * @param data The history in an object.
2114
2155
  */
2115
2156
  static import(data) {
2116
- _GameStepManager.clear();
2117
- try {
2118
- if (data.hasOwnProperty("stepsHistory")) {
2119
- _GameStepManager._stepsHistory = data["stepsHistory"];
2120
- } else {
2121
- console.warn("[Pixi'VN] Could not import stepsHistory data, so will be ignored");
2122
- }
2123
- if (data.hasOwnProperty("openedLabels")) {
2124
- _GameStepManager._openedLabels = data["openedLabels"];
2125
- } else {
2126
- console.warn("[Pixi'VN] Could not import openedLabels data, so will be ignored");
2127
- }
2128
- if (data.hasOwnProperty("lastStepIndex")) {
2129
- _GameStepManager._lastStepIndex = data["lastStepIndex"];
2130
- } else {
2131
- console.warn("[Pixi'VN] Could not import lastStepIndex data, so will be ignored");
2132
- }
2133
- if (data.hasOwnProperty("originalStepData")) {
2134
- _GameStepManager._originalStepData = data["originalStepData"];
2135
- } else {
2136
- console.warn("[Pixi'VN] Could not import originalStepData data, so will be ignored");
2157
+ return __async(this, null, function* () {
2158
+ _GameStepManager.clear();
2159
+ try {
2160
+ if (data.hasOwnProperty("stepsHistory")) {
2161
+ _GameStepManager._stepsHistory = data["stepsHistory"];
2162
+ } else {
2163
+ console.warn("[Pixi'VN] Could not import stepsHistory data, so will be ignored");
2164
+ }
2165
+ if (data.hasOwnProperty("openedLabels")) {
2166
+ _GameStepManager._openedLabels = data["openedLabels"];
2167
+ } else {
2168
+ console.warn("[Pixi'VN] Could not import openedLabels data, so will be ignored");
2169
+ }
2170
+ if (data.hasOwnProperty("lastStepIndex")) {
2171
+ _GameStepManager._lastStepIndex = data["lastStepIndex"];
2172
+ } else {
2173
+ console.warn("[Pixi'VN] Could not import lastStepIndex data, so will be ignored");
2174
+ }
2175
+ if (data.hasOwnProperty("originalStepData")) {
2176
+ _GameStepManager._originalStepData = data["originalStepData"];
2177
+ } else {
2178
+ console.warn("[Pixi'VN] Could not import originalStepData data, so will be ignored");
2179
+ }
2180
+ if (_GameStepManager.currentLabel && _GameStepManager.currentLabel.onLoadStep) {
2181
+ yield _GameStepManager.currentLabel.onLoadStep(_GameStepManager.currentLabelStepIndex || 0, _GameStepManager.currentLabel);
2182
+ }
2183
+ } catch (e) {
2184
+ console.error("[Pixi'VN] Error importing data", e);
2137
2185
  }
2138
- } catch (e) {
2139
- console.error("[Pixi'VN] Error importing data", e);
2140
- }
2186
+ });
2141
2187
  }
2142
2188
  };
2143
2189
  /**
@@ -2168,7 +2214,27 @@ var ChoiceMenuOptionClose = class {
2168
2214
  */
2169
2215
  this.type = Close;
2170
2216
  /**
2171
- * Properties to be passed to the label
2217
+ * Properties to be passed to the label and olther parameters that you can use when get all the choice menu options.
2218
+ * @example
2219
+ * ```tsx
2220
+ * setChoiceMenuOptions([
2221
+ * new ChoiceMenuOption("Hello", helloLabel, { disabled: true }),
2222
+ * ])
2223
+ * return <List>
2224
+ * {getChoiceMenuOptions()?.map((item, index) => {
2225
+ * return (
2226
+ * <ChoiceButton
2227
+ * disabled={item.props.disabled}
2228
+ * onClick={() => {
2229
+ * afterSelectChoice(item)
2230
+ * }}
2231
+ * >
2232
+ * {item.text}
2233
+ * </ChoiceButton>
2234
+ * )
2235
+ * })}
2236
+ * </List>
2237
+ * ```
2172
2238
  */
2173
2239
  this.props = {};
2174
2240
  this.text = text;
@@ -2286,7 +2352,10 @@ function getChoiceMenuOptions() {
2286
2352
  }
2287
2353
  let label = getLabelById(option.label);
2288
2354
  if (label) {
2289
- let itemLabel = new Label(label.id, label.steps, label.onStepRun, index);
2355
+ let itemLabel = new Label(label.id, label.steps, {
2356
+ onStepStart: label.onStepStart,
2357
+ choiseIndex: index
2358
+ });
2290
2359
  options.push(__spreadProps(__spreadValues({}, option), {
2291
2360
  label: itemLabel
2292
2361
  }));
@@ -2410,8 +2479,9 @@ FadeAlphaTicker = __decorateClass([
2410
2479
  ], FadeAlphaTicker);
2411
2480
 
2412
2481
  // src/functions/TickerUtility.ts
2413
- function updateTickerProgression(args, propertyName, progression) {
2414
- if (args[propertyName] === void 0 || !progression || args[propertyName] === progression.limit) {
2482
+ function updateTickerProgression(args, propertyName, progression, valueConvert) {
2483
+ let limit = valueConvert && progression.limit ? valueConvert(progression.limit) : progression.limit;
2484
+ if (args[propertyName] === void 0 || !progression || args[propertyName] === limit) {
2415
2485
  return;
2416
2486
  }
2417
2487
  if (typeof args[propertyName] === "number") {
@@ -2430,22 +2500,25 @@ function updateTickerProgression(args, propertyName, progression) {
2430
2500
  }
2431
2501
  }
2432
2502
  }
2433
- function getLinearProgression(number, progression) {
2434
- if (progression.limit !== void 0) {
2435
- if (number > progression.limit && progression.amt > 0) {
2436
- return progression.limit;
2437
- } else if (number < progression.limit && progression.amt < 0) {
2438
- return progression.limit;
2503
+ function getLinearProgression(number, progression, valueConvert) {
2504
+ let limit = valueConvert && progression.limit ? valueConvert(progression.limit) : progression.limit;
2505
+ let amt = valueConvert ? valueConvert(progression.amt) : progression.amt;
2506
+ if (limit !== void 0) {
2507
+ if (number > limit && amt > 0) {
2508
+ return limit;
2509
+ } else if (number < limit && amt < 0) {
2510
+ return limit;
2439
2511
  }
2440
2512
  }
2441
- return number + progression.amt / 60;
2513
+ return number + amt;
2442
2514
  }
2443
- function getExponentialProgression(number, progression) {
2444
- if (progression.limit !== void 0) {
2445
- if (number > progression.limit && progression.percentage > 0) {
2446
- return progression.limit;
2447
- } else if (number < progression.limit && progression.percentage < 0) {
2448
- return progression.limit;
2515
+ function getExponentialProgression(number, progression, valueConvert) {
2516
+ let limit = valueConvert && progression.limit ? valueConvert(progression.limit) : progression.limit;
2517
+ if (limit !== void 0) {
2518
+ if (number > limit && progression.percentage > 0) {
2519
+ return limit;
2520
+ } else if (number < limit && progression.percentage < 0) {
2521
+ return limit;
2449
2522
  }
2450
2523
  }
2451
2524
  return number + number * progression.percentage;
@@ -2458,15 +2531,13 @@ var MoveTicker = class extends TickerBase {
2458
2531
  let ySpeed = 1;
2459
2532
  if (args.speed) {
2460
2533
  if (typeof args.speed === "number") {
2461
- xSpeed = args.speed;
2462
- ySpeed = args.speed;
2534
+ xSpeed = this.speedConvert(args.speed);
2535
+ ySpeed = this.speedConvert(args.speed);
2463
2536
  } else {
2464
- xSpeed = args.speed.x;
2465
- ySpeed = args.speed.y;
2537
+ xSpeed = this.speedConvert(args.speed.x);
2538
+ ySpeed = this.speedConvert(args.speed.y);
2466
2539
  }
2467
2540
  }
2468
- xSpeed /= 60;
2469
- ySpeed /= 60;
2470
2541
  let destination = args.destination;
2471
2542
  let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
2472
2543
  if (typeof tagToRemoveAfter2 === "string") {
@@ -2506,7 +2577,10 @@ var MoveTicker = class extends TickerBase {
2506
2577
  }
2507
2578
  });
2508
2579
  if (args.speedProgression)
2509
- updateTickerProgression(args, "speed", args.speedProgression);
2580
+ updateTickerProgression(args, "speed", args.speedProgression, this.speedConvert);
2581
+ }
2582
+ speedConvert(speed) {
2583
+ return speed / 6;
2510
2584
  }
2511
2585
  };
2512
2586
  MoveTicker = __decorateClass([
@@ -2514,7 +2588,7 @@ MoveTicker = __decorateClass([
2514
2588
  ], MoveTicker);
2515
2589
  var RotateTicker = class extends TickerBase {
2516
2590
  fn(ticker, args, tags, tickerId) {
2517
- let speed = (args.speed === void 0 ? 1 : args.speed) / 60;
2591
+ let speed = this.speedConvert(args.speed === void 0 ? 1 : args.speed);
2518
2592
  let clockwise = args.clockwise === void 0 ? true : args.clockwise;
2519
2593
  let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
2520
2594
  if (typeof tagToRemoveAfter2 === "string") {
@@ -2542,7 +2616,10 @@ var RotateTicker = class extends TickerBase {
2542
2616
  }
2543
2617
  });
2544
2618
  if (args.speedProgression)
2545
- updateTickerProgression(args, "speed", args.speedProgression);
2619
+ updateTickerProgression(args, "speed", args.speedProgression, this.speedConvert);
2620
+ }
2621
+ speedConvert(speed) {
2622
+ return speed / 60;
2546
2623
  }
2547
2624
  };
2548
2625
  RotateTicker = __decorateClass([
@@ -2554,15 +2631,13 @@ var ZoomTicker = class extends TickerBase {
2554
2631
  let ySpeed = 0.1;
2555
2632
  if (args.speed) {
2556
2633
  if (typeof args.speed === "number") {
2557
- xSpeed = args.speed;
2558
- ySpeed = args.speed;
2634
+ xSpeed = this.speedConvert(args.speed);
2635
+ ySpeed = this.speedConvert(args.speed);
2559
2636
  } else {
2560
- xSpeed = args.speed.x;
2561
- ySpeed = args.speed.y;
2637
+ xSpeed = this.speedConvert(args.speed.x);
2638
+ ySpeed = this.speedConvert(args.speed.y);
2562
2639
  }
2563
2640
  }
2564
- xSpeed /= 60;
2565
- ySpeed /= 60;
2566
2641
  let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
2567
2642
  if (typeof tagToRemoveAfter2 === "string") {
2568
2643
  tagToRemoveAfter2 = [tagToRemoveAfter2];
@@ -2629,7 +2704,10 @@ var ZoomTicker = class extends TickerBase {
2629
2704
  }
2630
2705
  });
2631
2706
  if (args.speedProgression)
2632
- updateTickerProgression(args, "speed", args.speedProgression);
2707
+ updateTickerProgression(args, "speed", args.speedProgression, this.speedConvert);
2708
+ }
2709
+ speedConvert(speed) {
2710
+ return speed / 60;
2633
2711
  }
2634
2712
  onEndOfTicker(tag, tickerId, _element, tagToRemoveAfter2) {
2635
2713
  GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
@@ -2827,14 +2905,14 @@ function zoomIn(_0, _1) {
2827
2905
  } else {
2828
2906
  canvasElement = image;
2829
2907
  }
2830
- if (canvasElement instanceof CanvasImage && ((_a = canvasElement.texture) == null ? void 0 : _a.label) == "EMPTY") {
2831
- yield canvasElement.load();
2832
- }
2833
2908
  let container = new CanvasContainer();
2834
2909
  container.addChild(canvasElement);
2835
2910
  container.height = GameWindowManager.canvasHeight;
2836
2911
  container.width = GameWindowManager.canvasWidth;
2837
2912
  GameWindowManager.addCanvasElement(tag, container);
2913
+ if (canvasElement instanceof CanvasImage && ((_a = canvasElement.texture) == null ? void 0 : _a.label) == "EMPTY") {
2914
+ yield canvasElement.load();
2915
+ }
2838
2916
  if (props.direction == "up") {
2839
2917
  container.pivot.y = GameWindowManager.canvasHeight;
2840
2918
  container.pivot.x = GameWindowManager.canvasWidth / 2;
@@ -2922,13 +3000,17 @@ function getSaveJson() {
2922
3000
  return JSON.stringify(saveData);
2923
3001
  }
2924
3002
  function loadSaveData(data, navigate) {
2925
- GameStepManager.import(data.stepData);
2926
- GameStorageManager.import(data.storageData);
2927
- GameWindowManager.import(data.canvasData);
2928
- navigate(data.path);
3003
+ return __async(this, null, function* () {
3004
+ yield GameStepManager.import(data.stepData);
3005
+ GameStorageManager.import(data.storageData);
3006
+ GameWindowManager.import(data.canvasData);
3007
+ navigate(data.path);
3008
+ });
2929
3009
  }
2930
3010
  function loadSaveJson(dataString, navigate) {
2931
- loadSaveData(jsonToSaveData(dataString), navigate);
3011
+ return __async(this, null, function* () {
3012
+ yield loadSaveData(jsonToSaveData(dataString), navigate);
3013
+ });
2932
3014
  }
2933
3015
  function jsonToSaveData(json) {
2934
3016
  return JSON.parse(json);