@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
@@ -1,4 +1,4 @@
1
- import { Texture, Sprite, Container, Application, Assets, Text } from 'pixi.js';
1
+ import { Texture, Sprite, Container, Assets, Application, Text } from 'pixi.js';
2
2
  import { diff } from 'deep-diff';
3
3
  import sha1 from 'crypto-js/sha1';
4
4
 
@@ -77,14 +77,15 @@ var Label = class {
77
77
  /**
78
78
  * @param id is the id of the label
79
79
  * @param steps is the list of steps that the label will perform
80
- * @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
81
- * @param choiseIndex is the index of the choice that the label will perform
80
+ * @param props is the properties of the label
82
81
  */
83
- constructor(id, steps, onStepRun, choiseIndex) {
82
+ constructor(id, steps, props) {
84
83
  this._id = id;
85
84
  this._steps = steps;
86
- this._onStepRun = onStepRun;
87
- this._choiseIndex = choiseIndex;
85
+ this._onStepStart = props == null ? void 0 : props.onStepStart;
86
+ this._onLoadStep = props == null ? void 0 : props.onLoadStep;
87
+ this._onStepEnd = props == null ? void 0 : props.onStepEnd;
88
+ this._choiseIndex = props == null ? void 0 : props.choiseIndex;
88
89
  }
89
90
  /**
90
91
  * Get the id of the label. This variable is used in the system to get the label by id, {@link getLabelById}
@@ -121,18 +122,32 @@ var Label = class {
121
122
  return res;
122
123
  }
123
124
  /**
124
- * 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
125
+ * 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.
125
126
  * @returns Promise<void> or void
126
- * @example
127
- * ```typescript
128
- * newLabel("id", [], () => {
129
- * Assets.load('path/to/image1.png')
130
- * Assets.load('path/to/image2.png')
131
- * })
132
- * ```
133
127
  */
134
- get onStepRun() {
135
- return this._onStepRun;
128
+ get onStepStart() {
129
+ return (stepIndex, label) => __async(this, null, function* () {
130
+ if (this._onLoadStep) {
131
+ yield this._onLoadStep(stepIndex, label);
132
+ }
133
+ if (this._onStepStart) {
134
+ return yield this._onStepStart(stepIndex, label);
135
+ }
136
+ });
137
+ }
138
+ /**
139
+ * 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.
140
+ * @returns Promise<void> or void
141
+ */
142
+ get onLoadStep() {
143
+ return this._onLoadStep;
144
+ }
145
+ /**
146
+ * Is a function that will be executed when the step ends.
147
+ * @returns Promise<void> or void
148
+ */
149
+ get onStepEnd() {
150
+ return this._onStepEnd;
136
151
  }
137
152
  get choiseIndex() {
138
153
  return this._choiseIndex;
@@ -142,16 +157,18 @@ var Label = class {
142
157
  // src/classes/CloseLabel.ts
143
158
  var CLOSE_LABEL_ID = "__close-label-id__";
144
159
  function newCloseLabel(choiseIndex) {
145
- return new Label(CLOSE_LABEL_ID, [], void 0, choiseIndex);
160
+ return new Label(CLOSE_LABEL_ID, [], {
161
+ choiseIndex
162
+ });
146
163
  }
147
164
 
148
165
  // src/decorators/LabelDecorator.ts
149
166
  var registeredLabels = {};
150
- function newLabel(id, steps, onStepRun) {
167
+ function newLabel(id, steps, props) {
151
168
  if (registeredLabels[id]) {
152
169
  console.info(`[Pixi'VN] Label ${id} already exists, it will be overwritten`);
153
170
  }
154
- let label = new Label(id, steps, onStepRun);
171
+ let label = new Label(id, steps, props);
155
172
  registeredLabels[id] = label;
156
173
  return label;
157
174
  }
@@ -240,8 +257,6 @@ function getMemoryContainer(element) {
240
257
  };
241
258
  }
242
259
  function setMemoryContainer(element, memory) {
243
- memory.width && (element.width = memory.width);
244
- memory.height && (element.height = memory.height);
245
260
  memory.isRenderGroup && (element.isRenderGroup = memory.isRenderGroup);
246
261
  memory.blendMode && (element.blendMode = memory.blendMode);
247
262
  memory.tint && (element.tint = memory.tint);
@@ -274,6 +289,8 @@ function setMemoryContainer(element, memory) {
274
289
  memory.interactive && (element.interactive = memory.interactive);
275
290
  memory.interactiveChildren && (element.interactiveChildren = memory.interactiveChildren);
276
291
  memory.hitArea && (element.hitArea = memory.hitArea);
292
+ memory.width && (element.width = memory.width);
293
+ memory.height && (element.height = memory.height);
277
294
  }
278
295
  function getTexture(imageUrl) {
279
296
  return __async(this, null, function* () {
@@ -747,7 +764,10 @@ function getChoiceMenuOptions() {
747
764
  }
748
765
  let label = getLabelById(option.label);
749
766
  if (label) {
750
- let itemLabel = new Label(label.id, label.steps, label.onStepRun, index);
767
+ let itemLabel = new Label(label.id, label.steps, {
768
+ onStepStart: label.onStepStart,
769
+ choiseIndex: index
770
+ });
751
771
  options.push(__spreadProps(__spreadValues({}, option), {
752
772
  label: itemLabel
753
773
  }));
@@ -838,8 +858,9 @@ FadeAlphaTicker = __decorateClass([
838
858
  ], FadeAlphaTicker);
839
859
 
840
860
  // src/functions/TickerUtility.ts
841
- function updateTickerProgression(args, propertyName, progression) {
842
- if (args[propertyName] === void 0 || !progression || args[propertyName] === progression.limit) {
861
+ function updateTickerProgression(args, propertyName, progression, valueConvert) {
862
+ let limit = valueConvert && progression.limit ? valueConvert(progression.limit) : progression.limit;
863
+ if (args[propertyName] === void 0 || !progression || args[propertyName] === limit) {
843
864
  return;
844
865
  }
845
866
  if (typeof args[propertyName] === "number") {
@@ -858,22 +879,25 @@ function updateTickerProgression(args, propertyName, progression) {
858
879
  }
859
880
  }
860
881
  }
861
- function getLinearProgression(number, progression) {
862
- if (progression.limit !== void 0) {
863
- if (number > progression.limit && progression.amt > 0) {
864
- return progression.limit;
865
- } else if (number < progression.limit && progression.amt < 0) {
866
- return progression.limit;
882
+ function getLinearProgression(number, progression, valueConvert) {
883
+ let limit = valueConvert && progression.limit ? valueConvert(progression.limit) : progression.limit;
884
+ let amt = valueConvert ? valueConvert(progression.amt) : progression.amt;
885
+ if (limit !== void 0) {
886
+ if (number > limit && amt > 0) {
887
+ return limit;
888
+ } else if (number < limit && amt < 0) {
889
+ return limit;
867
890
  }
868
891
  }
869
- return number + progression.amt / 60;
892
+ return number + amt;
870
893
  }
871
- function getExponentialProgression(number, progression) {
872
- if (progression.limit !== void 0) {
873
- if (number > progression.limit && progression.percentage > 0) {
874
- return progression.limit;
875
- } else if (number < progression.limit && progression.percentage < 0) {
876
- return progression.limit;
894
+ function getExponentialProgression(number, progression, valueConvert) {
895
+ let limit = valueConvert && progression.limit ? valueConvert(progression.limit) : progression.limit;
896
+ if (limit !== void 0) {
897
+ if (number > limit && progression.percentage > 0) {
898
+ return limit;
899
+ } else if (number < limit && progression.percentage < 0) {
900
+ return limit;
877
901
  }
878
902
  }
879
903
  return number + number * progression.percentage;
@@ -886,15 +910,13 @@ var MoveTicker = class extends TickerBase {
886
910
  let ySpeed = 1;
887
911
  if (args.speed) {
888
912
  if (typeof args.speed === "number") {
889
- xSpeed = args.speed;
890
- ySpeed = args.speed;
913
+ xSpeed = this.speedConvert(args.speed);
914
+ ySpeed = this.speedConvert(args.speed);
891
915
  } else {
892
- xSpeed = args.speed.x;
893
- ySpeed = args.speed.y;
916
+ xSpeed = this.speedConvert(args.speed.x);
917
+ ySpeed = this.speedConvert(args.speed.y);
894
918
  }
895
919
  }
896
- xSpeed /= 60;
897
- ySpeed /= 60;
898
920
  let destination = args.destination;
899
921
  let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
900
922
  if (typeof tagToRemoveAfter2 === "string") {
@@ -934,7 +956,10 @@ var MoveTicker = class extends TickerBase {
934
956
  }
935
957
  });
936
958
  if (args.speedProgression)
937
- updateTickerProgression(args, "speed", args.speedProgression);
959
+ updateTickerProgression(args, "speed", args.speedProgression, this.speedConvert);
960
+ }
961
+ speedConvert(speed) {
962
+ return speed / 6;
938
963
  }
939
964
  };
940
965
  MoveTicker = __decorateClass([
@@ -942,7 +967,7 @@ MoveTicker = __decorateClass([
942
967
  ], MoveTicker);
943
968
  var RotateTicker = class extends TickerBase {
944
969
  fn(ticker, args, tags, tickerId) {
945
- let speed = (args.speed === void 0 ? 1 : args.speed) / 60;
970
+ let speed = this.speedConvert(args.speed === void 0 ? 1 : args.speed);
946
971
  let clockwise = args.clockwise === void 0 ? true : args.clockwise;
947
972
  let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
948
973
  if (typeof tagToRemoveAfter2 === "string") {
@@ -970,7 +995,10 @@ var RotateTicker = class extends TickerBase {
970
995
  }
971
996
  });
972
997
  if (args.speedProgression)
973
- updateTickerProgression(args, "speed", args.speedProgression);
998
+ updateTickerProgression(args, "speed", args.speedProgression, this.speedConvert);
999
+ }
1000
+ speedConvert(speed) {
1001
+ return speed / 60;
974
1002
  }
975
1003
  };
976
1004
  RotateTicker = __decorateClass([
@@ -982,15 +1010,13 @@ var ZoomTicker = class extends TickerBase {
982
1010
  let ySpeed = 0.1;
983
1011
  if (args.speed) {
984
1012
  if (typeof args.speed === "number") {
985
- xSpeed = args.speed;
986
- ySpeed = args.speed;
1013
+ xSpeed = this.speedConvert(args.speed);
1014
+ ySpeed = this.speedConvert(args.speed);
987
1015
  } else {
988
- xSpeed = args.speed.x;
989
- ySpeed = args.speed.y;
1016
+ xSpeed = this.speedConvert(args.speed.x);
1017
+ ySpeed = this.speedConvert(args.speed.y);
990
1018
  }
991
1019
  }
992
- xSpeed /= 60;
993
- ySpeed /= 60;
994
1020
  let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
995
1021
  if (typeof tagToRemoveAfter2 === "string") {
996
1022
  tagToRemoveAfter2 = [tagToRemoveAfter2];
@@ -1057,7 +1083,10 @@ var ZoomTicker = class extends TickerBase {
1057
1083
  }
1058
1084
  });
1059
1085
  if (args.speedProgression)
1060
- updateTickerProgression(args, "speed", args.speedProgression);
1086
+ updateTickerProgression(args, "speed", args.speedProgression, this.speedConvert);
1087
+ }
1088
+ speedConvert(speed) {
1089
+ return speed / 60;
1061
1090
  }
1062
1091
  onEndOfTicker(tag, tickerId, _element, tagToRemoveAfter2) {
1063
1092
  GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
@@ -2019,6 +2048,16 @@ var _GameStepManager = class _GameStepManager {
2019
2048
  static set originalStepData(value) {
2020
2049
  _GameStepManager._originalStepData = createExportableElement(value);
2021
2050
  }
2051
+ static get currentStepData() {
2052
+ let currentStepData = {
2053
+ path: window.location.pathname,
2054
+ storage: GameStorageManager.export(),
2055
+ canvas: GameWindowManager.export(),
2056
+ labelIndex: _GameStepManager.currentLabelStepIndex || 0,
2057
+ openedLabels: createExportableElement(_GameStepManager._openedLabels)
2058
+ };
2059
+ return currentStepData;
2060
+ }
2022
2061
  /* Edit History Methods */
2023
2062
  /**
2024
2063
  * Add a label to the history.
@@ -2026,19 +2065,13 @@ var _GameStepManager = class _GameStepManager {
2026
2065
  */
2027
2066
  static addStepHistory(step, choiseMade) {
2028
2067
  let stepHistory = getStepSha1(step);
2029
- let historyStep = {
2030
- path: window.location.pathname,
2031
- storage: GameStorageManager.export(),
2032
- canvas: GameWindowManager.export(),
2033
- labelIndex: _GameStepManager.currentLabelStepIndex || 0,
2034
- openedLabels: createExportableElement(_GameStepManager._openedLabels)
2035
- };
2068
+ let currentStepData = _GameStepManager.currentStepData;
2036
2069
  if (_GameStepManager.originalStepData) {
2037
- if (_GameStepManager.originalStepData.openedLabels.length === historyStep.openedLabels.length) {
2070
+ if (_GameStepManager.originalStepData.openedLabels.length === currentStepData.openedLabels.length) {
2038
2071
  try {
2039
2072
  let lastStepDataOpenedLabelsString = JSON.stringify(_GameStepManager.originalStepData.openedLabels);
2040
- let historyStepOpenedLabelsString = JSON.stringify(historyStep.openedLabels);
2041
- if (lastStepDataOpenedLabelsString === historyStepOpenedLabelsString && _GameStepManager.originalStepData.path === historyStep.path && _GameStepManager.originalStepData.labelIndex === historyStep.labelIndex) {
2073
+ let historyStepOpenedLabelsString = JSON.stringify(currentStepData.openedLabels);
2074
+ if (lastStepDataOpenedLabelsString === historyStepOpenedLabelsString && _GameStepManager.originalStepData.path === currentStepData.path && _GameStepManager.originalStepData.labelIndex === currentStepData.labelIndex) {
2042
2075
  return;
2043
2076
  }
2044
2077
  } catch (e) {
@@ -2046,7 +2079,7 @@ var _GameStepManager = class _GameStepManager {
2046
2079
  }
2047
2080
  }
2048
2081
  }
2049
- let data = diff(_GameStepManager.originalStepData, historyStep);
2082
+ let data = diff(_GameStepManager.originalStepData, currentStepData);
2050
2083
  if (data) {
2051
2084
  let dialoge = void 0;
2052
2085
  let requiredChoices = void 0;
@@ -2065,7 +2098,7 @@ var _GameStepManager = class _GameStepManager {
2065
2098
  index: _GameStepManager.lastStepIndex,
2066
2099
  choiceIndexMade: choiseMade
2067
2100
  });
2068
- _GameStepManager.originalStepData = historyStep;
2101
+ _GameStepManager.originalStepData = currentStepData;
2069
2102
  }
2070
2103
  _GameStepManager.increaseLastStepIndex();
2071
2104
  }
@@ -2156,6 +2189,9 @@ var _GameStepManager = class _GameStepManager {
2156
2189
  console.warn("[Pixi'VN] The player must make a choice");
2157
2190
  return;
2158
2191
  }
2192
+ if (_GameStepManager.currentLabel && _GameStepManager.currentLabel.onStepEnd) {
2193
+ yield _GameStepManager.currentLabel.onStepEnd(_GameStepManager.currentLabelStepIndex || 0, _GameStepManager.currentLabel);
2194
+ }
2159
2195
  _GameStepManager.increaseCurrentStepIndex();
2160
2196
  return yield _GameStepManager.runCurrentStep(props, choiseMade);
2161
2197
  });
@@ -2180,6 +2216,10 @@ var _GameStepManager = class _GameStepManager {
2180
2216
  return;
2181
2217
  }
2182
2218
  if (currentLabel.steps.length > currentLabelStepIndex) {
2219
+ let onStepRun = currentLabel.onStepStart;
2220
+ if (onStepRun) {
2221
+ yield onStepRun(currentLabelStepIndex, currentLabel);
2222
+ }
2183
2223
  let step = currentLabel.steps[currentLabelStepIndex];
2184
2224
  let result = yield step(props);
2185
2225
  _GameStepManager.addStepHistory(step, choiseMade);
@@ -2244,6 +2284,9 @@ var _GameStepManager = class _GameStepManager {
2244
2284
  if (!tempLabel) {
2245
2285
  throw new Error(`[Pixi'VN] Label ${labelId} not found`);
2246
2286
  }
2287
+ if (_GameStepManager.currentLabel && _GameStepManager.currentLabel.onStepEnd) {
2288
+ yield _GameStepManager.currentLabel.onStepEnd(_GameStepManager.currentLabelStepIndex || 0, _GameStepManager.currentLabel);
2289
+ }
2247
2290
  _GameStepManager.pushNewLabel(tempLabel.id);
2248
2291
  } catch (e) {
2249
2292
  console.error("[Pixi'VN] Error calling label", e);
@@ -2302,6 +2345,9 @@ var _GameStepManager = class _GameStepManager {
2302
2345
  if (!tempLabel) {
2303
2346
  throw new Error(`[Pixi'VN] Label ${labelId} not found`);
2304
2347
  }
2348
+ if (_GameStepManager.currentLabel && _GameStepManager.currentLabel.onStepEnd) {
2349
+ yield _GameStepManager.currentLabel.onStepEnd(_GameStepManager.currentLabelStepIndex || 0, _GameStepManager.currentLabel);
2350
+ }
2305
2351
  _GameStepManager.pushNewLabel(tempLabel.id);
2306
2352
  } catch (e) {
2307
2353
  console.error("[Pixi'VN] Error jumping label", e);
@@ -2407,24 +2453,29 @@ var _GameStepManager = class _GameStepManager {
2407
2453
  * ```
2408
2454
  */
2409
2455
  static goBack(navigate, steps = 1) {
2410
- if (steps <= 0) {
2411
- console.warn("[Pixi'VN] Steps must be greater than 0");
2412
- return;
2413
- }
2414
- if (_GameStepManager._stepsHistory.length <= 1) {
2415
- console.warn("[Pixi'VN] No steps to go back");
2416
- return;
2417
- }
2418
- let restoredStep = _GameStepManager.goBackInternal(steps, _GameStepManager.originalStepData);
2419
- if (restoredStep) {
2420
- _GameStepManager._originalStepData = restoredStep;
2421
- _GameStepManager._openedLabels = createExportableElement(restoredStep.openedLabels);
2422
- GameStorageManager.import(createExportableElement(restoredStep.storage));
2423
- GameWindowManager.import(createExportableElement(restoredStep.canvas));
2424
- navigate(restoredStep.path);
2425
- } else {
2426
- console.error("[Pixi'VN] Error going back");
2427
- }
2456
+ return __async(this, null, function* () {
2457
+ if (steps <= 0) {
2458
+ console.warn("[Pixi'VN] Steps must be greater than 0");
2459
+ return;
2460
+ }
2461
+ if (_GameStepManager._stepsHistory.length <= 1) {
2462
+ console.warn("[Pixi'VN] No steps to go back");
2463
+ return;
2464
+ }
2465
+ let restoredStep = _GameStepManager.goBackInternal(steps, _GameStepManager.originalStepData);
2466
+ if (restoredStep) {
2467
+ _GameStepManager._originalStepData = restoredStep;
2468
+ _GameStepManager._openedLabels = createExportableElement(restoredStep.openedLabels);
2469
+ if (_GameStepManager.currentLabel && _GameStepManager.currentLabel.onLoadStep) {
2470
+ yield _GameStepManager.currentLabel.onLoadStep(_GameStepManager.currentLabelStepIndex || 0, _GameStepManager.currentLabel);
2471
+ }
2472
+ GameStorageManager.import(createExportableElement(restoredStep.storage));
2473
+ GameWindowManager.import(createExportableElement(restoredStep.canvas));
2474
+ navigate(restoredStep.path);
2475
+ } else {
2476
+ console.error("[Pixi'VN] Error going back");
2477
+ }
2478
+ });
2428
2479
  }
2429
2480
  static goBackInternal(steps, restoredStep) {
2430
2481
  if (steps <= 0) {
@@ -2486,38 +2537,45 @@ var _GameStepManager = class _GameStepManager {
2486
2537
  * @param dataString The history in a JSON string.
2487
2538
  */
2488
2539
  static importJson(dataString) {
2489
- _GameStepManager.import(JSON.parse(dataString));
2540
+ return __async(this, null, function* () {
2541
+ yield _GameStepManager.import(JSON.parse(dataString));
2542
+ });
2490
2543
  }
2491
2544
  /**
2492
2545
  * Import the history from an object.
2493
2546
  * @param data The history in an object.
2494
2547
  */
2495
2548
  static import(data) {
2496
- _GameStepManager.clear();
2497
- try {
2498
- if (data.hasOwnProperty("stepsHistory")) {
2499
- _GameStepManager._stepsHistory = data["stepsHistory"];
2500
- } else {
2501
- console.warn("[Pixi'VN] Could not import stepsHistory data, so will be ignored");
2502
- }
2503
- if (data.hasOwnProperty("openedLabels")) {
2504
- _GameStepManager._openedLabels = data["openedLabels"];
2505
- } else {
2506
- console.warn("[Pixi'VN] Could not import openedLabels data, so will be ignored");
2507
- }
2508
- if (data.hasOwnProperty("lastStepIndex")) {
2509
- _GameStepManager._lastStepIndex = data["lastStepIndex"];
2510
- } else {
2511
- console.warn("[Pixi'VN] Could not import lastStepIndex data, so will be ignored");
2512
- }
2513
- if (data.hasOwnProperty("originalStepData")) {
2514
- _GameStepManager._originalStepData = data["originalStepData"];
2515
- } else {
2516
- console.warn("[Pixi'VN] Could not import originalStepData data, so will be ignored");
2549
+ return __async(this, null, function* () {
2550
+ _GameStepManager.clear();
2551
+ try {
2552
+ if (data.hasOwnProperty("stepsHistory")) {
2553
+ _GameStepManager._stepsHistory = data["stepsHistory"];
2554
+ } else {
2555
+ console.warn("[Pixi'VN] Could not import stepsHistory data, so will be ignored");
2556
+ }
2557
+ if (data.hasOwnProperty("openedLabels")) {
2558
+ _GameStepManager._openedLabels = data["openedLabels"];
2559
+ } else {
2560
+ console.warn("[Pixi'VN] Could not import openedLabels data, so will be ignored");
2561
+ }
2562
+ if (data.hasOwnProperty("lastStepIndex")) {
2563
+ _GameStepManager._lastStepIndex = data["lastStepIndex"];
2564
+ } else {
2565
+ console.warn("[Pixi'VN] Could not import lastStepIndex data, so will be ignored");
2566
+ }
2567
+ if (data.hasOwnProperty("originalStepData")) {
2568
+ _GameStepManager._originalStepData = data["originalStepData"];
2569
+ } else {
2570
+ console.warn("[Pixi'VN] Could not import originalStepData data, so will be ignored");
2571
+ }
2572
+ if (_GameStepManager.currentLabel && _GameStepManager.currentLabel.onLoadStep) {
2573
+ yield _GameStepManager.currentLabel.onLoadStep(_GameStepManager.currentLabelStepIndex || 0, _GameStepManager.currentLabel);
2574
+ }
2575
+ } catch (e) {
2576
+ console.error("[Pixi'VN] Error importing data", e);
2517
2577
  }
2518
- } catch (e) {
2519
- console.error("[Pixi'VN] Error importing data", e);
2520
- }
2578
+ });
2521
2579
  }
2522
2580
  };
2523
2581
  /**
@@ -2693,7 +2751,7 @@ var DialogueBaseModel = class {
2693
2751
  var juliette = new CharacterBaseModel2("___pixivn_juliette___", {
2694
2752
  name: "Juliette",
2695
2753
  age: 25,
2696
- icon: "https://firebasestorage.googleapis.com/v0/b/pixi-vn.appspot.com/o/public%2Fcharacters%2Fjuliette-square.webp?alt=media&token=5856ae7b-d99e-4563-86ec-cbc48cc9c6b4",
2754
+ icon: "https://firebasestorage.googleapis.com/v0/b/pixi-vn.appspot.com/o/public%2Fcharacters%2Fjuliette-square.webp?alt=media",
2697
2755
  color: "#ac0086"
2698
2756
  });
2699
2757
  saveCharacter(juliette);
@@ -2713,36 +2771,30 @@ EventTest1 = __decorateClass([
2713
2771
  eventDecorator("___pixi_vn_canvas_events_test_event1___")
2714
2772
  ], EventTest1);
2715
2773
  var EventTest2 = class extends CanvasEvent {
2716
- constructor() {
2717
- super(...arguments);
2718
- this.textureButtonDown = Texture.from("https://pixijs.com/assets/button_down.png");
2719
- this.textureButtonOver = Texture.from("https://pixijs.com/assets/button_over.png");
2720
- this.textureButton = Texture.from("https://pixijs.com/assets/button.png");
2721
- }
2722
2774
  fn(event, sprite) {
2723
2775
  if (event === "pointerdown") {
2724
2776
  sprite.isdown = true;
2725
- sprite.texture = this.textureButtonDown;
2777
+ sprite.texture = Texture.from("https://pixijs.com/assets/button_down.png");
2726
2778
  sprite.alpha = 1;
2727
2779
  } else if (event === "pointerup" || event === "pointerupoutside") {
2728
2780
  sprite.isdown = false;
2729
2781
  if (sprite.isOver) {
2730
- sprite.texture = this.textureButtonOver;
2782
+ sprite.texture = Texture.from("https://pixijs.com/assets/button_over.png");
2731
2783
  } else {
2732
- sprite.texture = this.textureButton;
2784
+ sprite.texture = Texture.from("https://pixijs.com/assets/button.png");
2733
2785
  }
2734
2786
  } else if (event === "pointerover") {
2735
2787
  sprite.isOver = true;
2736
2788
  if (sprite.isdown) {
2737
2789
  return;
2738
2790
  }
2739
- sprite.texture = this.textureButtonOver;
2791
+ sprite.texture = Texture.from("https://pixijs.com/assets/button_over.png");
2740
2792
  } else if (event === "pointerout") {
2741
2793
  sprite.isOver = false;
2742
2794
  if (sprite.isdown) {
2743
2795
  return;
2744
2796
  }
2745
- sprite.texture = this.textureButton;
2797
+ sprite.texture = Texture.from("https://pixijs.com/assets/button.png");
2746
2798
  }
2747
2799
  }
2748
2800
  };
@@ -2764,6 +2816,7 @@ var canvasEventsTestLabel = newLabel(
2764
2816
  });
2765
2817
  const texture = yield Assets.load(bunnyImage);
2766
2818
  const sprite = CanvasSprite.from(texture);
2819
+ sprite.scale.set(3);
2767
2820
  sprite.anchor.set(0.5);
2768
2821
  sprite.x = GameWindowManager.screen.width / 2;
2769
2822
  sprite.y = GameWindowManager.screen.height / 2;
@@ -2778,17 +2831,12 @@ var canvasEventsTestLabel = newLabel(
2778
2831
  character: juliette,
2779
2832
  text: `This is the test of buttons in a canvas. (This example is from the official [PixiJS website](https://pixijs.com/8.x/examples/events/interactivity).)`
2780
2833
  });
2781
- yield Assets.load([
2782
- "https://pixijs.com/assets/bg_button.jpg",
2783
- "https://pixijs.com/assets/button.png",
2784
- "https://pixijs.com/assets/button_down.png",
2785
- "https://pixijs.com/assets/button_over.png"
2786
- ]);
2787
- const background = CanvasSprite.from("https://pixijs.com/assets/bg_button.jpg");
2834
+ const backgroundT = yield Assets.load("https://pixijs.com/assets/bg_button.jpg");
2835
+ const background = new CanvasSprite(backgroundT);
2788
2836
  background.width = GameWindowManager.screen.width;
2789
2837
  background.height = GameWindowManager.screen.height;
2790
2838
  GameWindowManager.addCanvasElement("bg", background);
2791
- const textureButton = Texture.from("https://pixijs.com/assets/button.png");
2839
+ const textureButton = yield Assets.load("https://pixijs.com/assets/button.png");
2792
2840
  const buttons = [];
2793
2841
  const buttonPositions = [175, 75, 655, 75, 410, 325, 150, 465, 685, 445];
2794
2842
  for (let i = 0; i < 5; i++) {
@@ -2808,7 +2856,17 @@ var canvasEventsTestLabel = newLabel(
2808
2856
  buttons[4].scale.set(0.8, 1.2);
2809
2857
  buttons[4].rotation = Math.PI;
2810
2858
  })
2811
- ]
2859
+ ],
2860
+ {
2861
+ onLoadStep: () => __async(void 0, null, function* () {
2862
+ yield Assets.load([
2863
+ "https://pixijs.com/assets/bg_button.jpg",
2864
+ "https://pixijs.com/assets/button.png",
2865
+ "https://pixijs.com/assets/button_down.png",
2866
+ "https://pixijs.com/assets/button_over.png"
2867
+ ]);
2868
+ })
2869
+ }
2812
2870
  );
2813
2871
 
2814
2872
  export { EventTest1, EventTest2, canvasEventsTestLabel };