@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
@@ -69,14 +69,15 @@ var Label = class {
69
69
  /**
70
70
  * @param id is the id of the label
71
71
  * @param steps is the list of steps that the label will perform
72
- * @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
73
- * @param choiseIndex is the index of the choice that the label will perform
72
+ * @param props is the properties of the label
74
73
  */
75
- constructor(id, steps, onStepRun, choiseIndex) {
74
+ constructor(id, steps, props) {
76
75
  this._id = id;
77
76
  this._steps = steps;
78
- this._onStepRun = onStepRun;
79
- this._choiseIndex = choiseIndex;
77
+ this._onStepStart = props == null ? void 0 : props.onStepStart;
78
+ this._onLoadStep = props == null ? void 0 : props.onLoadStep;
79
+ this._onStepEnd = props == null ? void 0 : props.onStepEnd;
80
+ this._choiseIndex = props == null ? void 0 : props.choiseIndex;
80
81
  }
81
82
  /**
82
83
  * Get the id of the label. This variable is used in the system to get the label by id, {@link getLabelById}
@@ -113,18 +114,32 @@ var Label = class {
113
114
  return res;
114
115
  }
115
116
  /**
116
- * 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
117
+ * 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.
118
+ * @returns Promise<void> or void
119
+ */
120
+ get onStepStart() {
121
+ return (stepIndex, label) => __async(this, null, function* () {
122
+ if (this._onLoadStep) {
123
+ yield this._onLoadStep(stepIndex, label);
124
+ }
125
+ if (this._onStepStart) {
126
+ return yield this._onStepStart(stepIndex, label);
127
+ }
128
+ });
129
+ }
130
+ /**
131
+ * 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.
117
132
  * @returns Promise<void> or void
118
- * @example
119
- * ```typescript
120
- * newLabel("id", [], () => {
121
- * Assets.load('path/to/image1.png')
122
- * Assets.load('path/to/image2.png')
123
- * })
124
- * ```
125
133
  */
126
- get onStepRun() {
127
- return this._onStepRun;
134
+ get onLoadStep() {
135
+ return this._onLoadStep;
136
+ }
137
+ /**
138
+ * Is a function that will be executed when the step ends.
139
+ * @returns Promise<void> or void
140
+ */
141
+ get onStepEnd() {
142
+ return this._onStepEnd;
128
143
  }
129
144
  get choiseIndex() {
130
145
  return this._choiseIndex;
@@ -134,7 +149,9 @@ var Label = class {
134
149
  // src/classes/CloseLabel.ts
135
150
  var CLOSE_LABEL_ID = "__close-label-id__";
136
151
  function newCloseLabel(choiseIndex) {
137
- return new Label(CLOSE_LABEL_ID, [], void 0, choiseIndex);
152
+ return new Label(CLOSE_LABEL_ID, [], {
153
+ choiseIndex
154
+ });
138
155
  }
139
156
 
140
157
  // src/decorators/LabelDecorator.ts
@@ -594,8 +611,6 @@ function getMemoryContainer(element) {
594
611
  };
595
612
  }
596
613
  function setMemoryContainer(element, memory) {
597
- memory.width && (element.width = memory.width);
598
- memory.height && (element.height = memory.height);
599
614
  memory.isRenderGroup && (element.isRenderGroup = memory.isRenderGroup);
600
615
  memory.blendMode && (element.blendMode = memory.blendMode);
601
616
  memory.tint && (element.tint = memory.tint);
@@ -628,6 +643,8 @@ function setMemoryContainer(element, memory) {
628
643
  memory.interactive && (element.interactive = memory.interactive);
629
644
  memory.interactiveChildren && (element.interactiveChildren = memory.interactiveChildren);
630
645
  memory.hitArea && (element.hitArea = memory.hitArea);
646
+ memory.width && (element.width = memory.width);
647
+ memory.height && (element.height = memory.height);
631
648
  }
632
649
 
633
650
  // src/decorators/TickerDecorator.ts
@@ -738,8 +755,9 @@ FadeAlphaTicker = __decorateClass([
738
755
  ], FadeAlphaTicker);
739
756
 
740
757
  // src/functions/TickerUtility.ts
741
- function updateTickerProgression(args, propertyName, progression) {
742
- if (args[propertyName] === void 0 || !progression || args[propertyName] === progression.limit) {
758
+ function updateTickerProgression(args, propertyName, progression, valueConvert) {
759
+ let limit = valueConvert && progression.limit ? valueConvert(progression.limit) : progression.limit;
760
+ if (args[propertyName] === void 0 || !progression || args[propertyName] === limit) {
743
761
  return;
744
762
  }
745
763
  if (typeof args[propertyName] === "number") {
@@ -758,22 +776,25 @@ function updateTickerProgression(args, propertyName, progression) {
758
776
  }
759
777
  }
760
778
  }
761
- function getLinearProgression(number, progression) {
762
- if (progression.limit !== void 0) {
763
- if (number > progression.limit && progression.amt > 0) {
764
- return progression.limit;
765
- } else if (number < progression.limit && progression.amt < 0) {
766
- return progression.limit;
779
+ function getLinearProgression(number, progression, valueConvert) {
780
+ let limit = valueConvert && progression.limit ? valueConvert(progression.limit) : progression.limit;
781
+ let amt = valueConvert ? valueConvert(progression.amt) : progression.amt;
782
+ if (limit !== void 0) {
783
+ if (number > limit && amt > 0) {
784
+ return limit;
785
+ } else if (number < limit && amt < 0) {
786
+ return limit;
767
787
  }
768
788
  }
769
- return number + progression.amt / 60;
789
+ return number + amt;
770
790
  }
771
- function getExponentialProgression(number, progression) {
772
- if (progression.limit !== void 0) {
773
- if (number > progression.limit && progression.percentage > 0) {
774
- return progression.limit;
775
- } else if (number < progression.limit && progression.percentage < 0) {
776
- return progression.limit;
791
+ function getExponentialProgression(number, progression, valueConvert) {
792
+ let limit = valueConvert && progression.limit ? valueConvert(progression.limit) : progression.limit;
793
+ if (limit !== void 0) {
794
+ if (number > limit && progression.percentage > 0) {
795
+ return limit;
796
+ } else if (number < limit && progression.percentage < 0) {
797
+ return limit;
777
798
  }
778
799
  }
779
800
  return number + number * progression.percentage;
@@ -786,15 +807,13 @@ var MoveTicker = class extends TickerBase {
786
807
  let ySpeed = 1;
787
808
  if (args.speed) {
788
809
  if (typeof args.speed === "number") {
789
- xSpeed = args.speed;
790
- ySpeed = args.speed;
810
+ xSpeed = this.speedConvert(args.speed);
811
+ ySpeed = this.speedConvert(args.speed);
791
812
  } else {
792
- xSpeed = args.speed.x;
793
- ySpeed = args.speed.y;
813
+ xSpeed = this.speedConvert(args.speed.x);
814
+ ySpeed = this.speedConvert(args.speed.y);
794
815
  }
795
816
  }
796
- xSpeed /= 60;
797
- ySpeed /= 60;
798
817
  let destination = args.destination;
799
818
  let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
800
819
  if (typeof tagToRemoveAfter2 === "string") {
@@ -834,7 +853,10 @@ var MoveTicker = class extends TickerBase {
834
853
  }
835
854
  });
836
855
  if (args.speedProgression)
837
- updateTickerProgression(args, "speed", args.speedProgression);
856
+ updateTickerProgression(args, "speed", args.speedProgression, this.speedConvert);
857
+ }
858
+ speedConvert(speed) {
859
+ return speed / 6;
838
860
  }
839
861
  };
840
862
  MoveTicker = __decorateClass([
@@ -842,7 +864,7 @@ MoveTicker = __decorateClass([
842
864
  ], MoveTicker);
843
865
  var RotateTicker = class extends TickerBase {
844
866
  fn(ticker, args, tags, tickerId) {
845
- let speed = (args.speed === void 0 ? 1 : args.speed) / 60;
867
+ let speed = this.speedConvert(args.speed === void 0 ? 1 : args.speed);
846
868
  let clockwise = args.clockwise === void 0 ? true : args.clockwise;
847
869
  let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
848
870
  if (typeof tagToRemoveAfter2 === "string") {
@@ -870,7 +892,10 @@ var RotateTicker = class extends TickerBase {
870
892
  }
871
893
  });
872
894
  if (args.speedProgression)
873
- updateTickerProgression(args, "speed", args.speedProgression);
895
+ updateTickerProgression(args, "speed", args.speedProgression, this.speedConvert);
896
+ }
897
+ speedConvert(speed) {
898
+ return speed / 60;
874
899
  }
875
900
  };
876
901
  RotateTicker = __decorateClass([
@@ -882,15 +907,13 @@ var ZoomTicker = class extends TickerBase {
882
907
  let ySpeed = 0.1;
883
908
  if (args.speed) {
884
909
  if (typeof args.speed === "number") {
885
- xSpeed = args.speed;
886
- ySpeed = args.speed;
910
+ xSpeed = this.speedConvert(args.speed);
911
+ ySpeed = this.speedConvert(args.speed);
887
912
  } else {
888
- xSpeed = args.speed.x;
889
- ySpeed = args.speed.y;
913
+ xSpeed = this.speedConvert(args.speed.x);
914
+ ySpeed = this.speedConvert(args.speed.y);
890
915
  }
891
916
  }
892
- xSpeed /= 60;
893
- ySpeed /= 60;
894
917
  let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
895
918
  if (typeof tagToRemoveAfter2 === "string") {
896
919
  tagToRemoveAfter2 = [tagToRemoveAfter2];
@@ -957,7 +980,10 @@ var ZoomTicker = class extends TickerBase {
957
980
  }
958
981
  });
959
982
  if (args.speedProgression)
960
- updateTickerProgression(args, "speed", args.speedProgression);
983
+ updateTickerProgression(args, "speed", args.speedProgression, this.speedConvert);
984
+ }
985
+ speedConvert(speed) {
986
+ return speed / 60;
961
987
  }
962
988
  onEndOfTicker(tag, tickerId, _element, tagToRemoveAfter2) {
963
989
  GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
@@ -1919,6 +1945,16 @@ var _GameStepManager = class _GameStepManager {
1919
1945
  static set originalStepData(value) {
1920
1946
  _GameStepManager._originalStepData = createExportableElement(value);
1921
1947
  }
1948
+ static get currentStepData() {
1949
+ let currentStepData = {
1950
+ path: window.location.pathname,
1951
+ storage: GameStorageManager.export(),
1952
+ canvas: GameWindowManager.export(),
1953
+ labelIndex: _GameStepManager.currentLabelStepIndex || 0,
1954
+ openedLabels: createExportableElement(_GameStepManager._openedLabels)
1955
+ };
1956
+ return currentStepData;
1957
+ }
1922
1958
  /* Edit History Methods */
1923
1959
  /**
1924
1960
  * Add a label to the history.
@@ -1926,19 +1962,13 @@ var _GameStepManager = class _GameStepManager {
1926
1962
  */
1927
1963
  static addStepHistory(step, choiseMade) {
1928
1964
  let stepHistory = getStepSha1(step);
1929
- let historyStep = {
1930
- path: window.location.pathname,
1931
- storage: GameStorageManager.export(),
1932
- canvas: GameWindowManager.export(),
1933
- labelIndex: _GameStepManager.currentLabelStepIndex || 0,
1934
- openedLabels: createExportableElement(_GameStepManager._openedLabels)
1935
- };
1965
+ let currentStepData = _GameStepManager.currentStepData;
1936
1966
  if (_GameStepManager.originalStepData) {
1937
- if (_GameStepManager.originalStepData.openedLabels.length === historyStep.openedLabels.length) {
1967
+ if (_GameStepManager.originalStepData.openedLabels.length === currentStepData.openedLabels.length) {
1938
1968
  try {
1939
1969
  let lastStepDataOpenedLabelsString = JSON.stringify(_GameStepManager.originalStepData.openedLabels);
1940
- let historyStepOpenedLabelsString = JSON.stringify(historyStep.openedLabels);
1941
- if (lastStepDataOpenedLabelsString === historyStepOpenedLabelsString && _GameStepManager.originalStepData.path === historyStep.path && _GameStepManager.originalStepData.labelIndex === historyStep.labelIndex) {
1970
+ let historyStepOpenedLabelsString = JSON.stringify(currentStepData.openedLabels);
1971
+ if (lastStepDataOpenedLabelsString === historyStepOpenedLabelsString && _GameStepManager.originalStepData.path === currentStepData.path && _GameStepManager.originalStepData.labelIndex === currentStepData.labelIndex) {
1942
1972
  return;
1943
1973
  }
1944
1974
  } catch (e) {
@@ -1946,7 +1976,7 @@ var _GameStepManager = class _GameStepManager {
1946
1976
  }
1947
1977
  }
1948
1978
  }
1949
- let data = deepDiff.diff(_GameStepManager.originalStepData, historyStep);
1979
+ let data = deepDiff.diff(_GameStepManager.originalStepData, currentStepData);
1950
1980
  if (data) {
1951
1981
  let dialoge = void 0;
1952
1982
  let requiredChoices = void 0;
@@ -1965,7 +1995,7 @@ var _GameStepManager = class _GameStepManager {
1965
1995
  index: _GameStepManager.lastStepIndex,
1966
1996
  choiceIndexMade: choiseMade
1967
1997
  });
1968
- _GameStepManager.originalStepData = historyStep;
1998
+ _GameStepManager.originalStepData = currentStepData;
1969
1999
  }
1970
2000
  _GameStepManager.increaseLastStepIndex();
1971
2001
  }
@@ -2056,6 +2086,9 @@ var _GameStepManager = class _GameStepManager {
2056
2086
  console.warn("[Pixi'VN] The player must make a choice");
2057
2087
  return;
2058
2088
  }
2089
+ if (_GameStepManager.currentLabel && _GameStepManager.currentLabel.onStepEnd) {
2090
+ yield _GameStepManager.currentLabel.onStepEnd(_GameStepManager.currentLabelStepIndex || 0, _GameStepManager.currentLabel);
2091
+ }
2059
2092
  _GameStepManager.increaseCurrentStepIndex();
2060
2093
  return yield _GameStepManager.runCurrentStep(props, choiseMade);
2061
2094
  });
@@ -2080,6 +2113,10 @@ var _GameStepManager = class _GameStepManager {
2080
2113
  return;
2081
2114
  }
2082
2115
  if (currentLabel.steps.length > currentLabelStepIndex) {
2116
+ let onStepRun = currentLabel.onStepStart;
2117
+ if (onStepRun) {
2118
+ yield onStepRun(currentLabelStepIndex, currentLabel);
2119
+ }
2083
2120
  let step = currentLabel.steps[currentLabelStepIndex];
2084
2121
  let result = yield step(props);
2085
2122
  _GameStepManager.addStepHistory(step, choiseMade);
@@ -2144,6 +2181,9 @@ var _GameStepManager = class _GameStepManager {
2144
2181
  if (!tempLabel) {
2145
2182
  throw new Error(`[Pixi'VN] Label ${labelId} not found`);
2146
2183
  }
2184
+ if (_GameStepManager.currentLabel && _GameStepManager.currentLabel.onStepEnd) {
2185
+ yield _GameStepManager.currentLabel.onStepEnd(_GameStepManager.currentLabelStepIndex || 0, _GameStepManager.currentLabel);
2186
+ }
2147
2187
  _GameStepManager.pushNewLabel(tempLabel.id);
2148
2188
  } catch (e) {
2149
2189
  console.error("[Pixi'VN] Error calling label", e);
@@ -2202,6 +2242,9 @@ var _GameStepManager = class _GameStepManager {
2202
2242
  if (!tempLabel) {
2203
2243
  throw new Error(`[Pixi'VN] Label ${labelId} not found`);
2204
2244
  }
2245
+ if (_GameStepManager.currentLabel && _GameStepManager.currentLabel.onStepEnd) {
2246
+ yield _GameStepManager.currentLabel.onStepEnd(_GameStepManager.currentLabelStepIndex || 0, _GameStepManager.currentLabel);
2247
+ }
2205
2248
  _GameStepManager.pushNewLabel(tempLabel.id);
2206
2249
  } catch (e) {
2207
2250
  console.error("[Pixi'VN] Error jumping label", e);
@@ -2307,24 +2350,29 @@ var _GameStepManager = class _GameStepManager {
2307
2350
  * ```
2308
2351
  */
2309
2352
  static goBack(navigate, steps = 1) {
2310
- if (steps <= 0) {
2311
- console.warn("[Pixi'VN] Steps must be greater than 0");
2312
- return;
2313
- }
2314
- if (_GameStepManager._stepsHistory.length <= 1) {
2315
- console.warn("[Pixi'VN] No steps to go back");
2316
- return;
2317
- }
2318
- let restoredStep = _GameStepManager.goBackInternal(steps, _GameStepManager.originalStepData);
2319
- if (restoredStep) {
2320
- _GameStepManager._originalStepData = restoredStep;
2321
- _GameStepManager._openedLabels = createExportableElement(restoredStep.openedLabels);
2322
- GameStorageManager.import(createExportableElement(restoredStep.storage));
2323
- GameWindowManager.import(createExportableElement(restoredStep.canvas));
2324
- navigate(restoredStep.path);
2325
- } else {
2326
- console.error("[Pixi'VN] Error going back");
2327
- }
2353
+ return __async(this, null, function* () {
2354
+ if (steps <= 0) {
2355
+ console.warn("[Pixi'VN] Steps must be greater than 0");
2356
+ return;
2357
+ }
2358
+ if (_GameStepManager._stepsHistory.length <= 1) {
2359
+ console.warn("[Pixi'VN] No steps to go back");
2360
+ return;
2361
+ }
2362
+ let restoredStep = _GameStepManager.goBackInternal(steps, _GameStepManager.originalStepData);
2363
+ if (restoredStep) {
2364
+ _GameStepManager._originalStepData = restoredStep;
2365
+ _GameStepManager._openedLabels = createExportableElement(restoredStep.openedLabels);
2366
+ if (_GameStepManager.currentLabel && _GameStepManager.currentLabel.onLoadStep) {
2367
+ yield _GameStepManager.currentLabel.onLoadStep(_GameStepManager.currentLabelStepIndex || 0, _GameStepManager.currentLabel);
2368
+ }
2369
+ GameStorageManager.import(createExportableElement(restoredStep.storage));
2370
+ GameWindowManager.import(createExportableElement(restoredStep.canvas));
2371
+ navigate(restoredStep.path);
2372
+ } else {
2373
+ console.error("[Pixi'VN] Error going back");
2374
+ }
2375
+ });
2328
2376
  }
2329
2377
  static goBackInternal(steps, restoredStep) {
2330
2378
  if (steps <= 0) {
@@ -2386,38 +2434,45 @@ var _GameStepManager = class _GameStepManager {
2386
2434
  * @param dataString The history in a JSON string.
2387
2435
  */
2388
2436
  static importJson(dataString) {
2389
- _GameStepManager.import(JSON.parse(dataString));
2437
+ return __async(this, null, function* () {
2438
+ yield _GameStepManager.import(JSON.parse(dataString));
2439
+ });
2390
2440
  }
2391
2441
  /**
2392
2442
  * Import the history from an object.
2393
2443
  * @param data The history in an object.
2394
2444
  */
2395
2445
  static import(data) {
2396
- _GameStepManager.clear();
2397
- try {
2398
- if (data.hasOwnProperty("stepsHistory")) {
2399
- _GameStepManager._stepsHistory = data["stepsHistory"];
2400
- } else {
2401
- console.warn("[Pixi'VN] Could not import stepsHistory data, so will be ignored");
2402
- }
2403
- if (data.hasOwnProperty("openedLabels")) {
2404
- _GameStepManager._openedLabels = data["openedLabels"];
2405
- } else {
2406
- console.warn("[Pixi'VN] Could not import openedLabels data, so will be ignored");
2407
- }
2408
- if (data.hasOwnProperty("lastStepIndex")) {
2409
- _GameStepManager._lastStepIndex = data["lastStepIndex"];
2410
- } else {
2411
- console.warn("[Pixi'VN] Could not import lastStepIndex data, so will be ignored");
2412
- }
2413
- if (data.hasOwnProperty("originalStepData")) {
2414
- _GameStepManager._originalStepData = data["originalStepData"];
2415
- } else {
2416
- console.warn("[Pixi'VN] Could not import originalStepData data, so will be ignored");
2446
+ return __async(this, null, function* () {
2447
+ _GameStepManager.clear();
2448
+ try {
2449
+ if (data.hasOwnProperty("stepsHistory")) {
2450
+ _GameStepManager._stepsHistory = data["stepsHistory"];
2451
+ } else {
2452
+ console.warn("[Pixi'VN] Could not import stepsHistory data, so will be ignored");
2453
+ }
2454
+ if (data.hasOwnProperty("openedLabels")) {
2455
+ _GameStepManager._openedLabels = data["openedLabels"];
2456
+ } else {
2457
+ console.warn("[Pixi'VN] Could not import openedLabels data, so will be ignored");
2458
+ }
2459
+ if (data.hasOwnProperty("lastStepIndex")) {
2460
+ _GameStepManager._lastStepIndex = data["lastStepIndex"];
2461
+ } else {
2462
+ console.warn("[Pixi'VN] Could not import lastStepIndex data, so will be ignored");
2463
+ }
2464
+ if (data.hasOwnProperty("originalStepData")) {
2465
+ _GameStepManager._originalStepData = data["originalStepData"];
2466
+ } else {
2467
+ console.warn("[Pixi'VN] Could not import originalStepData data, so will be ignored");
2468
+ }
2469
+ if (_GameStepManager.currentLabel && _GameStepManager.currentLabel.onLoadStep) {
2470
+ yield _GameStepManager.currentLabel.onLoadStep(_GameStepManager.currentLabelStepIndex || 0, _GameStepManager.currentLabel);
2471
+ }
2472
+ } catch (e) {
2473
+ console.error("[Pixi'VN] Error importing data", e);
2417
2474
  }
2418
- } catch (e) {
2419
- console.error("[Pixi'VN] Error importing data", e);
2420
- }
2475
+ });
2421
2476
  }
2422
2477
  };
2423
2478
  /**
@@ -2448,7 +2503,27 @@ var ChoiceMenuOptionClose = class {
2448
2503
  */
2449
2504
  this.type = Close;
2450
2505
  /**
2451
- * Properties to be passed to the label
2506
+ * Properties to be passed to the label and olther parameters that you can use when get all the choice menu options.
2507
+ * @example
2508
+ * ```tsx
2509
+ * setChoiceMenuOptions([
2510
+ * new ChoiceMenuOption("Hello", helloLabel, { disabled: true }),
2511
+ * ])
2512
+ * return <List>
2513
+ * {getChoiceMenuOptions()?.map((item, index) => {
2514
+ * return (
2515
+ * <ChoiceButton
2516
+ * disabled={item.props.disabled}
2517
+ * onClick={() => {
2518
+ * afterSelectChoice(item)
2519
+ * }}
2520
+ * >
2521
+ * {item.text}
2522
+ * </ChoiceButton>
2523
+ * )
2524
+ * })}
2525
+ * </List>
2526
+ * ```
2452
2527
  */
2453
2528
  this.props = {};
2454
2529
  this.text = text;
@@ -2566,7 +2641,10 @@ function getChoiceMenuOptions() {
2566
2641
  }
2567
2642
  let label = getLabelById(option.label);
2568
2643
  if (label) {
2569
- let itemLabel = new Label(label.id, label.steps, label.onStepRun, index);
2644
+ let itemLabel = new Label(label.id, label.steps, {
2645
+ onStepStart: label.onStepStart,
2646
+ choiseIndex: index
2647
+ });
2570
2648
  options.push(__spreadProps(__spreadValues({}, option), {
2571
2649
  label: itemLabel
2572
2650
  }));