@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/decorators/LabelDecorator.ts
@@ -588,8 +605,6 @@ function getMemoryContainer(element) {
588
605
  };
589
606
  }
590
607
  function setMemoryContainer(element, memory) {
591
- memory.width && (element.width = memory.width);
592
- memory.height && (element.height = memory.height);
593
608
  memory.isRenderGroup && (element.isRenderGroup = memory.isRenderGroup);
594
609
  memory.blendMode && (element.blendMode = memory.blendMode);
595
610
  memory.tint && (element.tint = memory.tint);
@@ -622,6 +637,8 @@ function setMemoryContainer(element, memory) {
622
637
  memory.interactive && (element.interactive = memory.interactive);
623
638
  memory.interactiveChildren && (element.interactiveChildren = memory.interactiveChildren);
624
639
  memory.hitArea && (element.hitArea = memory.hitArea);
640
+ memory.width && (element.width = memory.width);
641
+ memory.height && (element.height = memory.height);
625
642
  }
626
643
 
627
644
  // src/decorators/TickerDecorator.ts
@@ -732,8 +749,9 @@ FadeAlphaTicker = __decorateClass([
732
749
  ], FadeAlphaTicker);
733
750
 
734
751
  // src/functions/TickerUtility.ts
735
- function updateTickerProgression(args, propertyName, progression) {
736
- if (args[propertyName] === void 0 || !progression || args[propertyName] === progression.limit) {
752
+ function updateTickerProgression(args, propertyName, progression, valueConvert) {
753
+ let limit = valueConvert && progression.limit ? valueConvert(progression.limit) : progression.limit;
754
+ if (args[propertyName] === void 0 || !progression || args[propertyName] === limit) {
737
755
  return;
738
756
  }
739
757
  if (typeof args[propertyName] === "number") {
@@ -752,22 +770,25 @@ function updateTickerProgression(args, propertyName, progression) {
752
770
  }
753
771
  }
754
772
  }
755
- function getLinearProgression(number, progression) {
756
- if (progression.limit !== void 0) {
757
- if (number > progression.limit && progression.amt > 0) {
758
- return progression.limit;
759
- } else if (number < progression.limit && progression.amt < 0) {
760
- return progression.limit;
773
+ function getLinearProgression(number, progression, valueConvert) {
774
+ let limit = valueConvert && progression.limit ? valueConvert(progression.limit) : progression.limit;
775
+ let amt = valueConvert ? valueConvert(progression.amt) : progression.amt;
776
+ if (limit !== void 0) {
777
+ if (number > limit && amt > 0) {
778
+ return limit;
779
+ } else if (number < limit && amt < 0) {
780
+ return limit;
761
781
  }
762
782
  }
763
- return number + progression.amt / 60;
783
+ return number + amt;
764
784
  }
765
- function getExponentialProgression(number, progression) {
766
- if (progression.limit !== void 0) {
767
- if (number > progression.limit && progression.percentage > 0) {
768
- return progression.limit;
769
- } else if (number < progression.limit && progression.percentage < 0) {
770
- return progression.limit;
785
+ function getExponentialProgression(number, progression, valueConvert) {
786
+ let limit = valueConvert && progression.limit ? valueConvert(progression.limit) : progression.limit;
787
+ if (limit !== void 0) {
788
+ if (number > limit && progression.percentage > 0) {
789
+ return limit;
790
+ } else if (number < limit && progression.percentage < 0) {
791
+ return limit;
771
792
  }
772
793
  }
773
794
  return number + number * progression.percentage;
@@ -780,15 +801,13 @@ var MoveTicker = class extends TickerBase {
780
801
  let ySpeed = 1;
781
802
  if (args.speed) {
782
803
  if (typeof args.speed === "number") {
783
- xSpeed = args.speed;
784
- ySpeed = args.speed;
804
+ xSpeed = this.speedConvert(args.speed);
805
+ ySpeed = this.speedConvert(args.speed);
785
806
  } else {
786
- xSpeed = args.speed.x;
787
- ySpeed = args.speed.y;
807
+ xSpeed = this.speedConvert(args.speed.x);
808
+ ySpeed = this.speedConvert(args.speed.y);
788
809
  }
789
810
  }
790
- xSpeed /= 60;
791
- ySpeed /= 60;
792
811
  let destination = args.destination;
793
812
  let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
794
813
  if (typeof tagToRemoveAfter2 === "string") {
@@ -828,7 +847,10 @@ var MoveTicker = class extends TickerBase {
828
847
  }
829
848
  });
830
849
  if (args.speedProgression)
831
- updateTickerProgression(args, "speed", args.speedProgression);
850
+ updateTickerProgression(args, "speed", args.speedProgression, this.speedConvert);
851
+ }
852
+ speedConvert(speed) {
853
+ return speed / 6;
832
854
  }
833
855
  };
834
856
  MoveTicker = __decorateClass([
@@ -836,7 +858,7 @@ MoveTicker = __decorateClass([
836
858
  ], MoveTicker);
837
859
  var RotateTicker = class extends TickerBase {
838
860
  fn(ticker, args, tags, tickerId) {
839
- let speed = (args.speed === void 0 ? 1 : args.speed) / 60;
861
+ let speed = this.speedConvert(args.speed === void 0 ? 1 : args.speed);
840
862
  let clockwise = args.clockwise === void 0 ? true : args.clockwise;
841
863
  let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
842
864
  if (typeof tagToRemoveAfter2 === "string") {
@@ -864,7 +886,10 @@ var RotateTicker = 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 / 60;
868
893
  }
869
894
  };
870
895
  RotateTicker = __decorateClass([
@@ -876,15 +901,13 @@ var ZoomTicker = class extends TickerBase {
876
901
  let ySpeed = 0.1;
877
902
  if (args.speed) {
878
903
  if (typeof args.speed === "number") {
879
- xSpeed = args.speed;
880
- ySpeed = args.speed;
904
+ xSpeed = this.speedConvert(args.speed);
905
+ ySpeed = this.speedConvert(args.speed);
881
906
  } else {
882
- xSpeed = args.speed.x;
883
- ySpeed = args.speed.y;
907
+ xSpeed = this.speedConvert(args.speed.x);
908
+ ySpeed = this.speedConvert(args.speed.y);
884
909
  }
885
910
  }
886
- xSpeed /= 60;
887
- ySpeed /= 60;
888
911
  let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
889
912
  if (typeof tagToRemoveAfter2 === "string") {
890
913
  tagToRemoveAfter2 = [tagToRemoveAfter2];
@@ -951,7 +974,10 @@ var ZoomTicker = class extends TickerBase {
951
974
  }
952
975
  });
953
976
  if (args.speedProgression)
954
- updateTickerProgression(args, "speed", args.speedProgression);
977
+ updateTickerProgression(args, "speed", args.speedProgression, this.speedConvert);
978
+ }
979
+ speedConvert(speed) {
980
+ return speed / 60;
955
981
  }
956
982
  onEndOfTicker(tag, tickerId, _element, tagToRemoveAfter2) {
957
983
  GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
@@ -1913,6 +1939,16 @@ var _GameStepManager = class _GameStepManager {
1913
1939
  static set originalStepData(value) {
1914
1940
  _GameStepManager._originalStepData = createExportableElement(value);
1915
1941
  }
1942
+ static get currentStepData() {
1943
+ let currentStepData = {
1944
+ path: window.location.pathname,
1945
+ storage: GameStorageManager.export(),
1946
+ canvas: GameWindowManager.export(),
1947
+ labelIndex: _GameStepManager.currentLabelStepIndex || 0,
1948
+ openedLabels: createExportableElement(_GameStepManager._openedLabels)
1949
+ };
1950
+ return currentStepData;
1951
+ }
1916
1952
  /* Edit History Methods */
1917
1953
  /**
1918
1954
  * Add a label to the history.
@@ -1920,19 +1956,13 @@ var _GameStepManager = class _GameStepManager {
1920
1956
  */
1921
1957
  static addStepHistory(step, choiseMade) {
1922
1958
  let stepHistory = getStepSha1(step);
1923
- let historyStep = {
1924
- path: window.location.pathname,
1925
- storage: GameStorageManager.export(),
1926
- canvas: GameWindowManager.export(),
1927
- labelIndex: _GameStepManager.currentLabelStepIndex || 0,
1928
- openedLabels: createExportableElement(_GameStepManager._openedLabels)
1929
- };
1959
+ let currentStepData = _GameStepManager.currentStepData;
1930
1960
  if (_GameStepManager.originalStepData) {
1931
- if (_GameStepManager.originalStepData.openedLabels.length === historyStep.openedLabels.length) {
1961
+ if (_GameStepManager.originalStepData.openedLabels.length === currentStepData.openedLabels.length) {
1932
1962
  try {
1933
1963
  let lastStepDataOpenedLabelsString = JSON.stringify(_GameStepManager.originalStepData.openedLabels);
1934
- let historyStepOpenedLabelsString = JSON.stringify(historyStep.openedLabels);
1935
- if (lastStepDataOpenedLabelsString === historyStepOpenedLabelsString && _GameStepManager.originalStepData.path === historyStep.path && _GameStepManager.originalStepData.labelIndex === historyStep.labelIndex) {
1964
+ let historyStepOpenedLabelsString = JSON.stringify(currentStepData.openedLabels);
1965
+ if (lastStepDataOpenedLabelsString === historyStepOpenedLabelsString && _GameStepManager.originalStepData.path === currentStepData.path && _GameStepManager.originalStepData.labelIndex === currentStepData.labelIndex) {
1936
1966
  return;
1937
1967
  }
1938
1968
  } catch (e) {
@@ -1940,7 +1970,7 @@ var _GameStepManager = class _GameStepManager {
1940
1970
  }
1941
1971
  }
1942
1972
  }
1943
- let data = diff(_GameStepManager.originalStepData, historyStep);
1973
+ let data = diff(_GameStepManager.originalStepData, currentStepData);
1944
1974
  if (data) {
1945
1975
  let dialoge = void 0;
1946
1976
  let requiredChoices = void 0;
@@ -1959,7 +1989,7 @@ var _GameStepManager = class _GameStepManager {
1959
1989
  index: _GameStepManager.lastStepIndex,
1960
1990
  choiceIndexMade: choiseMade
1961
1991
  });
1962
- _GameStepManager.originalStepData = historyStep;
1992
+ _GameStepManager.originalStepData = currentStepData;
1963
1993
  }
1964
1994
  _GameStepManager.increaseLastStepIndex();
1965
1995
  }
@@ -2050,6 +2080,9 @@ var _GameStepManager = class _GameStepManager {
2050
2080
  console.warn("[Pixi'VN] The player must make a choice");
2051
2081
  return;
2052
2082
  }
2083
+ if (_GameStepManager.currentLabel && _GameStepManager.currentLabel.onStepEnd) {
2084
+ yield _GameStepManager.currentLabel.onStepEnd(_GameStepManager.currentLabelStepIndex || 0, _GameStepManager.currentLabel);
2085
+ }
2053
2086
  _GameStepManager.increaseCurrentStepIndex();
2054
2087
  return yield _GameStepManager.runCurrentStep(props, choiseMade);
2055
2088
  });
@@ -2074,6 +2107,10 @@ var _GameStepManager = class _GameStepManager {
2074
2107
  return;
2075
2108
  }
2076
2109
  if (currentLabel.steps.length > currentLabelStepIndex) {
2110
+ let onStepRun = currentLabel.onStepStart;
2111
+ if (onStepRun) {
2112
+ yield onStepRun(currentLabelStepIndex, currentLabel);
2113
+ }
2077
2114
  let step = currentLabel.steps[currentLabelStepIndex];
2078
2115
  let result = yield step(props);
2079
2116
  _GameStepManager.addStepHistory(step, choiseMade);
@@ -2138,6 +2175,9 @@ var _GameStepManager = class _GameStepManager {
2138
2175
  if (!tempLabel) {
2139
2176
  throw new Error(`[Pixi'VN] Label ${labelId} not found`);
2140
2177
  }
2178
+ if (_GameStepManager.currentLabel && _GameStepManager.currentLabel.onStepEnd) {
2179
+ yield _GameStepManager.currentLabel.onStepEnd(_GameStepManager.currentLabelStepIndex || 0, _GameStepManager.currentLabel);
2180
+ }
2141
2181
  _GameStepManager.pushNewLabel(tempLabel.id);
2142
2182
  } catch (e) {
2143
2183
  console.error("[Pixi'VN] Error calling label", e);
@@ -2196,6 +2236,9 @@ var _GameStepManager = class _GameStepManager {
2196
2236
  if (!tempLabel) {
2197
2237
  throw new Error(`[Pixi'VN] Label ${labelId} not found`);
2198
2238
  }
2239
+ if (_GameStepManager.currentLabel && _GameStepManager.currentLabel.onStepEnd) {
2240
+ yield _GameStepManager.currentLabel.onStepEnd(_GameStepManager.currentLabelStepIndex || 0, _GameStepManager.currentLabel);
2241
+ }
2199
2242
  _GameStepManager.pushNewLabel(tempLabel.id);
2200
2243
  } catch (e) {
2201
2244
  console.error("[Pixi'VN] Error jumping label", e);
@@ -2301,24 +2344,29 @@ var _GameStepManager = class _GameStepManager {
2301
2344
  * ```
2302
2345
  */
2303
2346
  static goBack(navigate, steps = 1) {
2304
- if (steps <= 0) {
2305
- console.warn("[Pixi'VN] Steps must be greater than 0");
2306
- return;
2307
- }
2308
- if (_GameStepManager._stepsHistory.length <= 1) {
2309
- console.warn("[Pixi'VN] No steps to go back");
2310
- return;
2311
- }
2312
- let restoredStep = _GameStepManager.goBackInternal(steps, _GameStepManager.originalStepData);
2313
- if (restoredStep) {
2314
- _GameStepManager._originalStepData = restoredStep;
2315
- _GameStepManager._openedLabels = createExportableElement(restoredStep.openedLabels);
2316
- GameStorageManager.import(createExportableElement(restoredStep.storage));
2317
- GameWindowManager.import(createExportableElement(restoredStep.canvas));
2318
- navigate(restoredStep.path);
2319
- } else {
2320
- console.error("[Pixi'VN] Error going back");
2321
- }
2347
+ return __async(this, null, function* () {
2348
+ if (steps <= 0) {
2349
+ console.warn("[Pixi'VN] Steps must be greater than 0");
2350
+ return;
2351
+ }
2352
+ if (_GameStepManager._stepsHistory.length <= 1) {
2353
+ console.warn("[Pixi'VN] No steps to go back");
2354
+ return;
2355
+ }
2356
+ let restoredStep = _GameStepManager.goBackInternal(steps, _GameStepManager.originalStepData);
2357
+ if (restoredStep) {
2358
+ _GameStepManager._originalStepData = restoredStep;
2359
+ _GameStepManager._openedLabels = createExportableElement(restoredStep.openedLabels);
2360
+ if (_GameStepManager.currentLabel && _GameStepManager.currentLabel.onLoadStep) {
2361
+ yield _GameStepManager.currentLabel.onLoadStep(_GameStepManager.currentLabelStepIndex || 0, _GameStepManager.currentLabel);
2362
+ }
2363
+ GameStorageManager.import(createExportableElement(restoredStep.storage));
2364
+ GameWindowManager.import(createExportableElement(restoredStep.canvas));
2365
+ navigate(restoredStep.path);
2366
+ } else {
2367
+ console.error("[Pixi'VN] Error going back");
2368
+ }
2369
+ });
2322
2370
  }
2323
2371
  static goBackInternal(steps, restoredStep) {
2324
2372
  if (steps <= 0) {
@@ -2380,38 +2428,45 @@ var _GameStepManager = class _GameStepManager {
2380
2428
  * @param dataString The history in a JSON string.
2381
2429
  */
2382
2430
  static importJson(dataString) {
2383
- _GameStepManager.import(JSON.parse(dataString));
2431
+ return __async(this, null, function* () {
2432
+ yield _GameStepManager.import(JSON.parse(dataString));
2433
+ });
2384
2434
  }
2385
2435
  /**
2386
2436
  * Import the history from an object.
2387
2437
  * @param data The history in an object.
2388
2438
  */
2389
2439
  static import(data) {
2390
- _GameStepManager.clear();
2391
- try {
2392
- if (data.hasOwnProperty("stepsHistory")) {
2393
- _GameStepManager._stepsHistory = data["stepsHistory"];
2394
- } else {
2395
- console.warn("[Pixi'VN] Could not import stepsHistory data, so will be ignored");
2396
- }
2397
- if (data.hasOwnProperty("openedLabels")) {
2398
- _GameStepManager._openedLabels = data["openedLabels"];
2399
- } else {
2400
- console.warn("[Pixi'VN] Could not import openedLabels data, so will be ignored");
2401
- }
2402
- if (data.hasOwnProperty("lastStepIndex")) {
2403
- _GameStepManager._lastStepIndex = data["lastStepIndex"];
2404
- } else {
2405
- console.warn("[Pixi'VN] Could not import lastStepIndex data, so will be ignored");
2406
- }
2407
- if (data.hasOwnProperty("originalStepData")) {
2408
- _GameStepManager._originalStepData = data["originalStepData"];
2409
- } else {
2410
- console.warn("[Pixi'VN] Could not import originalStepData data, so will be ignored");
2440
+ return __async(this, null, function* () {
2441
+ _GameStepManager.clear();
2442
+ try {
2443
+ if (data.hasOwnProperty("stepsHistory")) {
2444
+ _GameStepManager._stepsHistory = data["stepsHistory"];
2445
+ } else {
2446
+ console.warn("[Pixi'VN] Could not import stepsHistory data, so will be ignored");
2447
+ }
2448
+ if (data.hasOwnProperty("openedLabels")) {
2449
+ _GameStepManager._openedLabels = data["openedLabels"];
2450
+ } else {
2451
+ console.warn("[Pixi'VN] Could not import openedLabels data, so will be ignored");
2452
+ }
2453
+ if (data.hasOwnProperty("lastStepIndex")) {
2454
+ _GameStepManager._lastStepIndex = data["lastStepIndex"];
2455
+ } else {
2456
+ console.warn("[Pixi'VN] Could not import lastStepIndex data, so will be ignored");
2457
+ }
2458
+ if (data.hasOwnProperty("originalStepData")) {
2459
+ _GameStepManager._originalStepData = data["originalStepData"];
2460
+ } else {
2461
+ console.warn("[Pixi'VN] Could not import originalStepData data, so will be ignored");
2462
+ }
2463
+ if (_GameStepManager.currentLabel && _GameStepManager.currentLabel.onLoadStep) {
2464
+ yield _GameStepManager.currentLabel.onLoadStep(_GameStepManager.currentLabelStepIndex || 0, _GameStepManager.currentLabel);
2465
+ }
2466
+ } catch (e) {
2467
+ console.error("[Pixi'VN] Error importing data", e);
2411
2468
  }
2412
- } catch (e) {
2413
- console.error("[Pixi'VN] Error importing data", e);
2414
- }
2469
+ });
2415
2470
  }
2416
2471
  };
2417
2472
  /**
@@ -2442,7 +2497,27 @@ var ChoiceMenuOptionClose = class {
2442
2497
  */
2443
2498
  this.type = Close;
2444
2499
  /**
2445
- * Properties to be passed to the label
2500
+ * Properties to be passed to the label and olther parameters that you can use when get all the choice menu options.
2501
+ * @example
2502
+ * ```tsx
2503
+ * setChoiceMenuOptions([
2504
+ * new ChoiceMenuOption("Hello", helloLabel, { disabled: true }),
2505
+ * ])
2506
+ * return <List>
2507
+ * {getChoiceMenuOptions()?.map((item, index) => {
2508
+ * return (
2509
+ * <ChoiceButton
2510
+ * disabled={item.props.disabled}
2511
+ * onClick={() => {
2512
+ * afterSelectChoice(item)
2513
+ * }}
2514
+ * >
2515
+ * {item.text}
2516
+ * </ChoiceButton>
2517
+ * )
2518
+ * })}
2519
+ * </List>
2520
+ * ```
2446
2521
  */
2447
2522
  this.props = {};
2448
2523
  this.text = text;
@@ -2560,7 +2635,10 @@ function getChoiceMenuOptions() {
2560
2635
  }
2561
2636
  let label = getLabelById(option.label);
2562
2637
  if (label) {
2563
- let itemLabel = new Label(label.id, label.steps, label.onStepRun, index);
2638
+ let itemLabel = new Label(label.id, label.steps, {
2639
+ onStepStart: label.onStepStart,
2640
+ choiseIndex: index
2641
+ });
2564
2642
  options.push(__spreadProps(__spreadValues({}, option), {
2565
2643
  label: itemLabel
2566
2644
  }));