@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
@@ -2,7 +2,7 @@ import { ChoiceMenuOptionClose } from '../classes/ChoiceMenuOption.mjs';
2
2
  import { StepLabelPropsType, StepLabelResultType } from '../types/StepLabelType.mjs';
3
3
  import CharacterBaseModel from '../classes/CharacterBaseModel.mjs';
4
4
  import DialogueBaseModel from '../classes/DialogueBaseModel.mjs';
5
- import Label from '../classes/Label.mjs';
5
+ import { L as Label } from '../LabelProps-CmRpvUJm.mjs';
6
6
  import ExportedStep from '../interface/export/ExportedStep.mjs';
7
7
  import IHistoryStep from '../interface/IHistoryStep.mjs';
8
8
  import IOpenedLabel from '../interface/IOpenedLabel.mjs';
@@ -10,8 +10,8 @@ import { LabelIdType } from '../types/LabelIdType.mjs';
10
10
  import '../types/StorageElementType.mjs';
11
11
  import '../types/CloseType.mjs';
12
12
  import '../types/LabelRunModeType.mjs';
13
- import '../types/StepHistoryDataType.mjs';
14
13
  import '@drincs/pixi-vn/dist/override';
14
+ import '../types/StepHistoryDataType.mjs';
15
15
  import '../interface/CharacterBaseModelProps.mjs';
16
16
  import '../classes/StoredClassModel.mjs';
17
17
  import '../interface/export/ExportedCanvas.mjs';
@@ -63,6 +63,7 @@ declare class GameStepManager {
63
63
  private static _originalStepData;
64
64
  private static get originalStepData();
65
65
  private static set originalStepData(value);
66
+ private static get currentStepData();
66
67
  /**
67
68
  * Add a label to the history.
68
69
  * @param label The label to add to the history.
@@ -192,7 +193,7 @@ declare class GameStepManager {
192
193
  * }
193
194
  * ```
194
195
  */
195
- static goBack(navigate: (path: string) => void, steps?: number): void;
196
+ static goBack(navigate: (path: string) => void, steps?: number): Promise<void>;
196
197
  private static goBackInternal;
197
198
  /**
198
199
  * Return true if it is possible to go back.
@@ -216,12 +217,12 @@ declare class GameStepManager {
216
217
  * Import the history from a JSON string.
217
218
  * @param dataString The history in a JSON string.
218
219
  */
219
- static importJson(dataString: string): void;
220
+ static importJson(dataString: string): Promise<void>;
220
221
  /**
221
222
  * Import the history from an object.
222
223
  * @param data The history in an object.
223
224
  */
224
- static import(data: object): void;
225
+ static import(data: object): Promise<void>;
225
226
  }
226
227
 
227
228
  export { GameStepManager as default };
@@ -2,7 +2,7 @@ import { ChoiceMenuOptionClose } from '../classes/ChoiceMenuOption.js';
2
2
  import { StepLabelPropsType, StepLabelResultType } from '../types/StepLabelType.js';
3
3
  import CharacterBaseModel from '../classes/CharacterBaseModel.js';
4
4
  import DialogueBaseModel from '../classes/DialogueBaseModel.js';
5
- import Label from '../classes/Label.js';
5
+ import { L as Label } from '../LabelProps-CFV-zRjG.js';
6
6
  import ExportedStep from '../interface/export/ExportedStep.js';
7
7
  import IHistoryStep from '../interface/IHistoryStep.js';
8
8
  import IOpenedLabel from '../interface/IOpenedLabel.js';
@@ -10,8 +10,8 @@ import { LabelIdType } from '../types/LabelIdType.js';
10
10
  import '../types/StorageElementType.js';
11
11
  import '../types/CloseType.js';
12
12
  import '../types/LabelRunModeType.js';
13
- import '../types/StepHistoryDataType.js';
14
13
  import '@drincs/pixi-vn/dist/override';
14
+ import '../types/StepHistoryDataType.js';
15
15
  import '../interface/CharacterBaseModelProps.js';
16
16
  import '../classes/StoredClassModel.js';
17
17
  import '../interface/export/ExportedCanvas.js';
