@drincs/pixi-vn 0.6.1 → 0.6.2

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 (289) hide show
  1. package/dist/{TickerBase-BAUiHet_.d.ts → TickerBase-3rLpDpmb.d.ts} +9 -0
  2. package/dist/{TickerBase-BctFf13y.d.mts → TickerBase-DKYzbzro.d.mts} +9 -0
  3. package/dist/classes/CanvasEvent.d.mts +6 -0
  4. package/dist/classes/CanvasEvent.d.ts +6 -0
  5. package/dist/classes/CanvasEvent.js +7 -0
  6. package/dist/classes/CanvasEvent.js.map +1 -1
  7. package/dist/classes/CanvasEvent.mjs +7 -0
  8. package/dist/classes/CanvasEvent.mjs.map +1 -1
  9. package/dist/classes/CharacterBaseModel.js +93 -65
  10. package/dist/classes/CharacterBaseModel.js.map +1 -1
  11. package/dist/classes/CharacterBaseModel.mjs +93 -65
  12. package/dist/classes/CharacterBaseModel.mjs.map +1 -1
  13. package/dist/classes/ChoiceMenuOption.js +94 -66
  14. package/dist/classes/ChoiceMenuOption.js.map +1 -1
  15. package/dist/classes/ChoiceMenuOption.mjs +94 -66
  16. package/dist/classes/ChoiceMenuOption.mjs.map +1 -1
  17. package/dist/classes/CloseLabel.js +1 -1
  18. package/dist/classes/CloseLabel.js.map +1 -1
  19. package/dist/classes/CloseLabel.mjs +1 -1
  20. package/dist/classes/CloseLabel.mjs.map +1 -1
  21. package/dist/classes/DialogueBaseModel.d.mts +2 -2
  22. package/dist/classes/DialogueBaseModel.d.ts +2 -2
  23. package/dist/classes/DialogueBaseModel.js +5 -5
  24. package/dist/classes/DialogueBaseModel.js.map +1 -1
  25. package/dist/classes/DialogueBaseModel.mjs +5 -5
  26. package/dist/classes/DialogueBaseModel.mjs.map +1 -1
  27. package/dist/classes/Label.d.mts +1 -1
  28. package/dist/classes/Label.d.ts +1 -1
  29. package/dist/classes/Label.js +1 -1
  30. package/dist/classes/Label.js.map +1 -1
  31. package/dist/classes/Label.mjs +1 -1
  32. package/dist/classes/Label.mjs.map +1 -1
  33. package/dist/classes/StoredClassModel.js +93 -65
  34. package/dist/classes/StoredClassModel.js.map +1 -1
  35. package/dist/classes/StoredClassModel.mjs +93 -65
  36. package/dist/classes/StoredClassModel.mjs.map +1 -1
  37. package/dist/classes/canvas/CanvasBase.d.mts +5 -1
  38. package/dist/classes/canvas/CanvasBase.d.ts +5 -1
  39. package/dist/classes/canvas/CanvasBase.js +7 -0
  40. package/dist/classes/canvas/CanvasBase.js.map +1 -1
  41. package/dist/classes/canvas/CanvasBase.mjs +7 -0
  42. package/dist/classes/canvas/CanvasBase.mjs.map +1 -1
  43. package/dist/classes/canvas/CanvasContainer.d.mts +4 -1
  44. package/dist/classes/canvas/CanvasContainer.d.ts +4 -1
  45. package/dist/classes/canvas/CanvasContainer.js +57 -37
  46. package/dist/classes/canvas/CanvasContainer.js.map +1 -1
  47. package/dist/classes/canvas/CanvasContainer.mjs +57 -38
  48. package/dist/classes/canvas/CanvasContainer.mjs.map +1 -1
  49. package/dist/classes/canvas/CanvasImage.d.mts +4 -2
  50. package/dist/classes/canvas/CanvasImage.d.ts +4 -2
  51. package/dist/classes/canvas/CanvasImage.js +33 -20
  52. package/dist/classes/canvas/CanvasImage.js.map +1 -1
  53. package/dist/classes/canvas/CanvasImage.mjs +30 -20
  54. package/dist/classes/canvas/CanvasImage.mjs.map +1 -1
  55. package/dist/classes/canvas/CanvasSprite.d.mts +5 -2
  56. package/dist/classes/canvas/CanvasSprite.d.ts +5 -2
  57. package/dist/classes/canvas/CanvasSprite.js +25 -17
  58. package/dist/classes/canvas/CanvasSprite.js.map +1 -1
  59. package/dist/classes/canvas/CanvasSprite.mjs +25 -18
  60. package/dist/classes/canvas/CanvasSprite.mjs.map +1 -1
  61. package/dist/classes/canvas/CanvasText.d.mts +6 -3
  62. package/dist/classes/canvas/CanvasText.d.ts +6 -3
  63. package/dist/classes/canvas/CanvasText.js +25 -17
  64. package/dist/classes/canvas/CanvasText.js.map +1 -1
  65. package/dist/classes/canvas/CanvasText.mjs +25 -18
  66. package/dist/classes/canvas/CanvasText.mjs.map +1 -1
  67. package/dist/classes/canvas/index.js +184 -158
  68. package/dist/classes/canvas/index.js.map +1 -1
  69. package/dist/classes/canvas/index.mjs +184 -158
  70. package/dist/classes/canvas/index.mjs.map +1 -1
  71. package/dist/classes/index.d.mts +1 -0
  72. package/dist/classes/index.d.ts +1 -0
  73. package/dist/classes/index.js +106 -71
  74. package/dist/classes/index.js.map +1 -1
  75. package/dist/classes/index.mjs +106 -71
  76. package/dist/classes/index.mjs.map +1 -1
  77. package/dist/classes/ticker/FadeAlphaTicker.d.mts +2 -1
  78. package/dist/classes/ticker/FadeAlphaTicker.d.ts +2 -1
  79. package/dist/classes/ticker/FadeAlphaTicker.js +93 -65
  80. package/dist/classes/ticker/FadeAlphaTicker.js.map +1 -1
  81. package/dist/classes/ticker/FadeAlphaTicker.mjs +93 -65
  82. package/dist/classes/ticker/FadeAlphaTicker.mjs.map +1 -1
  83. package/dist/classes/ticker/MoveTicker.d.mts +2 -1
  84. package/dist/classes/ticker/MoveTicker.d.ts +2 -1
  85. package/dist/classes/ticker/MoveTicker.js +93 -65
  86. package/dist/classes/ticker/MoveTicker.js.map +1 -1
  87. package/dist/classes/ticker/MoveTicker.mjs +93 -65
  88. package/dist/classes/ticker/MoveTicker.mjs.map +1 -1
  89. package/dist/classes/ticker/RotateTicker.d.mts +2 -1
  90. package/dist/classes/ticker/RotateTicker.d.ts +2 -1
  91. package/dist/classes/ticker/RotateTicker.js +93 -65
  92. package/dist/classes/ticker/RotateTicker.js.map +1 -1
  93. package/dist/classes/ticker/RotateTicker.mjs +93 -65
  94. package/dist/classes/ticker/RotateTicker.mjs.map +1 -1
  95. package/dist/classes/ticker/TickerBase.d.mts +2 -1
  96. package/dist/classes/ticker/TickerBase.d.ts +2 -1
  97. package/dist/classes/ticker/TickerBase.js +5 -0
  98. package/dist/classes/ticker/TickerBase.js.map +1 -1
  99. package/dist/classes/ticker/TickerBase.mjs +5 -0
  100. package/dist/classes/ticker/TickerBase.mjs.map +1 -1
  101. package/dist/classes/ticker/ZoomTicker.d.mts +9 -3
  102. package/dist/classes/ticker/ZoomTicker.d.ts +9 -3
  103. package/dist/classes/ticker/ZoomTicker.js +108 -66
  104. package/dist/classes/ticker/ZoomTicker.js.map +1 -1
  105. package/dist/classes/ticker/ZoomTicker.mjs +106 -66
  106. package/dist/classes/ticker/ZoomTicker.mjs.map +1 -1
  107. package/dist/classes/ticker/index.d.mts +2 -1
  108. package/dist/classes/ticker/index.d.ts +2 -1
  109. package/dist/classes/ticker/index.js +230 -202
  110. package/dist/classes/ticker/index.js.map +1 -1
  111. package/dist/classes/ticker/index.mjs +230 -202
  112. package/dist/classes/ticker/index.mjs.map +1 -1
  113. package/dist/constants.d.mts +1 -1
  114. package/dist/constants.d.ts +1 -1
  115. package/dist/constants.js +1 -1
  116. package/dist/constants.js.map +1 -1
  117. package/dist/constants.mjs +1 -1
  118. package/dist/constants.mjs.map +1 -1
  119. package/dist/decorators/CanvasElementDecorator.d.mts +3 -3
  120. package/dist/decorators/CanvasElementDecorator.d.ts +3 -3
  121. package/dist/decorators/CanvasElementDecorator.js +63 -43
  122. package/dist/decorators/CanvasElementDecorator.js.map +1 -1
  123. package/dist/decorators/CanvasElementDecorator.mjs +62 -42
  124. package/dist/decorators/CanvasElementDecorator.mjs.map +1 -1
  125. package/dist/decorators/EventDecorator.d.mts +7 -7
  126. package/dist/decorators/EventDecorator.d.ts +7 -7
  127. package/dist/decorators/EventDecorator.js +11 -10
  128. package/dist/decorators/EventDecorator.js.map +1 -1
  129. package/dist/decorators/EventDecorator.mjs +10 -9
  130. package/dist/decorators/EventDecorator.mjs.map +1 -1
  131. package/dist/decorators/LabelDecorator.js +94 -66
  132. package/dist/decorators/LabelDecorator.js.map +1 -1
  133. package/dist/decorators/LabelDecorator.mjs +94 -66
  134. package/dist/decorators/LabelDecorator.mjs.map +1 -1
  135. package/dist/decorators/TickerDecorator.d.mts +5 -5
  136. package/dist/decorators/TickerDecorator.d.ts +5 -5
  137. package/dist/decorators/TickerDecorator.js +6 -5
  138. package/dist/decorators/TickerDecorator.js.map +1 -1
  139. package/dist/decorators/TickerDecorator.mjs +6 -5
  140. package/dist/decorators/TickerDecorator.mjs.map +1 -1
  141. package/dist/decorators/index.d.mts +1 -1
  142. package/dist/decorators/index.d.ts +1 -1
  143. package/dist/decorators/index.js +96 -66
  144. package/dist/decorators/index.js.map +1 -1
  145. package/dist/decorators/index.mjs +96 -66
  146. package/dist/decorators/index.mjs.map +1 -1
  147. package/dist/functions/CanvasUtility.js +56 -37
  148. package/dist/functions/CanvasUtility.js.map +1 -1
  149. package/dist/functions/CanvasUtility.mjs +56 -37
  150. package/dist/functions/CanvasUtility.mjs.map +1 -1
  151. package/dist/functions/DialogueUtility.d.mts +1 -1
  152. package/dist/functions/DialogueUtility.d.ts +1 -1
  153. package/dist/functions/DialogueUtility.js +240 -201
  154. package/dist/functions/DialogueUtility.js.map +1 -1
  155. package/dist/functions/DialogueUtility.mjs +240 -201
  156. package/dist/functions/DialogueUtility.mjs.map +1 -1
  157. package/dist/functions/FlagsUtility.js +93 -65
  158. package/dist/functions/FlagsUtility.js.map +1 -1
  159. package/dist/functions/FlagsUtility.mjs +93 -65
  160. package/dist/functions/FlagsUtility.mjs.map +1 -1
  161. package/dist/functions/GameUtility.js +93 -65
  162. package/dist/functions/GameUtility.js.map +1 -1
  163. package/dist/functions/GameUtility.mjs +93 -65
  164. package/dist/functions/GameUtility.mjs.map +1 -1
  165. package/dist/functions/ImageUtility.d.mts +35 -2
  166. package/dist/functions/ImageUtility.d.ts +35 -2
  167. package/dist/functions/ImageUtility.js +371 -186
  168. package/dist/functions/ImageUtility.js.map +1 -1
  169. package/dist/functions/ImageUtility.mjs +368 -187
  170. package/dist/functions/ImageUtility.mjs.map +1 -1
  171. package/dist/functions/SavesUtility.d.mts +2 -2
  172. package/dist/functions/SavesUtility.d.ts +2 -2
  173. package/dist/functions/SavesUtility.js +141 -71
  174. package/dist/functions/SavesUtility.js.map +1 -1
  175. package/dist/functions/SavesUtility.mjs +141 -71
  176. package/dist/functions/SavesUtility.mjs.map +1 -1
  177. package/dist/functions/index.d.mts +6 -3
  178. package/dist/functions/index.d.ts +6 -3
  179. package/dist/functions/index.js +277 -81
  180. package/dist/functions/index.js.map +1 -1
  181. package/dist/functions/index.mjs +275 -83
  182. package/dist/functions/index.mjs.map +1 -1
  183. package/dist/index.d.mts +4 -4
  184. package/dist/index.d.ts +4 -4
  185. package/dist/index.js +644 -153
  186. package/dist/index.js.map +1 -1
  187. package/dist/index.mjs +642 -155
  188. package/dist/index.mjs.map +1 -1
  189. package/dist/interface/IHistoryStep.d.mts +2 -2
  190. package/dist/interface/IHistoryStep.d.ts +2 -2
  191. package/dist/interface/ISaveData.d.mts +2 -2
  192. package/dist/interface/ISaveData.d.ts +2 -2
  193. package/dist/interface/ITicker.d.mts +2 -1
  194. package/dist/interface/ITicker.d.ts +2 -1
  195. package/dist/interface/ITickersSteps.d.mts +12 -3
  196. package/dist/interface/ITickersSteps.d.ts +12 -3
  197. package/dist/interface/TickerHistory.d.mts +3 -3
  198. package/dist/interface/TickerHistory.d.ts +3 -3
  199. package/dist/interface/canvas/ICanvasBaseMemory.d.mts +1 -1
  200. package/dist/interface/canvas/ICanvasBaseMemory.d.ts +1 -1
  201. package/dist/interface/canvas/ICanvasImageMemory.d.mts +2 -2
  202. package/dist/interface/canvas/ICanvasImageMemory.d.ts +2 -2
  203. package/dist/interface/canvas/ICanvasSpriteMemory.d.mts +1 -2
  204. package/dist/interface/canvas/ICanvasSpriteMemory.d.ts +1 -2
  205. package/dist/interface/canvas/ICanvasTextTextMemory.d.mts +1 -2
  206. package/dist/interface/canvas/ICanvasTextTextMemory.d.ts +1 -2
  207. package/dist/interface/export/ExportedCanvas.d.mts +2 -2
  208. package/dist/interface/export/ExportedCanvas.d.ts +2 -2
  209. package/dist/interface/export/ExportedStep.d.mts +2 -2
  210. package/dist/interface/export/ExportedStep.d.ts +2 -2
  211. package/dist/interface/export/index.d.mts +2 -2
  212. package/dist/interface/export/index.d.ts +2 -2
  213. package/dist/interface/index.d.mts +2 -2
  214. package/dist/interface/index.d.ts +2 -2
  215. package/dist/labels/BaseCanvasElementTestLabel.js +400 -372
  216. package/dist/labels/BaseCanvasElementTestLabel.js.map +1 -1
  217. package/dist/labels/BaseCanvasElementTestLabel.mjs +401 -373
  218. package/dist/labels/BaseCanvasElementTestLabel.mjs.map +1 -1
  219. package/dist/labels/{EventsTestLabel.d.mts → CanvasEventsTestLabel.d.mts} +4 -7
  220. package/dist/labels/{EventsTestLabel.d.ts → CanvasEventsTestLabel.d.ts} +4 -7
  221. package/dist/labels/{EventsTestLabel.js → CanvasEventsTestLabel.js} +320 -98
  222. package/dist/labels/CanvasEventsTestLabel.js.map +1 -0
  223. package/dist/labels/{EventsTestLabel.mjs → CanvasEventsTestLabel.mjs} +320 -98
  224. package/dist/labels/CanvasEventsTestLabel.mjs.map +1 -0
  225. package/dist/labels/{TintingTestLabel.d.mts → CustomTickerCanvasElementTestLabel.d.mts} +5 -4
  226. package/dist/labels/{TintingTestLabel.d.ts → CustomTickerCanvasElementTestLabel.d.ts} +5 -4
  227. package/dist/labels/CustomTickerCanvasElementTestLabel.js +2792 -0
  228. package/dist/labels/CustomTickerCanvasElementTestLabel.js.map +1 -0
  229. package/dist/labels/CustomTickerCanvasElementTestLabel.mjs +2786 -0
  230. package/dist/labels/CustomTickerCanvasElementTestLabel.mjs.map +1 -0
  231. package/dist/labels/{ShowImageTest.js → ImagesAnimationsTestLabel.js} +373 -82
  232. package/dist/labels/ImagesAnimationsTestLabel.js.map +1 -0
  233. package/dist/labels/{ShowImageTest.mjs → ImagesAnimationsTestLabel.mjs} +373 -82
  234. package/dist/labels/ImagesAnimationsTestLabel.mjs.map +1 -0
  235. package/dist/labels/MarkdownTest.js +150 -80
  236. package/dist/labels/MarkdownTest.js.map +1 -1
  237. package/dist/labels/MarkdownTest.mjs +150 -80
  238. package/dist/labels/MarkdownTest.mjs.map +1 -1
  239. package/dist/labels/StartLabel.js +689 -152
  240. package/dist/labels/StartLabel.js.map +1 -1
  241. package/dist/labels/StartLabel.mjs +690 -153
  242. package/dist/labels/StartLabel.mjs.map +1 -1
  243. package/dist/labels/TestConstant.d.mts +3 -1
  244. package/dist/labels/TestConstant.d.ts +3 -1
  245. package/dist/labels/TestConstant.js +97 -65
  246. package/dist/labels/TestConstant.js.map +1 -1
  247. package/dist/labels/TestConstant.mjs +96 -66
  248. package/dist/labels/TestConstant.mjs.map +1 -1
  249. package/dist/labels/TickerTestLabel.js +472 -402
  250. package/dist/labels/TickerTestLabel.js.map +1 -1
  251. package/dist/labels/TickerTestLabel.mjs +473 -403
  252. package/dist/labels/TickerTestLabel.mjs.map +1 -1
  253. package/dist/labels/index.js +689 -152
  254. package/dist/labels/index.js.map +1 -1
  255. package/dist/labels/index.mjs +690 -153
  256. package/dist/labels/index.mjs.map +1 -1
  257. package/dist/managers/StepManager.d.mts +5 -4
  258. package/dist/managers/StepManager.d.ts +5 -4
  259. package/dist/managers/StepManager.js +140 -70
  260. package/dist/managers/StepManager.js.map +1 -1
  261. package/dist/managers/StepManager.mjs +140 -70
  262. package/dist/managers/StepManager.mjs.map +1 -1
  263. package/dist/managers/WindowManager.d.mts +1 -1
  264. package/dist/managers/WindowManager.d.ts +1 -1
  265. package/dist/managers/WindowManager.js +84 -60
  266. package/dist/managers/WindowManager.js.map +1 -1
  267. package/dist/managers/WindowManager.mjs +84 -60
  268. package/dist/managers/WindowManager.mjs.map +1 -1
  269. package/dist/managers/index.d.mts +2 -2
  270. package/dist/managers/index.d.ts +2 -2
  271. package/dist/managers/index.js +140 -70
  272. package/dist/managers/index.js.map +1 -1
  273. package/dist/managers/index.mjs +140 -70
  274. package/dist/managers/index.mjs.map +1 -1
  275. package/dist/types/ticker/MoveTickerProps.d.mts +1 -1
  276. package/dist/types/ticker/MoveTickerProps.d.ts +1 -1
  277. package/dist/types/ticker/RotateTickerProps.d.mts +1 -1
  278. package/dist/types/ticker/RotateTickerProps.d.ts +1 -1
  279. package/package.json +1 -1
  280. package/dist/labels/EventsTestLabel.js.map +0 -1
  281. package/dist/labels/EventsTestLabel.mjs.map +0 -1
  282. package/dist/labels/ShowImageTest.js.map +0 -1
  283. package/dist/labels/ShowImageTest.mjs.map +0 -1
  284. package/dist/labels/TintingTestLabel.js +0 -1786
  285. package/dist/labels/TintingTestLabel.js.map +0 -1
  286. package/dist/labels/TintingTestLabel.mjs +0 -1780
  287. package/dist/labels/TintingTestLabel.mjs.map +0 -1
  288. /package/dist/labels/{ShowImageTest.d.mts → ImagesAnimationsTestLabel.d.mts} +0 -0
  289. /package/dist/labels/{ShowImageTest.d.ts → ImagesAnimationsTestLabel.d.ts} +0 -0
