@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
@@ -14,10 +14,10 @@ import '../interface/IHistoryStep.mjs';
14
14
  import 'deep-diff';
15
15
  import '../classes/ChoiceMenuOption.mjs';
16
16
  import '../types/LabelIdType.mjs';
17
- import '../classes/Label.mjs';
18
- import '../types/StepHistoryDataType.mjs';
17
+ import '../LabelProps-CmRpvUJm.mjs';
19
18
  import '../types/StepLabelType.mjs';
20
19
  import '@drincs/pixi-vn/dist/override';
20
+ import '../types/StepHistoryDataType.mjs';
21
21
  import '../types/CloseType.mjs';
22
22
  import '../types/LabelRunModeType.mjs';
23
23
  import '../interface/IOpenedLabel.mjs';
@@ -54,7 +54,7 @@ declare function getSaveJson(): string;
54
54
  * @param data The save data
55
55
  * @param navigate The function to navigate to a path
56
56
  */
57
- declare function loadSaveData(data: ISaveData, navigate: (path: string) => void): void;
57
+ declare function loadSaveData(data: ISaveData, navigate: (path: string) => void): Promise<void>;
58
58
  /**
59
59
  * Load the save data from a JSON string
60
60
  * @param dataString The save data as a JSON string
@@ -83,7 +83,7 @@ declare function loadSaveData(data: ISaveData, navigate: (path: string) => void)
83
83
  * }
84
84
  * ```
85
85
  */
86
- declare function loadSaveJson(dataString: string, navigate: (path: string) => void): void;
86
+ declare function loadSaveJson(dataString: string, navigate: (path: string) => void): Promise<void>;
87
87
  /**
88
88
  * Convert a JSON string to a save data
89
89
  * @param json The JSON string
@@ -14,10 +14,10 @@ import '../interface/IHistoryStep.js';
14
14
  import 'deep-diff';
15
15
  import '../classes/ChoiceMenuOption.js';
16
16
  import '../types/LabelIdType.js';
17
- import '../classes/Label.js';
18
- import '../types/StepHistoryDataType.js';
17
+ import '../LabelProps-CFV-zRjG.js';
19
18
  import '../types/StepLabelType.js';
20
19
  import '@drincs/pixi-vn/dist/override';
20
+ import '../types/StepHistoryDataType.js';
21
21
  import '../types/CloseType.js';
22
22
  import '../types/LabelRunModeType.js';
23
23
  import '../interface/IOpenedLabel.js';
@@ -54,7 +54,7 @@ declare function getSaveJson(): string;
54
54
  * @param data The save data
55
55
  * @param navigate The function to navigate to a path
56
56
  */
57
- declare function loadSaveData(data: ISaveData, navigate: (path: string) => void): void;
57
+ declare function loadSaveData(data: ISaveData, navigate: (path: string) => void): Promise<void>;
58
58
  /**
59
59
  * Load the save data from a JSON string
60
60
  * @param dataString The save data as a JSON string
@@ -83,7 +83,7 @@ declare function loadSaveData(data: ISaveData, navigate: (path: string) => void)
83
83
  * }
84
84
  * ```
85
85
  */
86
- declare function loadSaveJson(dataString: string, navigate: (path: string) => void): void;
86
+ declare function loadSaveJson(dataString: string, navigate: (path: string) => void): Promise<void>;
87
87
  /**
88
88
  * Convert a JSON string to a save data
89
89
  * @param json The JSON string
@@ -58,7 +58,7 @@ var __async = (__this, __arguments, generator) => {
58
58
  };
59
59
 
60
60
  // src/constants.ts
61
- var PIXIVN_VERSION = "0.6.3";
61
+ var PIXIVN_VERSION = "0.6.5";
62
62
  var Repeat = "repeat";
63
63
  function getStepSha1(step) {
64
64
  let sha1String = sha1__default.default(step.toString().toLocaleLowerCase());
@@ -73,14 +73,15 @@ var Label = class {
73
73
  /**
74
74
  * @param id is the id of the label
75
75
  * @param steps is the list of steps that the label will perform
76
- * @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
77
- * @param choiseIndex is the index of the choice that the label will perform
76
+ * @param props is the properties of the label
78
77
  */