@@ -63,6 +63,7 @@ declare class GameStepManager {
63
63
  private static _originalStepData;
64
64
  private static get originalStepData();
65
65
  private static set originalStepData(value);
66
+ private static get currentStepData();
66
67
  /**
67
68
  * Add a label to the history.
68
69
  * @param label The label to add to the history.
@@ -192,7 +193,7 @@ declare class GameStepManager {
192
193
  * }
193
194
  * ```
194
195
  */
195
- static goBack(navigate: (path: string) => void, steps?: number): void;
196
+ static goBack(navigate: (path: string) => void, steps?: number): Promise<void>;
196
197
  private static goBackInternal;
197
198
  /**
198
199
  * Return true if it is possible to go back.
@@ -216,12 +217,12 @@ declare class GameStepManager {
216
217
  * Import the history from a JSON string.
217
218
  * @param dataString The history in a JSON string.
218
219
  */
219
- static importJson(dataString: string): void;
220
+ static importJson(dataString: string): Promise<void>;
220
221
  /**
221
222
  * Import the history from an object.
222
223
  * @param data The history in an object.
223
224
  */
224
- static import(data: object): void;
225
+ static import(data: object): Promise<void>;
225
226
  }
226
227
 
227
228
  export { GameStepManager as default };
@@ -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/functions/ExportUtility.ts
@@ -347,8 +364,6 @@ function getMemoryContainer(element) {
347
364
  };
348
365
  }