@@ -79,7 +79,7 @@ var Label = class {
79
79
  this._choiseIndex = choiseIndex;
80
80
  }
81
81
  /**
82
- * Get the id of the label
82
+ * Get the id of the label. This variable is used in the system to get the label by id, {@link getLabelById}
83
83
  */
84
84
  get id() {
85
85
  return this._id;
@@ -168,17 +168,23 @@ function exportCanvasElement(element) {
168
168
  return element.memory;
169
169
  }
170
170
  function importCanvasElement(memory) {
171
- let element = getCanvasElementInstanceByClassName(memory.className);
171
+ let element = getCanvasElementInstanceById(memory.pixivnId);
172
172
  if (element) {
173
173
  element.memory = memory;
174
174
  } else {
175
- throw new Error("[Pixi'VN] The element " + memory.className + " could not be created");
175
+ throw new Error("[Pixi'VN] The element " + memory.pixivnId + " could not be created");
176
176
  }
177
177
  return element;
178
178
  }
179
179
 
180
180
  // src/classes/canvas/CanvasContainer.ts
181
+ var CANVAS_CONTAINER_ID = "CanvasContainer";
181
182
  var CanvasContainer = class extends pixi_js.Container {
183
+ constructor(options) {
184
+ super(options);
185
+ this.pixivnId = CANVAS_CONTAINER_ID;
186
+ this.pixivnId = this.constructor.prototype.pixivnId;
187
+ }
182
188
  get memory() {
183
189
  let memory = getMemoryContainer(this);
184
190
  this.children.forEach((child) => {
@@ -194,8 +200,12 @@ var CanvasContainer = class extends pixi_js.Container {
194
200
  }
195
201
  };
196
202
  function getMemoryContainer(element) {
203
+ let className = "CanvasContainer";
204
+ if (element.hasOwnProperty("pixivnId")) {
205
+ className = element.pixivnId;
206
+ }
197
207
  return {
198
- className: "CanvasContainer",
208
+ pixivnId: className,
199
209
  elements: [],
200
210
  width: element.width,
201
211
  height: element.height,
@@ -311,40 +321,43 @@ function getTextStyle(style) {
311
321
 
312
322
  // src/decorators/EventDecorator.ts
313
323
  var registeredEvents = {};
314
- function getEventTypeByClassName(eventName) {
324
+ function getEventTypeById(eventId) {
315
325
  try {
316
- let eventType = registeredEvents[eventName];
326
+ let eventType = registeredEvents[eventId];
317
327
  if (!eventType) {
318
- console.error(`[Pixi'VN] Event ${eventName} not found`);
328
+ console.error(`[Pixi'VN] Event ${eventId} not found`);
319
329
  return;
320
330
  }
321
331
  new eventType();
322
332
  return eventType;
323
333
  } catch (e) {
324
- console.error(`[Pixi'VN] Error while getting Event ${eventName}`, e);
334
+ console.error(`[Pixi'VN] Error while getting Event ${eventId}`, e);
325
335
  return;
326
336
  }
327
337
  }
328
- function getEventInstanceByClassName(eventName) {
338
+ function getEventInstanceById(eventId) {
329
339
  try {
330
- let eventType = registeredEvents[eventName];
340
+ let eventType = registeredEvents[eventId];
331
341
  if (!eventType) {
332
- console.error(`[Pixi'VN] Event ${eventName} not found`);
342
+ console.error(`[Pixi'VN] Event ${eventId} not found`);
333
343
  return;
334
344
  }
335
345
  let event = new eventType();
336
346
  return event;
337
347
  } catch (e) {
338
- console.error(`[Pixi'VN] Error while getting Event ${eventName}`, e);
348
+ console.error(`[Pixi'VN] Error while getting Event ${eventId}`, e);
339
349
  return;
340
350
  }
341
351
  }
342
352
 
343
353
  // src/classes/canvas/CanvasSprite.ts
354
+ var CANVAS_SPRITE_ID = "CanvasSprite";
344
355
  var CanvasSprite = class _CanvasSprite extends pixi_js.Sprite {
345
- constructor() {
346
- super(...arguments);
356
+ constructor(options) {
357
+ super(options);
358
+ this.pixivnId = CANVAS_SPRITE_ID;
347
359
  this._onEvents = {};
360
+ this.pixivnId = this.constructor.prototype.pixivnId;
348
361
  }
349
362
  get memory() {
350
363
  return getMemorySprite(this);
@@ -385,9 +398,9 @@ var CanvasSprite = class _CanvasSprite extends pixi_js.Sprite {
385
398
  * ```
386
399
  */
387
400
  onEvent(event, eventClass) {
388
- let className = eventClass.name;
389
- let instance = getEventInstanceByClassName(className);
390
- this._onEvents[event] = className;
401
+ let id = eventClass.prototype.id;
402
+ let instance = getEventInstanceById(id);
403
+ this._onEvents[event] = id;
391
404
  if (instance) {
392
405
  super.on(event, () => {
393
406
  instance.fn(event, this);
@@ -416,7 +429,7 @@ var CanvasSprite = class _CanvasSprite extends pixi_js.Sprite {
416
429
  function getMemorySprite(element) {
417
430
  let temp = getMemoryContainer(element);
418
431
  return __spreadProps(__spreadValues({}, temp), {
419
- className: "CanvasSprite",
432
+ pixivnId: element.pixivnId,
420
433
  textureImage: getTextureMemory(element.texture),
421
434
  anchor: { x: element.anchor.x, y: element.anchor.y },
422
435
  roundPixels: element.roundPixels,
@@ -439,8 +452,8 @@ function setMemorySprite(element, memory) {
439
452
  }
440
453
  memory.roundPixels && (element.roundPixels = memory.roundPixels);
441
454
  for (let event in memory.onEvents) {
442
- let className = memory.onEvents[event];
443
- let instance = getEventTypeByClassName(className);
455
+ let id = memory.onEvents[event];
456
+ let instance = getEventTypeById(id);
444
457
  if (instance) {
445
458
  element.onEvent(event, instance);
446
459
  }
@@ -448,9 +461,11 @@ function setMemorySprite(element, memory) {
448
461
  }
449
462
 
450
463
  // src/classes/canvas/CanvasImage.ts
464
+ var CANVAS_IMAGE_ID = "CanvasImage";
451
465
  var CanvasImage = class _CanvasImage extends CanvasSprite {
452
466
  constructor(options, imageLink) {
453
467
  super(options);
468
+ this.pixivnId = CANVAS_IMAGE_ID;
454
469
  this.imageLink = "";
455
470
  if (imageLink) {
456
471
  this.imageLink = imageLink;
@@ -458,12 +473,13 @@ var CanvasImage = class _CanvasImage extends CanvasSprite {
458
473
  }
459
474
  get memory() {
460
475
  return __spreadProps(__spreadValues({}, getMemorySprite(this)), {
461
- className: "CanvasImage",
462
- textureImage: { image: this.imageLink }
476
+ pixivnId: this.pixivnId,
477
+ imageLink: this.imageLink
463
478
  });
464
479
  }
465
480
  set memory(memory) {
466
481
  setMemorySprite(this, memory);
482
+ this.imageLink = memory.imageLink;
467
483
  }
468
484
  static from(source, skipCache) {
469
485
  let sprite = pixi_js.Sprite.from(source, skipCache);
@@ -491,10 +507,13 @@ var CanvasImage = class _CanvasImage extends CanvasSprite {
491
507
  });
492
508
  }
493
509
  };
510
+ var CANVAS_TEXT_ID = "CanvasText";
494
511
  var CanvasText = class extends pixi_js.Text {
495
- constructor() {
496
- super(...arguments);
512
+ constructor(options) {
513
+ super(options);
514
+ this.pixivnId = CANVAS_TEXT_ID;
497
515
  this._onEvents = {};
516
+ this.pixivnId = this.constructor.prototype.pixivnId;
498
517
  }
499
518
  get memory() {
500
519
  return getMemoryText(this);
@@ -535,9 +554,9 @@ var CanvasText = class extends pixi_js.Text {
535
554
  * ```
536
555
  */
537
556
  onEvent(event, eventClass) {
538
- let className = eventClass.name;
539
- let instance = getEventInstanceByClassName(className);
540
- this._onEvents[event] = className;
557
+ let id = eventClass.prototype.id;
558
+ let instance = getEventInstanceById(id);
559
+ this._onEvents[event] = id;
541
560
  if (instance) {
542
561
  super.on(event, () => {
543
562
  instance.fn(event, this);
@@ -560,7 +579,7 @@ var CanvasText = class extends pixi_js.Text {
560
579
  function getMemoryText(element) {
561
580
  let temp = getMemoryContainer(element);
562
581
  return __spreadProps(__spreadValues({}, temp), {
563
- className: "CanvasText",
582
+ pixivnId: element.pixivnId,
564
583
  anchor: { x: element.anchor.x, y: element.anchor.y },
565
584
  text: element.text,
566
585
  resolution: element.resolution,
@@ -583,8 +602,8 @@ function setMemoryText(element, memory) {
583
602
  memory.style && (element.style = memory.style);
584
603
  memory.roundPixels && (element.roundPixels = memory.roundPixels);
585
604
  for (let event in memory.onEvents) {
586
- let className = memory.onEvents[event];
587
- let instance = getEventTypeByClassName(className);
605
+ let id = memory.onEvents[event];
606
+ let instance = getEventTypeById(id);
588
607
  if (instance) {
589
608
  element.onEvent(event, instance);
590
609
  }
@@ -593,28 +612,28 @@ function setMemoryText(element, memory) {
593
612
 
594
613
  // src/decorators/CanvasElementDecorator.ts
595
614
  var registeredCanvasElement = {};
596
- function getCanvasElementInstanceByClassName(canvasName) {
615
+ function getCanvasElementInstanceById(canvasId) {
597
616
  try {
598
- let eventType = registeredCanvasElement[canvasName];
617
+ let eventType = registeredCanvasElement[canvasId];
599
618
  if (!eventType) {
600
- if (canvasName === "CanvasContainer") {
619
+ if (canvasId === CANVAS_CONTAINER_ID) {
601
620
  eventType = CanvasContainer;
602
- } else if (canvasName === "CanvasImage") {
621
+ } else if (canvasId === CANVAS_IMAGE_ID) {
603
622
  eventType = CanvasImage;
604
- } else if (canvasName === "CanvasSprite") {
623
+ } else if (canvasId === CANVAS_SPRITE_ID) {
605
624
  eventType = CanvasSprite;
606
- } else if (canvasName === "CanvasText") {
625
+ } else if (canvasId === CANVAS_TEXT_ID) {
607
626
  eventType = CanvasText;
608
627
  }
609
628
  }
610
629
  if (!eventType) {
611
- console.error(`[Pixi'VN] CanvasElement ${canvasName} not found`);
630
+ console.error(`[Pixi'VN] CanvasElement ${canvasId} not found`);
612
631
  return;
613
632
  }
614
633
  let canvasElement = new eventType();
615
634
  return canvasElement;
616
635
  } catch (e) {
617
- console.error(`[Pixi'VN] Error while getting CanvasElement ${canvasName}`, e);
636
+ console.error(`[Pixi'VN] Error while getting CanvasElement ${canvasId}`, e);
618
637
  return;
619
638
  }
620
639
  }
@@ -642,19 +661,20 @@ function tickerDecorator(name) {
642
661
  if (registeredTickers[name]) {
643
662
  console.info(`[Pixi'VN] Ticker ${name} already exists, it will be overwritten`);
644
663
  }
664
+ target.prototype.id = name;
645
665
  registeredTickers[name] = target;
646
666
  };
647
667
  }
648
- function geTickerInstanceByClassName(tickerName, args, duration, priority) {
668
+ function geTickerInstanceById(tickerId, args, duration, priority) {
649
669
  try {
650
- let ticker = registeredTickers[tickerName];
670
+ let ticker = registeredTickers[tickerId];
651
671
  if (!ticker) {
652
- console.error(`[Pixi'VN] Ticker ${tickerName} not found`);
672
+ console.error(`[Pixi'VN] Ticker ${tickerId} not found`);
653
673
  return;
654
674
  }
655
675
  return new ticker(args, duration, priority);
656
676
  } catch (e) {
657
- console.error(`[Pixi'VN] Error while getting Ticker ${tickerName}`, e);
677
+ console.error(`[Pixi'VN] Error while getting Ticker ${tickerId}`, e);
658
678
  return;
659
679
  }
660
680
  }
@@ -717,21 +737,21 @@ var ChoiceMenuOptionClose = class {
717
737
  // src/functions/DialogueUtility.ts
718
738
  function setDialogue(props) {
719
739
  let text = "";
720
- let characterId = void 0;
740
+ let character = void 0;
721
741
  let dialogue;
722
742
  if (typeof props === "string") {
723
743
  text = props;
724
- dialogue = new DialogueBaseModel(text, characterId);
744
+ dialogue = new DialogueBaseModel(text, character);
725
745
  } else if (!(props instanceof DialogueBaseModel)) {
726
746
  text = props.text;
727
747
  if (props.character) {
728
748
  if (typeof props.character === "string") {
729
- characterId = props.character;
749
+ character = props.character;
730
750
  } else {
731
- characterId = props.character.id;
751
+ character = props.character.id;
732
752
  }
733
753
  }
734
- dialogue = new DialogueBaseModel(text, characterId);
754
+ dialogue = new DialogueBaseModel(text, character);
735
755
  } else {
736
756
  dialogue = props;
737
757
  }
@@ -757,6 +777,34 @@ function setChoiceMenuOptions(options) {
757
777
  GameStorageManager.setVariable(GameStorageManager.keysSystem.CURRENT_MENU_OPTIONS_MEMORY_KEY, value);
758
778
  GameStorageManager.setVariable(GameStorageManager.keysSystem.LAST_MENU_OPTIONS_ADDED_IN_STEP_MEMORY_KEY, GameStepManager.lastStepIndex);
759
779
  }
780
+ function getChoiceMenuOptions() {
781
+ let d = GameStorageManager.getVariable(GameStorageManager.keysSystem.CURRENT_MENU_OPTIONS_MEMORY_KEY);
782
+ if (d) {
783
+ let options = [];
784
+ d.forEach((option, index) => {
785
+ if (option.type === Close) {
786
+ let itemLabel = newCloseLabel(index);
787
+ options.push({
788
+ text: option.text,
789
+ label: itemLabel,
790
+ type: Close,
791
+ closeCurrentLabel: option.closeCurrentLabel,
792
+ props: {}
793
+ });
794
+ return;
795
+ }
796
+ let label = getLabelById(option.label);
797
+ if (label) {
798
+ let itemLabel = new Label(label.id, label.steps, label.onStepRun, index);
799
+ options.push(__spreadProps(__spreadValues({}, option), {
800
+ label: itemLabel
801
+ }));
802
+ }
803
+ });
804
+ return options;
805
+ }
806
+ return void 0;
807
+ }
760
808
 
761
809
  // src/classes/ticker/TickerBase.ts
762
810
  var TickerBase = class {
@@ -766,9 +814,14 @@ var TickerBase = class {
766
814
  * @param priority The priority of the ticker. @default UPDATE_PRIORITY.NORMAL
767
815
  */
768
816
  constructor(args, duration, priority) {
817
+ /**
818
+ * Get the id of the ticker. This variable is used in the system to get the ticker by id, {@link geTickerInstanceById}
819
+ */
820
+ this.id = "ticker_id_not_set";
769
821
  this.args = args;
770
822
  this.duration = duration;
771
823
  this.priority = priority;
824
+ this.id = this.constructor.prototype.id;
772
825
  }
773
826
  /**
774
827
  * The method that will be called every frame.
@@ -991,8 +1044,8 @@ var ZoomTicker = class extends TickerBase {
991
1044
  tagToRemoveAfter2 = [tagToRemoveAfter2];
992
1045
  }
993
1046
  let type = args.type || "zoom";
994
- let xLimit = Infinity;
995
- let yLimit = Infinity;
1047
+ let xLimit = type === "zoom" ? Infinity : 0;
1048
+ let yLimit = type === "zoom" ? Infinity : 0;
996
1049
  if (args.limit) {
997
1050
  if (typeof args.limit === "number") {
998
1051
  xLimit = args.limit;
@@ -1031,7 +1084,7 @@ var ZoomTicker = class extends TickerBase {
1031
1084
  if (element.scale.x >= xLimit && element.scale.y >= yLimit) {
1032
1085
  element.scale.x = xLimit;
1033
1086
  element.scale.y = yLimit;
1034
- GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
1087
+ this.onEndOfTicker(tag, tickerId, element, tagToRemoveAfter2);
1035
1088
  }
1036
1089
  } else if (type === "unzoom") {
1037
1090
  if (element.scale.x < xLimit) {
@@ -1043,21 +1096,36 @@ var ZoomTicker = class extends TickerBase {
1043
1096
  if (element.scale.x <= xLimit && element.scale.y <= yLimit) {
1044
1097
  element.scale.x = xLimit;
1045
1098
  element.scale.y = yLimit;
1046
- GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
1099
+ this.onEndOfTicker(tag, tickerId, element, tagToRemoveAfter2);
1047
1100
  }
1048
1101
  }
1049
1102
  if (xSpeed < 1e-5 && ySpeed < 1e-5 && !(args.speedProgression && args.speedProgression.type == "linear" && args.speedProgression.amt != 0)) {
1050
- GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
1103
+ this.onEndOfTicker(tag, tickerId, element, tagToRemoveAfter2);
1051
1104
  }
1052
1105
  }
1053
1106
  });
1054
1107
  if (args.speedProgression)
1055
1108
  updateTickerProgression(args, "speed", args.speedProgression);
1056
1109
  }
1110
+ onEndOfTicker(tag, tickerId, _element, tagToRemoveAfter2) {
1111
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
1112
+ }
1057
1113
  };
1058
1114
  ZoomTicker = __decorateClass([
1059
1115
  tickerDecorator()
1060
1116
  ], ZoomTicker);
1117
+ var ZoomInOutTicker = class extends ZoomTicker {
1118
+ constructor(props, duration, priority) {
1119
+ super(props, duration, priority);
1120
+ }
1121
+ onEndOfTicker(tag, tickerId, element, tagToRemoveAfter2) {
1122
+ if (element.children.length > 0) {
1123
+ let elementChild = element.children[0];
1124
+ GameWindowManager.addCanvasElement(tag, elementChild);
1125
+ }
1126
+ super.onEndOfTicker(tag, tickerId, element, tagToRemoveAfter2);
1127
+ }
1128
+ };
1061
1129
 
1062
1130
  // src/constants.ts
1063
1131
  var Repeat = "repeat";
@@ -1172,6 +1240,147 @@ function showWithFadeTransition(_0, _1) {
1172
1240
  function removeWithFadeTransition(tag, props = {}, priority) {
1173
1241
  return removeWithDissolveTransition(tag, props, priority);
1174
1242
  }
1243
+ function moveIn(_0, _1) {
1244
+ return __async(this, arguments, function* (tag, image, props = { direction: "right" }, priority) {
1245
+ var _a;
1246
+ let canvasElement;
1247
+ if (typeof image === "string") {
1248
+ canvasElement = addImage(tag, image);
1249
+ } else {
1250
+ canvasElement = image;
1251
+ GameWindowManager.addCanvasElement(tag, canvasElement);
1252
+ }
1253
+ if (canvasElement instanceof CanvasImage && ((_a = canvasElement.texture) == null ? void 0 : _a.label) == "EMPTY") {
1254
+ yield canvasElement.load();
1255
+ }
1256
+ let destination = { x: canvasElement.x, y: canvasElement.y };
1257
+ if (props.direction == "up") {
1258
+ canvasElement.y = GameWindowManager.canvasHeight + canvasElement.height;
1259
+ } else if (props.direction == "down") {
1260
+ canvasElement.y = -canvasElement.height;
1261
+ } else if (props.direction == "left") {
1262
+ canvasElement.x = GameWindowManager.canvasWidth + canvasElement.width;
1263
+ } else if (props.direction == "right") {
1264
+ canvasElement.x = -canvasElement.width;
1265
+ }
1266
+ let effect = new MoveTicker(__spreadProps(__spreadValues({}, props), {
1267
+ destination,
1268
+ startOnlyIfHaveTexture: true
1269
+ }), priority);
1270
+ GameWindowManager.addTicker(tag, effect);
1271
+ });
1272
+ }
1273
+ function moveOut(tag, props = { direction: "right" }, priority) {
1274
+ let canvasElement = GameWindowManager.getCanvasElement(tag);
1275
+ if (!canvasElement) {
1276
+ console.warn("[Pixi'VN] The canvas element is not found.");
1277
+ return;
1278
+ }
1279
+ let destination = { x: canvasElement.x, y: canvasElement.y };
1280
+ if (props.direction == "up") {
1281
+ destination.y = -canvasElement.height;
1282
+ } else if (props.direction == "down") {
1283
+ destination.y = GameWindowManager.canvasHeight + canvasElement.height;
1284
+ } else if (props.direction == "left") {
1285
+ destination.x = -canvasElement.width;
1286
+ } else if (props.direction == "right") {
1287
+ destination.x = GameWindowManager.canvasWidth + canvasElement.width;
1288
+ }
1289
+ let effect = new MoveTicker(__spreadProps(__spreadValues({}, props), {
1290
+ destination,
1291
+ startOnlyIfHaveTexture: true,
1292
+ tagToRemoveAfter: tag
1293
+ }), priority);
1294
+ GameWindowManager.addTicker(tag, effect);
1295
+ }
1296
+ function zoomIn(_0, _1) {
1297
+ return __async(this, arguments, function* (tag, image, props = { direction: "right" }, priority) {
1298
+ var _a;
1299
+ let canvasElement;
1300
+ if (typeof image === "string") {
1301
+ canvasElement = new CanvasImage({}, image);
1302
+ } else {
1303
+ canvasElement = image;
1304
+ }
1305
+ if (canvasElement instanceof CanvasImage && ((_a = canvasElement.texture) == null ? void 0 : _a.label) == "EMPTY") {
1306
+ yield canvasElement.load();
1307
+ }
1308
+ let container = new CanvasContainer();
1309
+ container.addChild(canvasElement);
1310
+ container.height = GameWindowManager.canvasHeight;
1311
+ container.width = GameWindowManager.canvasWidth;
1312
+ GameWindowManager.addCanvasElement(tag, container);
1313
+ if (props.direction == "up") {
1314
+ container.pivot.y = GameWindowManager.canvasHeight;
1315
+ container.pivot.x = GameWindowManager.canvasWidth / 2;
1316
+ container.y = GameWindowManager.canvasHeight;
1317
+ container.x = GameWindowManager.canvasWidth / 2;
1318
+ } else if (props.direction == "down") {
1319
+ container.pivot.y = 0;
1320
+ container.pivot.x = GameWindowManager.canvasWidth / 2;
1321
+ container.y = 0;
1322
+ container.x = GameWindowManager.canvasWidth / 2;
1323
+ } else if (props.direction == "left") {
1324
+ container.pivot.x = GameWindowManager.canvasWidth;
1325
+ container.pivot.y = GameWindowManager.canvasHeight / 2;
1326
+ container.x = GameWindowManager.canvasWidth;
1327
+ container.y = GameWindowManager.canvasHeight / 2;
1328
+ } else if (props.direction == "right") {
1329
+ container.pivot.x = 0;
1330
+ container.pivot.y = GameWindowManager.canvasHeight / 2;
1331
+ container.x = 0;
1332
+ container.y = GameWindowManager.canvasHeight / 2;
1333
+ }
1334
+ container.scale.set(0);
1335
+ let effect = new ZoomInOutTicker(__spreadProps(__spreadValues({}, props), {
1336
+ startOnlyIfHaveTexture: true,
1337
+ type: "zoom",
1338
+ limit: 1
1339
+ }), priority);
1340
+ GameWindowManager.addTicker(tag, effect);
1341
+ });
1342
+ }
1343
+ function zoomOut(tag, props = { direction: "right" }, priority) {
1344
+ let canvasElement = GameWindowManager.getCanvasElement(tag);
1345
+ if (!canvasElement) {
1346
+ console.warn("[Pixi'VN] The canvas element is not found.");
1347
+ return;
1348
+ }
1349
+ let container = new CanvasContainer();
1350
+ container.addChild(canvasElement);
1351
+ container.height = GameWindowManager.canvasHeight;
1352
+ container.width = GameWindowManager.canvasWidth;
1353
+ GameWindowManager.addCanvasElement(tag, container);
1354
+ if (props.direction == "up") {
1355
+ container.pivot.y = GameWindowManager.canvasHeight;
1356
+ container.pivot.x = GameWindowManager.canvasWidth / 2;
1357
+ container.y = GameWindowManager.canvasHeight;
1358
+ container.x = GameWindowManager.canvasWidth / 2;
1359
+ } else if (props.direction == "down") {
1360
+ container.pivot.y = 0;
1361
+ container.pivot.x = GameWindowManager.canvasWidth / 2;
1362
+ container.y = 0;
1363
+ container.x = GameWindowManager.canvasWidth / 2;
1364
+ } else if (props.direction == "left") {
1365
+ container.pivot.x = GameWindowManager.canvasWidth;
1366
+ container.pivot.y = GameWindowManager.canvasHeight / 2;
1367
+ container.x = GameWindowManager.canvasWidth;
1368
+ container.y = GameWindowManager.canvasHeight / 2;
1369
+ } else if (props.direction == "right") {
1370
+ container.pivot.x = 0;
1371
+ container.pivot.y = GameWindowManager.canvasHeight / 2;
1372
+ container.x = 0;
1373
+ container.y = GameWindowManager.canvasHeight / 2;
1374
+ }
1375
+ container.scale.set(1);
1376
+ let effect = new ZoomInOutTicker(__spreadProps(__spreadValues({}, props), {
1377
+ startOnlyIfHaveTexture: true,
1378
+ type: "unzoom",
1379
+ limit: 0,
1380
+ tagToRemoveAfter: tag
1381
+ }), priority);
1382
+ GameWindowManager.addTicker(tag, effect);
1383
+ }
1175
1384
 
1176
1385
  // src/functions/ExportUtility.ts
1177
1386
  function createExportableElement(element) {
@@ -1634,18 +1843,18 @@ var _GameWindowManager = class _GameWindowManager {
1634
1843
  * ```
1635
1844
  */
1636
1845
  static addTicker(canvasElementTag, ticker) {
1637
- let tickerName = ticker.constructor.name;
1846
+ let tickerId = ticker.id;
1638
1847
  if (typeof canvasElementTag === "string") {
1639
1848
  canvasElementTag = [canvasElementTag];
1640
1849
  }
1641
- if (!geTickerInstanceByClassName(tickerName, ticker.args, ticker.duration, ticker.priority)) {
1642
- console.error(`[Pixi'VN] Ticker ${tickerName} not found`);
1850
+ if (!geTickerInstanceById(tickerId, ticker.args, ticker.duration, ticker.priority)) {
1851
+ console.error(`[Pixi'VN] Ticker ${tickerId} not found`);
1643
1852
  return;
1644
1853
  }
1645
1854
  let tickerHistory = {
1646
1855
  fn: () => {
1647
1856
  },
1648
- className: tickerName,
1857
+ id: tickerId,
1649
1858
  args: createExportableElement(ticker.args),
1650
1859
  canvasElementTags: canvasElementTag,
1651
1860
  priority: ticker.priority,
@@ -1661,11 +1870,11 @@ var _GameWindowManager = class _GameWindowManager {
1661
1870
  _GameWindowManager.removeTicker(id);
1662
1871
  }
1663
1872
  }, ticker.duration * 1e3);
1664
- _GameWindowManager.addTickerTimeoutInfo(canvasElementTag, tickerName, timeout.toString(), true);
1873
+ _GameWindowManager.addTickerTimeoutInfo(canvasElementTag, tickerId, timeout.toString(), true);
1665
1874
  }
1666
1875
  }
1667
1876
  static pushTicker(id, tickerData, ticker) {
1668
- _GameWindowManager.removeAssociationBetweenTickerCanvasElement(tickerData.canvasElementTags, tickerData);
1877
+ _GameWindowManager.removeAssociationBetweenTickerCanvasElement(tickerData.canvasElementTags, ticker);
1669
1878
  _GameWindowManager._currentTickers[id] = tickerData;
1670
1879
  tickerData.fn = (t) => {
1671
1880
  let data = _GameWindowManager._currentTickers[id];
@@ -1706,9 +1915,9 @@ var _GameWindowManager = class _GameWindowManager {
1706
1915
  if (step.hasOwnProperty("type") && step.type === "pause") {
1707
1916
  return step;
1708
1917
  }
1709
- let tickerName = step.constructor.name;
1918
+ let tickerId = step.id;
1710
1919
  return {
1711
- ticker: tickerName,
1920
+ ticker: tickerId,
1712
1921
  args: createExportableElement(step.args),
1713
1922
  duration: step.duration
1714
1923
  };
@@ -1746,16 +1955,16 @@ var _GameWindowManager = class _GameWindowManager {
1746
1955
  _GameWindowManager.addTickerTimeoutInfo(tag, "steps", timeout.toString(), false);
1747
1956
  return;
1748
1957
  }
1749
- let ticker = geTickerInstanceByClassName(step.ticker, step.args, step.duration, step.priority);
1958
+ let ticker = geTickerInstanceById(step.ticker, step.args, step.duration, step.priority);
1750
1959
  if (!ticker) {
1751
1960
  console.error(`[Pixi'VN] Ticker ${step.ticker} not found`);
1752
1961
  return;
1753
1962
  }
1754
- let tickerName = ticker.constructor.name;
1963
+ let tickerName = ticker.id;
1755
1964
  let tickerHistory = {
1756
1965
  fn: () => {
1757
1966
  },
1758
- className: tickerName,
1967
+ id: tickerName,
1759
1968
  args: createExportableElement(ticker.args),
1760
1969
  canvasElementTags: [tag],
1761
1970
  priority: ticker.priority,
@@ -1812,26 +2021,26 @@ var _GameWindowManager = class _GameWindowManager {
1812
2021
  * ```
1813
2022
  */
1814
2023
  static removeAssociationBetweenTickerCanvasElement(tags, ticker) {
1815
- let tickerName;
2024
+ let tickerId;
1816
2025
  if (typeof ticker === "string") {
1817
- tickerName = ticker;
2026
+ tickerId = ticker;
1818
2027
  } else if (ticker instanceof TickerBase) {
1819
- tickerName = ticker.constructor.name;
2028
+ tickerId = ticker.id;
1820
2029
  } else {
1821
- tickerName = ticker.name;
2030
+ tickerId = ticker.prototype.id;
1822
2031
  }
1823
2032
  if (typeof tags === "string") {
1824
2033
  tags = [tags];
1825
2034
  }
1826
2035
  for (let id in _GameWindowManager._currentTickers) {
1827
2036
  let ticker2 = _GameWindowManager._currentTickers[id];
1828
- if (ticker2.className === tickerName) {
2037
+ if (ticker2.id === tickerId) {
1829
2038
  _GameWindowManager._currentTickers[id].canvasElementTags = ticker2.canvasElementTags.filter((e) => !tags.includes(e));
1830
2039
  }
1831
2040
  }
1832
2041
  for (let timeout in _GameWindowManager._currentTickersTimeouts) {
1833
2042
  let TickerTimeout = _GameWindowManager._currentTickersTimeouts[timeout];
1834
- if (TickerTimeout.ticker === tickerName && TickerTimeout.canBeDeletedBeforeEnd) {
2043
+ if (TickerTimeout.ticker === tickerId && TickerTimeout.canBeDeletedBeforeEnd) {
1835
2044
  _GameWindowManager._currentTickersTimeouts[timeout].tags = TickerTimeout.tags.filter((t) => !tags.includes(t));
1836
2045
  }
1837
2046
  }
@@ -2017,11 +2226,11 @@ var _GameWindowManager = class _GameWindowManager {
2017
2226
  for (let id in currentTickers) {
2018
2227
  let t = currentTickers[id];
2019
2228
  let tags = t.canvasElementTags;
2020
- let ticker = geTickerInstanceByClassName(t.className, t.args, t.duration, t.priority);
2229
+ let ticker = geTickerInstanceById(t.id, t.args, t.duration, t.priority);
2021
2230
  if (ticker) {
2022
2231
  _GameWindowManager.addTicker(tags, ticker);
2023
2232
  } else {
2024
- console.error(`[Pixi'VN] Ticker ${t.className} not found`);
2233
+ console.error(`[Pixi'VN] Ticker ${t.id} not found`);
2025
2234
  }
2026
2235
  }
2027
2236
  }
@@ -2222,6 +2431,13 @@ var _GameStepManager = class _GameStepManager {
2222
2431
  _GameStepManager._openedLabels = _GameStepManager.originalStepData.openedLabels;
2223
2432
  }
2224
2433
  /* Run Methods */
2434
+ static get canGoNext() {
2435
+ let options = getChoiceMenuOptions();
2436
+ if (options && options.length > 0) {
2437
+ return false;
2438
+ }
2439
+ return true;
2440
+ }
2225
2441
  /**
2226
2442
  * Execute the next step and add it to the history.
2227
2443
  * @param props The props to pass to the step.
@@ -2231,7 +2447,7 @@ var _GameStepManager = class _GameStepManager {
2231
2447
  * ```typescript
2232
2448
  * function nextOnClick() {
2233
2449
  * setLoading(true)
2234
- * GameStepManager.runNextStep(yourParams)
2450
+ * GameStepManager.goNext(yourParams)
2235
2451
  * .then((result) => {
2236
2452
  * setUpdate((p) => p + 1)
2237
2453
  * setLoading(false)
@@ -2246,8 +2462,12 @@ var _GameStepManager = class _GameStepManager {
2246
2462
  * }
2247
2463
  * ```
2248
2464
  */
2249
- static runNextStep(props, choiseMade) {
2465
+ static goNext(props, choiseMade) {
2250
2466
  return __async(this, null, function* () {
2467
+ if (!_GameStepManager.canGoNext) {
2468
+ console.warn("[Pixi'VN] The player must make a choice");
2469
+ return;
2470
+ }
2251
2471
  _GameStepManager.increaseCurrentStepIndex();
2252
2472
  return yield _GameStepManager.runCurrentStep(props, choiseMade);
2253
2473
  });
@@ -2278,7 +2498,7 @@ var _GameStepManager = class _GameStepManager {
2278
2498
  return result;
2279
2499
  } else if (_GameStepManager.openedLabels.length > 1) {
2280
2500
  _GameStepManager.closeCurrentLabel();
2281
- return yield _GameStepManager.runNextStep(props, choiseMade);
2501
+ return yield _GameStepManager.goNext(props, choiseMade);
2282
2502
  } else {
2283
2503
  _GameStepManager.restorLastLabelList();
2284
2504
  console.error("[Pixi'VN] The end of the game is not managed, so the game is blocked. Read this documentation to know how to manage the end of the game: https://pixi-vn.web.app/start/labels.html#how-manage-the-end-of-the-game");
@@ -2426,7 +2646,7 @@ var _GameStepManager = class _GameStepManager {
2426
2646
  if (choice.closeCurrentLabel) {
2427
2647
  _GameStepManager.closeCurrentLabel();
2428
2648
  }
2429
- return _GameStepManager.runNextStep(props, choiseMade);
2649
+ return _GameStepManager.goNext(props, choiseMade);
2430
2650
  });
2431
2651
  }
2432
2652
  /* After Update Methods */
@@ -2754,15 +2974,15 @@ var DialogueBaseModel = class {
2754
2974
  if (typeof text === "string") {
2755
2975
  this.text = text;
2756
2976
  if (typeof character === "string") {
2757
- this.characterId = character;
2977
+ this.character = character;
2758
2978
  } else {
2759
- this.characterId = character == null ? void 0 : character.id;
2979
+ this.character = character == null ? void 0 : character.id;
2760
2980
  }
2761
2981
  this.oltherParams = oltherParams;
2762
2982
  } else {
2763
2983
  this.text = text.text;
2764
- if (text.characterId) {
2765
- this.characterId = text.characterId;
2984
+ if (text.character) {
2985
+ this.character = text.character;
2766
2986
  }
2767
2987
  this.oltherParams = text.oltherParams || {};
2768
2988
  }
@@ -2775,7 +2995,7 @@ var DialogueBaseModel = class {
2775
2995
  export() {
2776
2996
  return {
2777
2997
  text: this.text,
2778
- characterId: this.characterId,
2998
+ character: this.character,
2779
2999
  oltherParams: this.oltherParams
2780
3000
  };
2781
3001
  }
@@ -2798,7 +3018,7 @@ var helmlokName = `<span style="color:blue">Helmlok</span>`;
2798
3018
  var skullyImage = "https://pixijs.com/assets/skully.png";
2799
3019
  var skullyName = `<span style="color:red">Skully</span>`;
2800
3020
 
2801
- // src/labels/ShowImageTest.ts
3021
+ // src/labels/ImagesAnimationsTestLabel.ts
2802
3022
  var IMAGE_ANIMAIONS_TEST_LABEL = "___pixi_vn_images_animations_test___";
2803
3023
  var imagesAnimationsTest = newLabel(IMAGE_ANIMAIONS_TEST_LABEL, [
2804
3024
  () => __async(void 0, null, function* () {
@@ -2827,6 +3047,8 @@ var imagesAnimationsTest = newLabel(IMAGE_ANIMAIONS_TEST_LABEL, [
2827
3047
  new ChoiceMenuOption("Rotate", imagesRotateTest),
2828
3048
  new ChoiceMenuOption("Move", imagesMoveTest),
2829
3049
  new ChoiceMenuOption("Zoom", imagesZoomTest),
3050
+ new ChoiceMenuOption("Move in/out", imagesMoveInOutTest),
3051
+ new ChoiceMenuOption("Zoom in/out", imagesZoomInOutTest),
2830
3052
  new ChoiceMenuOptionClose("Cancel", true)
2831
3053
  ]);
2832
3054
  }),
@@ -3081,7 +3303,76 @@ var imagesZoomTest = newLabel("___pixi_vn_images_zoom_test___", [
3081
3303
  ]);
3082
3304
  }
3083
3305
  ]);
3306
+ var imagesMoveInOutTest = newLabel("___pixi_vn_images_move_in_out_test___", [
3307
+ () => __async(void 0, null, function* () {
3308
+ setDialogue({
3309
+ character: juliette,
3310
+ text: `Here's what's going to happen:
3311
+ - ${eggHeadName} will move in from the top with a speed of 800. If you go next, ${eggHeadName} will move out from the bottom with a speed of 800.
3312
+ - ${flowerTopName} will move in from the right with a speed of 800 and a speed progression of 0.02. If you go next, ${flowerTopName} will move out from the left with a speed of 800 and a speed progression of 0.02.
3313
+ - ${helmlokName} will move in from the left with a speed of 800. If you go next, ${helmlokName} will move out from the right with a speed of 800.
3314
+ - ${skullyName} will move in from the bottom with a speed of 800 and a speed progression of 0.02. If you go next, ${skullyName} will move out from the top with a speed of 800 and a speed progression of 0.02.`
3315
+ });
3316
+ let eggHead = new CanvasImage({ x: 100, y: 100 }, eggHeadImage);
3317
+ let flowerTop = new CanvasImage({ x: 300, y: 100 }, flowerTopImage);
3318
+ let helmlok = new CanvasImage({ x: 100, y: 300 }, helmlokImage);
3319
+ let skully = new CanvasImage({ x: 300, y: 300 }, skullyImage);
3320
+ moveIn("eggHead", eggHead, { speed: 800, direction: "down" });
3321
+ moveIn("flowerTop", flowerTop, {
3322
+ speed: 800,
3323
+ direction: "left",
3324
+ speedProgression: { type: "exponential", percentage: 0.02 }
3325
+ });
3326
+ moveIn("helmlok", helmlok, { speed: 800, direction: "right" });
3327
+ moveIn("skully", skully, {
3328
+ speed: 800,
3329
+ direction: "up",
3330
+ speedProgression: { type: "exponential", percentage: 0.02 }
3331
+ });
3332
+ }),
3333
+ () => {
3334
+ moveOut("eggHead", { speed: 800, direction: "down" });
3335
+ moveOut("flowerTop", { speed: 800, direction: "left" });
3336
+ moveOut("helmlok", { speed: 800, direction: "right" });
3337
+ moveOut("skully", { speed: 800, direction: "up" });
3338
+ }
3339
+ ]);
3340
+ var imagesZoomInOutTest = newLabel("___pixi_vn_images_zoom_in_out_test___", [
3341
+ () => __async(void 0, null, function* () {
3342
+ GameWindowManager.removeCanvasElements();
3343
+ let eggHead = new CanvasImage({ x: 100, y: 100 }, eggHeadImage);
3344
+ let flowerTop = new CanvasImage({ x: 300, y: 100 }, flowerTopImage);
3345
+ let helmlok = new CanvasImage({ x: 100, y: 300 }, helmlokImage);
3346
+ let skully = new CanvasImage({ x: 300, y: 300 }, skullyImage);
3347
+ zoomIn("eggHead", eggHead, { speed: 3, direction: "down" });
3348
+ zoomIn("flowerTop", flowerTop, {
3349
+ speed: 3,
3350
+ direction: "left",
3351
+ speedProgression: { type: "exponential", percentage: 0.02 }
3352
+ });
3353
+ zoomIn("helmlok", helmlok, { speed: 3, direction: "right" });
3354
+ zoomIn("skully", skully, {
3355
+ speed: 3,
3356
+ direction: "up",
3357
+ speedProgression: { type: "exponential", percentage: 0.02 }
3358
+ });
3359
+ }),
3360
+ () => __async(void 0, null, function* () {
3361
+ zoomOut("eggHead", {
3362
+ speed: 3,
3363
+ direction: "down",
3364
+ speedProgression: { type: "exponential", percentage: 0.02 }
3365
+ });
3366
+ zoomOut("flowerTop", { speed: 3, direction: "left" });
3367
+ zoomOut("helmlok", { speed: 3, direction: "right" });
3368
+ zoomOut("skully", {
3369
+ speed: 3,
3370
+ direction: "up",
3371
+ speedProgression: { type: "exponential", percentage: 0.02 }
3372
+ });
3373
+ })
3374
+ ]);
3084
3375
 
3085
3376
  exports.imagesAnimationsTest = imagesAnimationsTest;
3086
3377
  //# sourceMappingURL=out.js.map
3087
- //# sourceMappingURL=ShowImageTest.js.map
3378
+ //# sourceMappingURL=ImagesAnimationsTestLabel.js.map