79
- constructor(id, steps, onStepRun, choiseIndex) {
78
+ constructor(id, steps, props) {
80
79
  this._id = id;
81
80
  this._steps = steps;
82
- this._onStepRun = onStepRun;
83
- this._choiseIndex = choiseIndex;
81
+ this._onStepStart = props == null ? void 0 : props.onStepStart;
82
+ this._onLoadStep = props == null ? void 0 : props.onLoadStep;
83
+ this._onStepEnd = props == null ? void 0 : props.onStepEnd;
84
+ this._choiseIndex = props == null ? void 0 : props.choiseIndex;
84
85
  }
85
86
  /**
86
87
  * Get the id of the label. This variable is used in the system to get the label by id, {@link getLabelById}
@@ -117,18 +118,32 @@ var Label = class {
117
118
  return res;
118
119
  }
119
120
  /**
120
- * 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
121
+ * 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.
122
+ * @returns Promise<void> or void
123
+ */
124
+ get onStepStart() {
125
+ return (stepIndex, label) => __async(this, null, function* () {
126
+ if (this._onLoadStep) {
127
+ yield this._onLoadStep(stepIndex, label);
128
+ }
129
+ if (this._onStepStart) {
130
+ return yield this._onStepStart(stepIndex, label);
131
+ }
132
+ });
133
+ }
134
+ /**
135
+ * 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.
121
136
  * @returns Promise<void> or void
122
- * @example
123
- * ```typescript
124
- * newLabel("id", [], () => {
125
- * Assets.load('path/to/image1.png')
126
- * Assets.load('path/to/image2.png')
127
- * })
128
- * ```
129
137
  */
130
- get onStepRun() {
131
- return this._onStepRun;
138
+ get onLoadStep() {
139
+ return this._onLoadStep;
140
+ }
141
+ /**
142
+ * Is a function that will be executed when the step ends.
143
+ * @returns Promise<void> or void
144
+ */
145
+ get onStepEnd() {
146
+ return this._onStepEnd;
132
147
  }
133
148
  get choiseIndex() {
134
149
  return this._choiseIndex;
@@ -138,7 +153,9 @@ var Label = class {
138
153
  // src/classes/CloseLabel.ts
139
154
  var CLOSE_LABEL_ID = "__close-label-id__";
140
155
  function newCloseLabel(choiseIndex) {
141
- return new Label(CLOSE_LABEL_ID, [], void 0, choiseIndex);
156
+ return new Label(CLOSE_LABEL_ID, [], {
157
+ choiseIndex
158
+ });
142
159
  }
143
160
 
144
161
  // src/functions/CanvasUtility.ts
@@ -217,8 +234,6 @@ function getMemoryContainer(element) {
217
234
  };
218
235
  }
219
236
  function setMemoryContainer(element, memory) {
220
- memory.width && (element.width = memory.width);
221
- memory.height && (element.height = memory.height);
222
237
  memory.isRenderGroup && (element.isRenderGroup = memory.isRenderGroup);
223
238
  memory.blendMode && (element.blendMode = memory.blendMode);
224
239
  memory.tint && (element.tint = memory.tint);
@@ -251,6 +266,8 @@ function setMemoryContainer(element, memory) {
251
266
  memory.interactive && (element.interactive = memory.interactive);
252
267
  memory.interactiveChildren && (element.interactiveChildren = memory.interactiveChildren);
253
268
  memory.hitArea && (element.hitArea = memory.hitArea);
269
+ memory.width && (element.width = memory.width);
270
+ memory.height && (element.height = memory.height);
254
271
  }
255
272
  function getTexture(imageUrl) {
256
273
  return __async(this, null, function* () {
@@ -687,7 +704,10 @@ function getChoiceMenuOptions() {
687
704
  }
688
705
  let label = getLabelById(option.label);
689
706
  if (label) {
690
- let itemLabel = new Label(label.id, label.steps, label.onStepRun, index);
707
+ let itemLabel = new Label(label.id, label.steps, {
708
+ onStepStart: label.onStepStart,
709
+ choiseIndex: index
710
+ });
691
711
  options.push(__spreadProps(__spreadValues({}, option), {
692
712
  label: itemLabel
693
713
  }));
@@ -778,8 +798,9 @@ FadeAlphaTicker = __decorateClass([
778
798
  ], FadeAlphaTicker);
779
799
 
780
800
  // src/functions/TickerUtility.ts
781
- function updateTickerProgression(args, propertyName, progression) {
782
- if (args[propertyName] === void 0 || !progression || args[propertyName] === progression.limit) {
801
+ function updateTickerProgression(args, propertyName, progression, valueConvert) {
802
+ let limit = valueConvert && progression.limit ? valueConvert(progression.limit) : progression.limit;
803
+ if (args[propertyName] === void 0 || !progression || args[propertyName] === limit) {
783
804
  return;
784
805
  }
785
806
  if (typeof args[propertyName] === "number") {
@@ -798,22 +819,25 @@ function updateTickerProgression(args, propertyName, progression) {
798
819
  }
799
820
  }
800
821
  }
801
- function getLinearProgression(number, progression) {
802
- if (progression.limit !== void 0) {
803
- if (number > progression.limit && progression.amt > 0) {
804
- return progression.limit;
805
- } else if (number < progression.limit && progression.amt < 0) {
806
- return progression.limit;
822
+ function getLinearProgression(number, progression, valueConvert) {
823
+ let limit = valueConvert && progression.limit ? valueConvert(progression.limit) : progression.limit;
824
+ let amt = valueConvert ? valueConvert(progression.amt) : progression.amt;
825
+ if (limit !== void 0) {
826
+ if (number > limit && amt > 0) {
827
+ return limit;
828
+ } else if (number < limit && amt < 0) {
829
+ return limit;
807
830
  }
808
831
  }
809
- return number + progression.amt / 60;
832
+ return number + amt;
810
833
  }
811
- function getExponentialProgression(number, progression) {
812
- if (progression.limit !== void 0) {
813
- if (number > progression.limit && progression.percentage > 0) {
814
- return progression.limit;
815
- } else if (number < progression.limit && progression.percentage < 0) {
816
- return progression.limit;
834
+ function getExponentialProgression(number, progression, valueConvert) {
835
+ let limit = valueConvert && progression.limit ? valueConvert(progression.limit) : progression.limit;
836
+ if (limit !== void 0) {
837
+ if (number > limit && progression.percentage > 0) {
838
+ return limit;
839
+ } else if (number < limit && progression.percentage < 0) {
840
+ return limit;
817
841
  }
818
842
  }
819
843
  return number + number * progression.percentage;
@@ -826,15 +850,13 @@ var MoveTicker = class extends TickerBase {
826
850
  let ySpeed = 1;
827
851
  if (args.speed) {
828
852
  if (typeof args.speed === "number") {
829
- xSpeed = args.speed;
830
- ySpeed = args.speed;
853
+ xSpeed = this.speedConvert(args.speed);
854
+ ySpeed = this.speedConvert(args.speed);
831
855
  } else {
832
- xSpeed = args.speed.x;
833
- ySpeed = args.speed.y;
856
+ xSpeed = this.speedConvert(args.speed.x);
857
+ ySpeed = this.speedConvert(args.speed.y);
834
858
  }
835
859
  }
836
- xSpeed /= 60;
837
- ySpeed /= 60;
838
860
  let destination = args.destination;
839
861
  let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
840
862
  if (typeof tagToRemoveAfter2 === "string") {
@@ -874,7 +896,10 @@ var MoveTicker = class extends TickerBase {
874
896
  }
875
897
  });
876
898
  if (args.speedProgression)
877
- updateTickerProgression(args, "speed", args.speedProgression);
899
+ updateTickerProgression(args, "speed", args.speedProgression, this.speedConvert);
900
+ }
901
+ speedConvert(speed) {
902
+ return speed / 6;
878
903
  }
879
904
  };
880
905
  MoveTicker = __decorateClass([
@@ -882,7 +907,7 @@ MoveTicker = __decorateClass([
882
907
  ], MoveTicker);
883
908
  var RotateTicker = class extends TickerBase {
884
909
  fn(ticker, args, tags, tickerId) {
885
- let speed = (args.speed === void 0 ? 1 : args.speed) / 60;
910
+ let speed = this.speedConvert(args.speed === void 0 ? 1 : args.speed);
886
911
  let clockwise = args.clockwise === void 0 ? true : args.clockwise;
887
912
  let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
888
913
  if (typeof tagToRemoveAfter2 === "string") {
@@ -910,7 +935,10 @@ var RotateTicker = class extends TickerBase {
910
935
  }
911
936
  });
912
937
  if (args.speedProgression)
913
- updateTickerProgression(args, "speed", args.speedProgression);
938
+ updateTickerProgression(args, "speed", args.speedProgression, this.speedConvert);
939
+ }
940
+ speedConvert(speed) {
941
+ return speed / 60;
914
942
  }
915
943
  };
916
944
  RotateTicker = __decorateClass([
@@ -922,15 +950,13 @@ var ZoomTicker = class extends TickerBase {
922
950
  let ySpeed = 0.1;
923
951
  if (args.speed) {
924
952
  if (typeof args.speed === "number") {
925
- xSpeed = args.speed;
926
- ySpeed = args.speed;
953
+ xSpeed = this.speedConvert(args.speed);
954
+ ySpeed = this.speedConvert(args.speed);
927
955
  } else {
928
- xSpeed = args.speed.x;
929
- ySpeed = args.speed.y;
956
+ xSpeed = this.speedConvert(args.speed.x);
957
+ ySpeed = this.speedConvert(args.speed.y);
930
958
  }
931
959
  }
932
- xSpeed /= 60;
933
- ySpeed /= 60;
934
960
  let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
935
961
  if (typeof tagToRemoveAfter2 === "string") {
936
962
  tagToRemoveAfter2 = [tagToRemoveAfter2];
@@ -997,7 +1023,10 @@ var ZoomTicker = class extends TickerBase {
997
1023
  }
998
1024
  });
999
1025
  if (args.speedProgression)
1000
- updateTickerProgression(args, "speed", args.speedProgression);
1026
+ updateTickerProgression(args, "speed", args.speedProgression, this.speedConvert);
1027
+ }
1028
+ speedConvert(speed) {
1029
+ return speed / 60;
1001
1030
  }
1002
1031
  onEndOfTicker(tag, tickerId, _element, tagToRemoveAfter2) {
1003
1032
  GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
@@ -1956,6 +1985,16 @@ var _GameStepManager = class _GameStepManager {
1956
1985
  static set originalStepData(value) {
1957
1986
  _GameStepManager._originalStepData = createExportableElement(value);
1958
1987
  }
1988
+ static get currentStepData() {
1989
+ let currentStepData = {
1990
+ path: window.location.pathname,
1991
+ storage: GameStorageManager.export(),
1992
+ canvas: GameWindowManager.export(),
1993
+ labelIndex: _GameStepManager.currentLabelStepIndex || 0,
1994
+ openedLabels: createExportableElement(_GameStepManager._openedLabels)
1995
+ };
1996
+ return currentStepData;
1997
+ }
1959
1998
  /* Edit History Methods */
1960
1999
  /**
1961
2000
  * Add a label to the history.
@@ -1963,19 +2002,13 @@ var _GameStepManager = class _GameStepManager {
1963
2002
  */
1964
2003
  static addStepHistory(step, choiseMade) {
1965
2004
  let stepHistory = getStepSha1(step);
1966
- let historyStep = {
1967
- path: window.location.pathname,
1968
- storage: GameStorageManager.export(),
1969
- canvas: GameWindowManager.export(),
1970
- labelIndex: _GameStepManager.currentLabelStepIndex || 0,
1971
- openedLabels: createExportableElement(_GameStepManager._openedLabels)
1972
- };
2005
+ let currentStepData = _GameStepManager.currentStepData;
1973
2006
  if (_GameStepManager.originalStepData) {
1974
- if (_GameStepManager.originalStepData.openedLabels.length === historyStep.openedLabels.length) {
2007
+ if (_GameStepManager.originalStepData.openedLabels.length === currentStepData.openedLabels.length) {
1975
2008
  try {
1976
2009
  let lastStepDataOpenedLabelsString = JSON.stringify(_GameStepManager.originalStepData.openedLabels);
1977
- let historyStepOpenedLabelsString = JSON.stringify(historyStep.openedLabels);
1978
- if (lastStepDataOpenedLabelsString === historyStepOpenedLabelsString && _GameStepManager.originalStepData.path === historyStep.path && _GameStepManager.originalStepData.labelIndex === historyStep.labelIndex) {
2010
+ let historyStepOpenedLabelsString = JSON.stringify(currentStepData.openedLabels);
2011
+ if (lastStepDataOpenedLabelsString === historyStepOpenedLabelsString && _GameStepManager.originalStepData.path === currentStepData.path && _GameStepManager.originalStepData.labelIndex === currentStepData.labelIndex) {
1979
2012
  return;
1980
2013
  }
1981
2014
  } catch (e) {
@@ -1983,7 +2016,7 @@ var _GameStepManager = class _GameStepManager {
1983
2016
  }
1984
2017
  }
1985
2018
  }
1986
- let data = deepDiff.diff(_GameStepManager.originalStepData, historyStep);
2019
+ let data = deepDiff.diff(_GameStepManager.originalStepData, currentStepData);
1987
2020
  if (data) {
1988
2021
  let dialoge = void 0;
1989
2022
  let requiredChoices = void 0;
@@ -2002,7 +2035,7 @@ var _GameStepManager = class _GameStepManager {
2002
2035
  index: _GameStepManager.lastStepIndex,
2003
2036
  choiceIndexMade: choiseMade
2004
2037
  });
2005
- _GameStepManager.originalStepData = historyStep;
2038
+ _GameStepManager.originalStepData = currentStepData;
2006
2039
  }
2007
2040
  _GameStepManager.increaseLastStepIndex();
2008
2041
  }
@@ -2093,6 +2126,9 @@ var _GameStepManager = class _GameStepManager {
2093
2126
  console.warn("[Pixi'VN] The player must make a choice");
2094
2127
  return;
2095
2128
  }
2129
+ if (_GameStepManager.currentLabel && _GameStepManager.currentLabel.onStepEnd) {
2130
+ yield _GameStepManager.currentLabel.onStepEnd(_GameStepManager.currentLabelStepIndex || 0, _GameStepManager.currentLabel);
2131
+ }
2096
2132
  _GameStepManager.increaseCurrentStepIndex();
2097
2133
  return yield _GameStepManager.runCurrentStep(props, choiseMade);
2098
2134
  });
@@ -2117,6 +2153,10 @@ var _GameStepManager = class _GameStepManager {
2117
2153
  return;
2118
2154
  }
2119
2155
  if (currentLabel.steps.length > currentLabelStepIndex) {
2156
+ let onStepRun = currentLabel.onStepStart;
2157
+ if (onStepRun) {
2158
+ yield onStepRun(currentLabelStepIndex, currentLabel);
2159
+ }
2120
2160
  let step = currentLabel.steps[currentLabelStepIndex];
2121
2161
  let result = yield step(props);
2122
2162
  _GameStepManager.addStepHistory(step, choiseMade);
@@ -2181,6 +2221,9 @@ var _GameStepManager = class _GameStepManager {
2181
2221
  if (!tempLabel) {
2182
2222
  throw new Error(`[Pixi'VN] Label ${labelId} not found`);
2183
2223
  }
2224
+ if (_GameStepManager.currentLabel && _GameStepManager.currentLabel.onStepEnd) {
2225
+ yield _GameStepManager.currentLabel.onStepEnd(_GameStepManager.currentLabelStepIndex || 0, _GameStepManager.currentLabel);
2226
+ }
2184
2227
  _GameStepManager.pushNewLabel(tempLabel.id);
2185
2228
  } catch (e) {
2186
2229
  console.error("[Pixi'VN] Error calling label", e);
@@ -2239,6 +2282,9 @@ var _GameStepManager = class _GameStepManager {
2239
2282
  if (!tempLabel) {
2240
2283
  throw new Error(`[Pixi'VN] Label ${labelId} not found`);
2241
2284
  }
2285
+ if (_GameStepManager.currentLabel && _GameStepManager.currentLabel.onStepEnd) {
2286
+ yield _GameStepManager.currentLabel.onStepEnd(_GameStepManager.currentLabelStepIndex || 0, _GameStepManager.currentLabel);
2287
+ }
2242
2288
  _GameStepManager.pushNewLabel(tempLabel.id);
2243
2289
  } catch (e) {
2244
2290
  console.error("[Pixi'VN] Error jumping label", e);
@@ -2344,24 +2390,29 @@ var _GameStepManager = class _GameStepManager {
2344
2390
  * ```
2345
2391
  */
2346
2392
  static goBack(navigate, steps = 1) {
2347
- if (steps <= 0) {
2348
- console.warn("[Pixi'VN] Steps must be greater than 0");
2349
- return;
2350
- }
2351
- if (_GameStepManager._stepsHistory.length <= 1) {
2352
- console.warn("[Pixi'VN] No steps to go back");
2353
- return;
2354
- }
2355
- let restoredStep = _GameStepManager.goBackInternal(steps, _GameStepManager.originalStepData);
2356
- if (restoredStep) {
2357
- _GameStepManager._originalStepData = restoredStep;
2358
- _GameStepManager._openedLabels = createExportableElement(restoredStep.openedLabels);
2359
- GameStorageManager.import(createExportableElement(restoredStep.storage));
2360
- GameWindowManager.import(createExportableElement(restoredStep.canvas));
2361
- navigate(restoredStep.path);
2362
- } else {
2363
- console.error("[Pixi'VN] Error going back");
2364
- }
2393
+ return __async(this, null, function* () {
2394
+ if (steps <= 0) {
2395
+ console.warn("[Pixi'VN] Steps must be greater than 0");
2396
+ return;
2397
+ }
2398
+ if (_GameStepManager._stepsHistory.length <= 1) {
2399
+ console.warn("[Pixi'VN] No steps to go back");
2400
+ return;
2401
+ }
2402
+ let restoredStep = _GameStepManager.goBackInternal(steps, _GameStepManager.originalStepData);
2403
+ if (restoredStep) {
2404
+ _GameStepManager._originalStepData = restoredStep;
2405
+ _GameStepManager._openedLabels = createExportableElement(restoredStep.openedLabels);
2406
+ if (_GameStepManager.currentLabel && _GameStepManager.currentLabel.onLoadStep) {
2407
+ yield _GameStepManager.currentLabel.onLoadStep(_GameStepManager.currentLabelStepIndex || 0, _GameStepManager.currentLabel);
2408
+ }
2409
+ GameStorageManager.import(createExportableElement(restoredStep.storage));
2410
+ GameWindowManager.import(createExportableElement(restoredStep.canvas));
2411
+ navigate(restoredStep.path);
2412
+ } else {
2413
+ console.error("[Pixi'VN] Error going back");
2414
+ }
2415
+ });
2365
2416
  }
2366
2417
  static goBackInternal(steps, restoredStep) {
2367
2418
  if (steps <= 0) {
@@ -2423,38 +2474,45 @@ var _GameStepManager = class _GameStepManager {
2423
2474
  * @param dataString The history in a JSON string.
2424
2475
  */
2425
2476
  static importJson(dataString) {
2426
- _GameStepManager.import(JSON.parse(dataString));
2477
+ return __async(this, null, function* () {
2478
+ yield _GameStepManager.import(JSON.parse(dataString));
2479
+ });
2427
2480
  }
2428
2481
  /**
2429
2482
  * Import the history from an object.
2430
2483
  * @param data The history in an object.
2431
2484
  */
2432
2485
  static import(data) {
2433
- _GameStepManager.clear();
2434
- try {
2435
- if (data.hasOwnProperty("stepsHistory")) {
2436
- _GameStepManager._stepsHistory = data["stepsHistory"];
2437
- } else {
2438
- console.warn("[Pixi'VN] Could not import stepsHistory data, so will be ignored");
2439
- }
2440
- if (data.hasOwnProperty("openedLabels")) {
2441
- _GameStepManager._openedLabels = data["openedLabels"];
2442
- } else {
2443
- console.warn("[Pixi'VN] Could not import openedLabels data, so will be ignored");
2444
- }
2445
- if (data.hasOwnProperty("lastStepIndex")) {
2446
- _GameStepManager._lastStepIndex = data["lastStepIndex"];
2447
- } else {
2448
- console.warn("[Pixi'VN] Could not import lastStepIndex data, so will be ignored");
2449
- }
2450
- if (data.hasOwnProperty("originalStepData")) {
2451
- _GameStepManager._originalStepData = data["originalStepData"];
2452
- } else {
2453
- console.warn("[Pixi'VN] Could not import originalStepData data, so will be ignored");
2486
+ return __async(this, null, function* () {
2487
+ _GameStepManager.clear();
2488
+ try {
2489
+ if (data.hasOwnProperty("stepsHistory")) {
2490
+ _GameStepManager._stepsHistory = data["stepsHistory"];
2491
+ } else {
2492
+ console.warn("[Pixi'VN] Could not import stepsHistory data, so will be ignored");
2493
+ }
2494
+ if (data.hasOwnProperty("openedLabels")) {
2495
+ _GameStepManager._openedLabels = data["openedLabels"];
2496
+ } else {
2497
+ console.warn("[Pixi'VN] Could not import openedLabels data, so will be ignored");
2498
+ }
2499
+ if (data.hasOwnProperty("lastStepIndex")) {
2500
+ _GameStepManager._lastStepIndex = data["lastStepIndex"];
2501
+ } else {
2502
+ console.warn("[Pixi'VN] Could not import lastStepIndex data, so will be ignored");
2503
+ }
2504
+ if (data.hasOwnProperty("originalStepData")) {
2505
+ _GameStepManager._originalStepData = data["originalStepData"];
2506
+ } else {
2507
+ console.warn("[Pixi'VN] Could not import originalStepData data, so will be ignored");
2508
+ }
2509
+ if (_GameStepManager.currentLabel && _GameStepManager.currentLabel.onLoadStep) {
2510
+ yield _GameStepManager.currentLabel.onLoadStep(_GameStepManager.currentLabelStepIndex || 0, _GameStepManager.currentLabel);
2511
+ }
2512
+ } catch (e) {
2513
+ console.error("[Pixi'VN] Error importing data", e);
2454
2514
  }
2455
- } catch (e) {
2456
- console.error("[Pixi'VN] Error importing data", e);
2457
- }
2515
+ });
2458
2516
  }
2459
2517
  };
2460
2518
  /**
@@ -2481,13 +2539,17 @@ function getSaveJson() {
2481
2539
  return JSON.stringify(saveData);
2482
2540
  }
2483
2541
  function loadSaveData(data, navigate) {
2484
- GameStepManager.import(data.stepData);
2485
- GameStorageManager.import(data.storageData);
2486
- GameWindowManager.import(data.canvasData);
2487
- navigate(data.path);
2542
+ return __async(this, null, function* () {
2543
+ yield GameStepManager.import(data.stepData);
2544
+ GameStorageManager.import(data.storageData);
2545
+ GameWindowManager.import(data.canvasData);
2546
+ navigate(data.path);
2547
+ });
2488
2548
  }
2489
2549
  function loadSaveJson(dataString, navigate) {
2490
- loadSaveData(jsonToSaveData(dataString), navigate);
2550
+ return __async(this, null, function* () {
2551
+ yield loadSaveData(jsonToSaveData(dataString), navigate);
2552
+ });
2491
2553
  }
2492
2554
  function jsonToSaveData(json) {
2493
2555
  return JSON.parse(json);