349
366
  function setMemoryContainer(element, memory) {
350
- memory.width && (element.width = memory.width);
351
- memory.height && (element.height = memory.height);
352
367
  memory.isRenderGroup && (element.isRenderGroup = memory.isRenderGroup);
353
368
  memory.blendMode && (element.blendMode = memory.blendMode);
354
369
  memory.tint && (element.tint = memory.tint);
@@ -381,6 +396,8 @@ function setMemoryContainer(element, memory) {
381
396
  memory.interactive && (element.interactive = memory.interactive);
382
397
  memory.interactiveChildren && (element.interactiveChildren = memory.interactiveChildren);
383
398
  memory.hitArea && (element.hitArea = memory.hitArea);
399
+ memory.width && (element.width = memory.width);
400
+ memory.height && (element.height = memory.height);
384
401
  }
385
402
  function getTexture(imageUrl) {
386
403
  return __async(this, null, function* () {
@@ -1546,7 +1563,10 @@ function getChoiceMenuOptions() {
1546
1563
  }
1547
1564
  let label = getLabelById(option.label);
1548
1565
  if (label) {
1549
- let itemLabel = new Label(label.id, label.steps, label.onStepRun, index);
1566
+ let itemLabel = new Label(label.id, label.steps, {
1567
+ onStepStart: label.onStepStart,
1568
+ choiseIndex: index
1569
+ });
1550
1570
  options.push(__spreadProps(__spreadValues({}, option), {
1551
1571
  label: itemLabel
1552
1572
  }));
@@ -1605,8 +1625,9 @@ FadeAlphaTicker = __decorateClass([
1605
1625
  ], FadeAlphaTicker);
1606
1626
 
1607
1627
  // src/functions/TickerUtility.ts
1608
- function updateTickerProgression(args, propertyName, progression) {
1609
- if (args[propertyName] === void 0 || !progression || args[propertyName] === progression.limit) {
1628
+ function updateTickerProgression(args, propertyName, progression, valueConvert) {
1629
+ let limit = valueConvert && progression.limit ? valueConvert(progression.limit) : progression.limit;
1630
+ if (args[propertyName] === void 0 || !progression || args[propertyName] === limit) {
1610
1631
  return;
1611
1632
  }
1612
1633
  if (typeof args[propertyName] === "number") {
@@ -1625,22 +1646,25 @@ function updateTickerProgression(args, propertyName, progression) {
1625
1646
  }
1626
1647
  }
1627
1648
  }
1628
- function getLinearProgression(number, progression) {
1629
- if (progression.limit !== void 0) {
1630
- if (number > progression.limit && progression.amt > 0) {
1631
- return progression.limit;
1632
- } else if (number < progression.limit && progression.amt < 0) {
1633
- return progression.limit;
1649
+ function getLinearProgression(number, progression, valueConvert) {
1650
+ let limit = valueConvert && progression.limit ? valueConvert(progression.limit) : progression.limit;
1651
+ let amt = valueConvert ? valueConvert(progression.amt) : progression.amt;
1652
+ if (limit !== void 0) {
1653
+ if (number > limit && amt > 0) {
1654
+ return limit;
1655
+ } else if (number < limit && amt < 0) {
1656
+ return limit;
1634
1657
  }
1635
1658
  }
1636
- return number + progression.amt / 60;
1659
+ return number + amt;
1637
1660
  }
1638
- function getExponentialProgression(number, progression) {
1639
- if (progression.limit !== void 0) {
1640
- if (number > progression.limit && progression.percentage > 0) {
1641
- return progression.limit;
1642
- } else if (number < progression.limit && progression.percentage < 0) {
1643
- return progression.limit;
1661
+ function getExponentialProgression(number, progression, valueConvert) {
1662
+ let limit = valueConvert && progression.limit ? valueConvert(progression.limit) : progression.limit;
1663
+ if (limit !== void 0) {
1664
+ if (number > limit && progression.percentage > 0) {
1665
+ return limit;
1666
+ } else if (number < limit && progression.percentage < 0) {
1667
+ return limit;
1644
1668
  }
1645
1669
  }
1646
1670
  return number + number * progression.percentage;
@@ -1653,15 +1677,13 @@ var MoveTicker = class extends TickerBase {
1653
1677
  let ySpeed = 1;
1654
1678
  if (args.speed) {
1655
1679
  if (typeof args.speed === "number") {
1656
- xSpeed = args.speed;
1657
- ySpeed = args.speed;
1680
+ xSpeed = this.speedConvert(args.speed);
1681
+ ySpeed = this.speedConvert(args.speed);
1658
1682
  } else {
1659
- xSpeed = args.speed.x;
1660
- ySpeed = args.speed.y;
1683
+ xSpeed = this.speedConvert(args.speed.x);
1684
+ ySpeed = this.speedConvert(args.speed.y);
1661
1685
  }
1662
1686
  }
1663
- xSpeed /= 60;
1664
- ySpeed /= 60;
1665
1687
  let destination = args.destination;
1666
1688
  let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
1667
1689
  if (typeof tagToRemoveAfter2 === "string") {
@@ -1701,7 +1723,10 @@ var MoveTicker = class extends TickerBase {
1701
1723
  }
1702
1724
  });
1703
1725
  if (args.speedProgression)
1704
- updateTickerProgression(args, "speed", args.speedProgression);
1726
+ updateTickerProgression(args, "speed", args.speedProgression, this.speedConvert);
1727
+ }
1728
+ speedConvert(speed) {
1729
+ return speed / 6;
1705
1730
  }
1706
1731
  };
1707
1732
  MoveTicker = __decorateClass([
@@ -1709,7 +1734,7 @@ MoveTicker = __decorateClass([
1709
1734
  ], MoveTicker);
1710
1735
  var RotateTicker = class extends TickerBase {
1711
1736
  fn(ticker, args, tags, tickerId) {
1712
- let speed = (args.speed === void 0 ? 1 : args.speed) / 60;
1737
+ let speed = this.speedConvert(args.speed === void 0 ? 1 : args.speed);
1713
1738
  let clockwise = args.clockwise === void 0 ? true : args.clockwise;
1714
1739
  let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
1715
1740
  if (typeof tagToRemoveAfter2 === "string") {
@@ -1737,7 +1762,10 @@ var RotateTicker = class extends TickerBase {
1737
1762
  }
1738
1763
  });
1739
1764
  if (args.speedProgression)
1740
- updateTickerProgression(args, "speed", args.speedProgression);
1765
+ updateTickerProgression(args, "speed", args.speedProgression, this.speedConvert);
1766
+ }
1767
+ speedConvert(speed) {
1768
+ return speed / 60;
1741
1769
  }
1742
1770
  };
1743
1771
  RotateTicker = __decorateClass([
@@ -1749,15 +1777,13 @@ var ZoomTicker = class extends TickerBase {
1749
1777
  let ySpeed = 0.1;
1750
1778
  if (args.speed) {
1751
1779
  if (typeof args.speed === "number") {
1752
- xSpeed = args.speed;
1753
- ySpeed = args.speed;
1780
+ xSpeed = this.speedConvert(args.speed);
1781
+ ySpeed = this.speedConvert(args.speed);
1754
1782
  } else {
1755
- xSpeed = args.speed.x;
1756
- ySpeed = args.speed.y;
1783
+ xSpeed = this.speedConvert(args.speed.x);
1784
+ ySpeed = this.speedConvert(args.speed.y);
1757
1785
  }
1758
1786
  }
1759
- xSpeed /= 60;
1760
- ySpeed /= 60;
1761
1787
  let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
1762
1788
  if (typeof tagToRemoveAfter2 === "string") {
1763
1789
  tagToRemoveAfter2 = [tagToRemoveAfter2];
@@ -1824,7 +1850,10 @@ var ZoomTicker = class extends TickerBase {
1824
1850
  }
1825
1851
  });
1826
1852
  if (args.speedProgression)
1827
- updateTickerProgression(args, "speed", args.speedProgression);
1853
+ updateTickerProgression(args, "speed", args.speedProgression, this.speedConvert);
1854
+ }
1855
+ speedConvert(speed) {
1856
+ return speed / 60;
1828
1857
  }
1829
1858
  onEndOfTicker(tag, tickerId, _element, tagToRemoveAfter2) {
1830
1859
  GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
@@ -1951,6 +1980,16 @@ var _GameStepManager = class _GameStepManager {
1951
1980
  static set originalStepData(value) {
1952
1981
  _GameStepManager._originalStepData = createExportableElement(value);
1953
1982
  }
1983
+ static get currentStepData() {
1984
+ let currentStepData = {
1985
+ path: window.location.pathname,
1986
+ storage: GameStorageManager.export(),
1987
+ canvas: GameWindowManager.export(),
1988
+ labelIndex: _GameStepManager.currentLabelStepIndex || 0,
1989
+ openedLabels: createExportableElement(_GameStepManager._openedLabels)
1990
+ };
1991
+ return currentStepData;
1992
+ }
1954
1993
  /* Edit History Methods */
1955
1994
  /**
1956
1995
  * Add a label to the history.
@@ -1958,19 +1997,13 @@ var _GameStepManager = class _GameStepManager {
1958
1997
  */
1959
1998
  static addStepHistory(step, choiseMade) {
1960
1999
  let stepHistory = getStepSha1(step);
1961
- let historyStep = {
1962
- path: window.location.pathname,
1963
- storage: GameStorageManager.export(),
1964
- canvas: GameWindowManager.export(),
1965
- labelIndex: _GameStepManager.currentLabelStepIndex || 0,
1966
- openedLabels: createExportableElement(_GameStepManager._openedLabels)
1967
- };
2000
+ let currentStepData = _GameStepManager.currentStepData;
1968
2001
  if (_GameStepManager.originalStepData) {
1969
- if (_GameStepManager.originalStepData.openedLabels.length === historyStep.openedLabels.length) {
2002
+ if (_GameStepManager.originalStepData.openedLabels.length === currentStepData.openedLabels.length) {
1970
2003
  try {
1971
2004
  let lastStepDataOpenedLabelsString = JSON.stringify(_GameStepManager.originalStepData.openedLabels);
1972
- let historyStepOpenedLabelsString = JSON.stringify(historyStep.openedLabels);
1973
- if (lastStepDataOpenedLabelsString === historyStepOpenedLabelsString && _GameStepManager.originalStepData.path === historyStep.path && _GameStepManager.originalStepData.labelIndex === historyStep.labelIndex) {
2005
+ let historyStepOpenedLabelsString = JSON.stringify(currentStepData.openedLabels);
2006
+ if (lastStepDataOpenedLabelsString === historyStepOpenedLabelsString && _GameStepManager.originalStepData.path === currentStepData.path && _GameStepManager.originalStepData.labelIndex === currentStepData.labelIndex) {
1974
2007
  return;
1975
2008
  }
1976
2009
  } catch (e) {
@@ -1978,7 +2011,7 @@ var _GameStepManager = class _GameStepManager {
1978
2011
  }
1979
2012
  }
1980
2013
  }
1981
- let data = deepDiff.diff(_GameStepManager.originalStepData, historyStep);
2014
+ let data = deepDiff.diff(_GameStepManager.originalStepData, currentStepData);
1982
2015
  if (data) {
1983
2016
  let dialoge = void 0;
1984
2017
  let requiredChoices = void 0;
@@ -1997,7 +2030,7 @@ var _GameStepManager = class _GameStepManager {
1997
2030
  index: _GameStepManager.lastStepIndex,
1998
2031
  choiceIndexMade: choiseMade
1999
2032
  });
2000
- _GameStepManager.originalStepData = historyStep;
2033
+ _GameStepManager.originalStepData = currentStepData;
2001
2034
  }
2002
2035
  _GameStepManager.increaseLastStepIndex();
2003
2036
  }
@@ -2088,6 +2121,9 @@ var _GameStepManager = class _GameStepManager {
2088
2121
  console.warn("[Pixi'VN] The player must make a choice");
2089
2122
  return;
2090
2123
  }
2124
+ if (_GameStepManager.currentLabel && _GameStepManager.currentLabel.onStepEnd) {
2125
+ yield _GameStepManager.currentLabel.onStepEnd(_GameStepManager.currentLabelStepIndex || 0, _GameStepManager.currentLabel);
2126
+ }
2091
2127
  _GameStepManager.increaseCurrentStepIndex();
2092
2128
  return yield _GameStepManager.runCurrentStep(props, choiseMade);
2093
2129
  });
@@ -2112,6 +2148,10 @@ var _GameStepManager = class _GameStepManager {
2112
2148
  return;
2113
2149
  }
2114
2150
  if (currentLabel.steps.length > currentLabelStepIndex) {
2151
+ let onStepRun = currentLabel.onStepStart;
2152
+ if (onStepRun) {
2153
+ yield onStepRun(currentLabelStepIndex, currentLabel);
2154
+ }
2115
2155
  let step = currentLabel.steps[currentLabelStepIndex];
2116
2156
  let result = yield step(props);
2117
2157
  _GameStepManager.addStepHistory(step, choiseMade);
@@ -2176,6 +2216,9 @@ var _GameStepManager = class _GameStepManager {
2176
2216
  if (!tempLabel) {
2177
2217
  throw new Error(`[Pixi'VN] Label ${labelId} not found`);
2178
2218
  }
2219
+ if (_GameStepManager.currentLabel && _GameStepManager.currentLabel.onStepEnd) {
2220
+ yield _GameStepManager.currentLabel.onStepEnd(_GameStepManager.currentLabelStepIndex || 0, _GameStepManager.currentLabel);
2221
+ }
2179
2222
  _GameStepManager.pushNewLabel(tempLabel.id);
2180
2223
  } catch (e) {
2181
2224
  console.error("[Pixi'VN] Error calling label", e);
@@ -2234,6 +2277,9 @@ var _GameStepManager = class _GameStepManager {
2234
2277
  if (!tempLabel) {
2235
2278
  throw new Error(`[Pixi'VN] Label ${labelId} not found`);
2236
2279
  }
2280
+ if (_GameStepManager.currentLabel && _GameStepManager.currentLabel.onStepEnd) {
2281
+ yield _GameStepManager.currentLabel.onStepEnd(_GameStepManager.currentLabelStepIndex || 0, _GameStepManager.currentLabel);
2282
+ }
2237
2283
  _GameStepManager.pushNewLabel(tempLabel.id);
2238
2284
  } catch (e) {
2239
2285
  console.error("[Pixi'VN] Error jumping label", e);
@@ -2339,24 +2385,29 @@ var _GameStepManager = class _GameStepManager {
2339
2385
  * ```
2340
2386
  */
2341
2387
  static goBack(navigate, steps = 1) {
2342
- if (steps <= 0) {
2343
- console.warn("[Pixi'VN] Steps must be greater than 0");
2344
- return;
2345
- }
2346
- if (_GameStepManager._stepsHistory.length <= 1) {
2347
- console.warn("[Pixi'VN] No steps to go back");
2348
- return;
2349
- }
2350
- let restoredStep = _GameStepManager.goBackInternal(steps, _GameStepManager.originalStepData);
2351
- if (restoredStep) {
2352
- _GameStepManager._originalStepData = restoredStep;
2353
- _GameStepManager._openedLabels = createExportableElement(restoredStep.openedLabels);
2354
- GameStorageManager.import(createExportableElement(restoredStep.storage));
2355
- GameWindowManager.import(createExportableElement(restoredStep.canvas));
2356
- navigate(restoredStep.path);
2357
- } else {
2358
- console.error("[Pixi'VN] Error going back");
2359
- }
2388
+ return __async(this, null, function* () {
2389
+ if (steps <= 0) {
2390
+ console.warn("[Pixi'VN] Steps must be greater than 0");
2391
+ return;
2392
+ }
2393
+ if (_GameStepManager._stepsHistory.length <= 1) {
2394
+ console.warn("[Pixi'VN] No steps to go back");
2395
+ return;
2396
+ }
2397
+ let restoredStep = _GameStepManager.goBackInternal(steps, _GameStepManager.originalStepData);
2398
+ if (restoredStep) {
2399
+ _GameStepManager._originalStepData = restoredStep;
2400
+ _GameStepManager._openedLabels = createExportableElement(restoredStep.openedLabels);
2401
+ if (_GameStepManager.currentLabel && _GameStepManager.currentLabel.onLoadStep) {
2402
+ yield _GameStepManager.currentLabel.onLoadStep(_GameStepManager.currentLabelStepIndex || 0, _GameStepManager.currentLabel);
2403
+ }
2404
+ GameStorageManager.import(createExportableElement(restoredStep.storage));
2405
+ GameWindowManager.import(createExportableElement(restoredStep.canvas));
2406
+ navigate(restoredStep.path);
2407
+ } else {
2408
+ console.error("[Pixi'VN] Error going back");
2409
+ }
2410
+ });
2360
2411
  }
2361
2412
  static goBackInternal(steps, restoredStep) {
2362
2413
  if (steps <= 0) {
@@ -2418,38 +2469,45 @@ var _GameStepManager = class _GameStepManager {
2418
2469
  * @param dataString The history in a JSON string.
2419
2470
  */
2420
2471
  static importJson(dataString) {
2421
- _GameStepManager.import(JSON.parse(dataString));
2472
+ return __async(this, null, function* () {
2473
+ yield _GameStepManager.import(JSON.parse(dataString));
2474
+ });
2422
2475
  }
2423
2476
  /**
2424
2477
  * Import the history from an object.
2425
2478
  * @param data The history in an object.
2426
2479
  */
2427
2480
  static import(data) {
2428
- _GameStepManager.clear();
2429
- try {
2430
- if (data.hasOwnProperty("stepsHistory")) {
2431
- _GameStepManager._stepsHistory = data["stepsHistory"];
2432
- } else {
2433
- console.warn("[Pixi'VN] Could not import stepsHistory data, so will be ignored");
2434
- }
2435
- if (data.hasOwnProperty("openedLabels")) {
2436
- _GameStepManager._openedLabels = data["openedLabels"];
2437
- } else {
2438
- console.warn("[Pixi'VN] Could not import openedLabels data, so will be ignored");
2439
- }
2440
- if (data.hasOwnProperty("lastStepIndex")) {
2441
- _GameStepManager._lastStepIndex = data["lastStepIndex"];
2442
- } else {
2443
- console.warn("[Pixi'VN] Could not import lastStepIndex data, so will be ignored");
2444
- }
2445
- if (data.hasOwnProperty("originalStepData")) {
2446
- _GameStepManager._originalStepData = data["originalStepData"];
2447
- } else {
2448
- console.warn("[Pixi'VN] Could not import originalStepData data, so will be ignored");
2481
+ return __async(this, null, function* () {
2482
+ _GameStepManager.clear();
2483
+ try {
2484
+ if (data.hasOwnProperty("stepsHistory")) {
2485
+ _GameStepManager._stepsHistory = data["stepsHistory"];
2486
+ } else {
2487
+ console.warn("[Pixi'VN] Could not import stepsHistory data, so will be ignored");
2488
+ }
2489
+ if (data.hasOwnProperty("openedLabels")) {
2490
+ _GameStepManager._openedLabels = data["openedLabels"];
2491
+ } else {
2492
+ console.warn("[Pixi'VN] Could not import openedLabels data, so will be ignored");
2493
+ }
2494
+ if (data.hasOwnProperty("lastStepIndex")) {
2495
+ _GameStepManager._lastStepIndex = data["lastStepIndex"];
2496
+ } else {
2497
+ console.warn("[Pixi'VN] Could not import lastStepIndex data, so will be ignored");
2498
+ }
2499
+ if (data.hasOwnProperty("originalStepData")) {
2500
+ _GameStepManager._originalStepData = data["originalStepData"];
2501
+ } else {
2502
+ console.warn("[Pixi'VN] Could not import originalStepData data, so will be ignored");
2503
+ }
2504
+ if (_GameStepManager.currentLabel && _GameStepManager.currentLabel.onLoadStep) {
2505
+ yield _GameStepManager.currentLabel.onLoadStep(_GameStepManager.currentLabelStepIndex || 0, _GameStepManager.currentLabel);
2506
+ }
2507
+ } catch (e) {
2508
+ console.error("[Pixi'VN] Error importing data", e);
2449
2509
  }
2450
- } catch (e) {
2451
- console.error("[Pixi'VN] Error importing data", e);
2452
- }
2510
+ });
2453
2511
  }
2454
2512
  };
2455
2513
  /**