@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
@@ -73,7 +73,7 @@ var Label = class {
73
73
  this._choiseIndex = choiseIndex;
74
74
  }
75
75
  /**
76
- * Get the id of the label
76
+ * Get the id of the label. This variable is used in the system to get the label by id, {@link getLabelById}
77
77
  */
78
78
  get id() {
79
79
  return this._id;
@@ -235,9 +235,14 @@ var TickerBase = class {
235
235
  * @param priority The priority of the ticker. @default UPDATE_PRIORITY.NORMAL
236
236
  */
237
237
  constructor(args, duration, priority) {
238
+ /**
239
+ * Get the id of the ticker. This variable is used in the system to get the ticker by id, {@link geTickerInstanceById}
240
+ */
241
+ this.id = "ticker_id_not_set";
238
242
  this.args = args;
239
243
  this.duration = duration;
240
244
  this.priority = priority;
245
+ this.id = this.constructor.prototype.id;
241
246
  }
242
247
  /**
243
248
  * The method that will be called every frame.
@@ -265,23 +270,30 @@ function tickerDecorator(name) {
265
270
  if (registeredTickers[name]) {
266
271
  console.info(`[Pixi'VN] Ticker ${name} already exists, it will be overwritten`);
267
272
  }
273
+ target.prototype.id = name;
268
274
  registeredTickers[name] = target;
269
275
  };
270
276
  }
271
- function geTickerInstanceByClassName(tickerName, args, duration, priority) {
277
+ function geTickerInstanceById(tickerId, args, duration, priority) {
272
278
  try {
273
- let ticker = registeredTickers[tickerName];
279
+ let ticker = registeredTickers[tickerId];
274
280
  if (!ticker) {
275
- console.error(`[Pixi'VN] Ticker ${tickerName} not found`);
281
+ console.error(`[Pixi'VN] Ticker ${tickerId} not found`);
276
282
  return;
277
283
  }
278
284
  return new ticker(args, duration, priority);
279
285
  } catch (e) {
280
- console.error(`[Pixi'VN] Error while getting Ticker ${tickerName}`, e);
286
+ console.error(`[Pixi'VN] Error while getting Ticker ${tickerId}`, e);
281
287
  return;
282
288
  }
283
289
  }
290
+ var CANVAS_CONTAINER_ID = "CanvasContainer";
284
291
  var CanvasContainer = class extends Container {
292
+ constructor(options) {
293
+ super(options);
294
+ this.pixivnId = CANVAS_CONTAINER_ID;
295
+ this.pixivnId = this.constructor.prototype.pixivnId;
296
+ }
285
297
  get memory() {
286
298
  let memory = getMemoryContainer(this);
287
299
  this.children.forEach((child) => {
@@ -297,8 +309,12 @@ var CanvasContainer = class extends Container {
297
309
  }
298
310
  };
299
311
  function getMemoryContainer(element) {
312
+ let className = "CanvasContainer";
313
+ if (element.hasOwnProperty("pixivnId")) {
314
+ className = element.pixivnId;
315
+ }
300
316
  return {
301
- className: "CanvasContainer",
317
+ pixivnId: className,
302
318
  elements: [],
303
319
  width: element.width,
304
320
  height: element.height,
@@ -414,40 +430,43 @@ function getTextStyle(style) {
414
430
 
415
431
  // src/decorators/EventDecorator.ts
416
432
  var registeredEvents = {};
417
- function getEventTypeByClassName(eventName) {
433
+ function getEventTypeById(eventId) {
418
434
  try {
419
- let eventType = registeredEvents[eventName];
435
+ let eventType = registeredEvents[eventId];
420
436
  if (!eventType) {
421
- console.error(`[Pixi'VN] Event ${eventName} not found`);
437
+ console.error(`[Pixi'VN] Event ${eventId} not found`);
422
438
  return;
423
439
  }
424
440
  new eventType();
425
441
  return eventType;
426
442
  } catch (e) {
427
- console.error(`[Pixi'VN] Error while getting Event ${eventName}`, e);
443
+ console.error(`[Pixi'VN] Error while getting Event ${eventId}`, e);
428
444
  return;
429
445
  }
430
446
  }
431
- function getEventInstanceByClassName(eventName) {
447
+ function getEventInstanceById(eventId) {
432
448
  try {
433
- let eventType = registeredEvents[eventName];
449
+ let eventType = registeredEvents[eventId];
434
450
  if (!eventType) {
435
- console.error(`[Pixi'VN] Event ${eventName} not found`);
451
+ console.error(`[Pixi'VN] Event ${eventId} not found`);
436
452
  return;
437
453
  }
438
454
  let event = new eventType();
439
455
  return event;
440
456
  } catch (e) {
441
- console.error(`[Pixi'VN] Error while getting Event ${eventName}`, e);
457
+ console.error(`[Pixi'VN] Error while getting Event ${eventId}`, e);
442
458
  return;
443
459
  }
444
460
  }
445
461
 
446
462
  // src/classes/canvas/CanvasSprite.ts
463
+ var CANVAS_SPRITE_ID = "CanvasSprite";
447
464
  var CanvasSprite = class _CanvasSprite extends Sprite {
448
- constructor() {
449
- super(...arguments);
465
+ constructor(options) {
466
+ super(options);
467
+ this.pixivnId = CANVAS_SPRITE_ID;
450
468
  this._onEvents = {};
469
+ this.pixivnId = this.constructor.prototype.pixivnId;
451
470
  }
452
471
  get memory() {
453
472
  return getMemorySprite(this);
@@ -488,9 +507,9 @@ var CanvasSprite = class _CanvasSprite extends Sprite {
488
507
  * ```
489
508
  */
490
509
  onEvent(event, eventClass) {
491
- let className = eventClass.name;
492
- let instance = getEventInstanceByClassName(className);
493
- this._onEvents[event] = className;
510
+ let id = eventClass.prototype.id;
511
+ let instance = getEventInstanceById(id);
512
+ this._onEvents[event] = id;
494
513
  if (instance) {
495
514
  super.on(event, () => {
496
515
  instance.fn(event, this);
@@ -519,7 +538,7 @@ var CanvasSprite = class _CanvasSprite extends Sprite {
519
538
  function getMemorySprite(element) {
520
539
  let temp = getMemoryContainer(element);
521
540
  return __spreadProps(__spreadValues({}, temp), {
522
- className: "CanvasSprite",
541
+ pixivnId: element.pixivnId,
523
542
  textureImage: getTextureMemory(element.texture),
524
543
  anchor: { x: element.anchor.x, y: element.anchor.y },
525
544
  roundPixels: element.roundPixels,
@@ -542,8 +561,8 @@ function setMemorySprite(element, memory) {
542
561
  }
543
562
  memory.roundPixels && (element.roundPixels = memory.roundPixels);
544
563
  for (let event in memory.onEvents) {
545
- let className = memory.onEvents[event];
546
- let instance = getEventTypeByClassName(className);
564
+ let id = memory.onEvents[event];
565
+ let instance = getEventTypeById(id);
547
566
  if (instance) {
548
567
  element.onEvent(event, instance);
549
568
  }
@@ -551,9 +570,11 @@ function setMemorySprite(element, memory) {
551
570
  }
552
571
 
553
572
  // src/classes/canvas/CanvasImage.ts
573
+ var CANVAS_IMAGE_ID = "CanvasImage";
554
574
  var CanvasImage = class _CanvasImage extends CanvasSprite {
555
575
  constructor(options, imageLink) {
556
576
  super(options);
577
+ this.pixivnId = CANVAS_IMAGE_ID;
557
578
  this.imageLink = "";
558
579
  if (imageLink) {
559
580
  this.imageLink = imageLink;
@@ -561,12 +582,13 @@ var CanvasImage = class _CanvasImage extends CanvasSprite {
561
582
  }
562
583
  get memory() {
563
584
  return __spreadProps(__spreadValues({}, getMemorySprite(this)), {
564
- className: "CanvasImage",
565
- textureImage: { image: this.imageLink }
585
+ pixivnId: this.pixivnId,
586
+ imageLink: this.imageLink
566
587
  });
567
588
  }
568
589
  set memory(memory) {
569
590
  setMemorySprite(this, memory);
591
+ this.imageLink = memory.imageLink;
570
592
  }
571
593
  static from(source, skipCache) {
572
594
  let sprite = Sprite.from(source, skipCache);
@@ -594,10 +616,13 @@ var CanvasImage = class _CanvasImage extends CanvasSprite {
594
616
  });
595
617
  }
596
618
  };
619
+ var CANVAS_TEXT_ID = "CanvasText";
597
620
  var CanvasText = class extends Text {
598
- constructor() {
599
- super(...arguments);
621
+ constructor(options) {
622
+ super(options);
623
+ this.pixivnId = CANVAS_TEXT_ID;
600
624
  this._onEvents = {};
625
+ this.pixivnId = this.constructor.prototype.pixivnId;
601
626
  }
602
627
  get memory() {
603
628
  return getMemoryText(this);
@@ -638,9 +663,9 @@ var CanvasText = class extends Text {
638
663
  * ```
639
664
  */
640
665
  onEvent(event, eventClass) {
641
- let className = eventClass.name;
642
- let instance = getEventInstanceByClassName(className);
643
- this._onEvents[event] = className;
666
+ let id = eventClass.prototype.id;
667
+ let instance = getEventInstanceById(id);
668
+ this._onEvents[event] = id;
644
669
  if (instance) {
645
670
  super.on(event, () => {
646
671
  instance.fn(event, this);
@@ -663,7 +688,7 @@ var CanvasText = class extends Text {
663
688
  function getMemoryText(element) {
664
689
  let temp = getMemoryContainer(element);
665
690
  return __spreadProps(__spreadValues({}, temp), {
666
- className: "CanvasText",
691
+ pixivnId: element.pixivnId,
667
692
  anchor: { x: element.anchor.x, y: element.anchor.y },
668
693
  text: element.text,
669
694
  resolution: element.resolution,
@@ -686,8 +711,8 @@ function setMemoryText(element, memory) {
686
711
  memory.style && (element.style = memory.style);
687
712
  memory.roundPixels && (element.roundPixels = memory.roundPixels);
688
713
  for (let event in memory.onEvents) {
689
- let className = memory.onEvents[event];
690
- let instance = getEventTypeByClassName(className);
714
+ let id = memory.onEvents[event];
715
+ let instance = getEventTypeById(id);
691
716
  if (instance) {
692
717
  element.onEvent(event, instance);
693
718
  }
@@ -696,28 +721,28 @@ function setMemoryText(element, memory) {
696
721
 
697
722
  // src/decorators/CanvasElementDecorator.ts
698
723
  var registeredCanvasElement = {};
699
- function getCanvasElementInstanceByClassName(canvasName) {
724
+ function getCanvasElementInstanceById(canvasId) {
700
725
  try {
701
- let eventType = registeredCanvasElement[canvasName];
726
+ let eventType = registeredCanvasElement[canvasId];
702
727
  if (!eventType) {
703
- if (canvasName === "CanvasContainer") {
728
+ if (canvasId === CANVAS_CONTAINER_ID) {
704
729
  eventType = CanvasContainer;
705
- } else if (canvasName === "CanvasImage") {
730
+ } else if (canvasId === CANVAS_IMAGE_ID) {
706
731
  eventType = CanvasImage;
707
- } else if (canvasName === "CanvasSprite") {
732
+ } else if (canvasId === CANVAS_SPRITE_ID) {
708
733
  eventType = CanvasSprite;
709
- } else if (canvasName === "CanvasText") {
734
+ } else if (canvasId === CANVAS_TEXT_ID) {
710
735
  eventType = CanvasText;
711
736
  }
712
737
  }
713
738
  if (!eventType) {
714
- console.error(`[Pixi'VN] CanvasElement ${canvasName} not found`);
739
+ console.error(`[Pixi'VN] CanvasElement ${canvasId} not found`);
715
740
  return;
716
741
  }
717
742
  let canvasElement = new eventType();
718
743
  return canvasElement;
719
744
  } catch (e) {
720
- console.error(`[Pixi'VN] Error while getting CanvasElement ${canvasName}`, e);
745
+ console.error(`[Pixi'VN] Error while getting CanvasElement ${canvasId}`, e);
721
746
  return;
722
747
  }
723
748
  }
@@ -734,11 +759,11 @@ function exportCanvasElement(element) {
734
759
  return element.memory;
735
760
  }
736
761
  function importCanvasElement(memory) {
737
- let element = getCanvasElementInstanceByClassName(memory.className);
762
+ let element = getCanvasElementInstanceById(memory.pixivnId);
738
763
  if (element) {
739
764
  element.memory = memory;
740
765
  } else {
741
- throw new Error("[Pixi'VN] The element " + memory.className + " could not be created");
766
+ throw new Error("[Pixi'VN] The element " + memory.pixivnId + " could not be created");
742
767
  }
743
768
  return element;
744
769
  }
@@ -1067,18 +1092,18 @@ var _GameWindowManager = class _GameWindowManager {
1067
1092
  * ```
1068
1093
  */
1069
1094
  static addTicker(canvasElementTag, ticker) {
1070
- let tickerName = ticker.constructor.name;
1095
+ let tickerId = ticker.id;
1071
1096
  if (typeof canvasElementTag === "string") {
1072
1097
  canvasElementTag = [canvasElementTag];
1073
1098
  }
1074
- if (!geTickerInstanceByClassName(tickerName, ticker.args, ticker.duration, ticker.priority)) {
1075
- console.error(`[Pixi'VN] Ticker ${tickerName} not found`);
1099
+ if (!geTickerInstanceById(tickerId, ticker.args, ticker.duration, ticker.priority)) {
1100
+ console.error(`[Pixi'VN] Ticker ${tickerId} not found`);
1076
1101
  return;
1077
1102
  }
1078
1103
  let tickerHistory = {
1079
1104
  fn: () => {
1080
1105
  },
1081
- className: tickerName,
1106
+ id: tickerId,
1082
1107
  args: createExportableElement(ticker.args),
1083
1108
  canvasElementTags: canvasElementTag,
1084
1109
  priority: ticker.priority,
@@ -1094,11 +1119,11 @@ var _GameWindowManager = class _GameWindowManager {
1094
1119
  _GameWindowManager.removeTicker(id);
1095
1120
  }
1096
1121
  }, ticker.duration * 1e3);
1097
- _GameWindowManager.addTickerTimeoutInfo(canvasElementTag, tickerName, timeout.toString(), true);
1122
+ _GameWindowManager.addTickerTimeoutInfo(canvasElementTag, tickerId, timeout.toString(), true);
1098
1123
  }
1099
1124
  }
1100
1125
  static pushTicker(id, tickerData, ticker) {
1101
- _GameWindowManager.removeAssociationBetweenTickerCanvasElement(tickerData.canvasElementTags, tickerData);
1126
+ _GameWindowManager.removeAssociationBetweenTickerCanvasElement(tickerData.canvasElementTags, ticker);
1102
1127
  _GameWindowManager._currentTickers[id] = tickerData;
1103
1128
  tickerData.fn = (t) => {
1104
1129
  let data = _GameWindowManager._currentTickers[id];
@@ -1139,9 +1164,9 @@ var _GameWindowManager = class _GameWindowManager {
1139
1164
  if (step.hasOwnProperty("type") && step.type === "pause") {
1140
1165
  return step;
1141
1166
  }
1142
- let tickerName = step.constructor.name;
1167
+ let tickerId = step.id;
1143
1168
  return {
1144
- ticker: tickerName,
1169
+ ticker: tickerId,
1145
1170
  args: createExportableElement(step.args),
1146
1171
  duration: step.duration
1147
1172
  };
@@ -1179,16 +1204,16 @@ var _GameWindowManager = class _GameWindowManager {
1179
1204
  _GameWindowManager.addTickerTimeoutInfo(tag, "steps", timeout.toString(), false);
1180
1205
  return;
1181
1206
  }
1182
- let ticker = geTickerInstanceByClassName(step.ticker, step.args, step.duration, step.priority);
1207
+ let ticker = geTickerInstanceById(step.ticker, step.args, step.duration, step.priority);
1183
1208
  if (!ticker) {
1184
1209
  console.error(`[Pixi'VN] Ticker ${step.ticker} not found`);
1185
1210
  return;
1186
1211
  }
1187
- let tickerName = ticker.constructor.name;
1212
+ let tickerName = ticker.id;
1188
1213
  let tickerHistory = {
1189
1214
  fn: () => {
1190
1215
  },
1191
- className: tickerName,
1216
+ id: tickerName,
1192
1217
  args: createExportableElement(ticker.args),
1193
1218
  canvasElementTags: [tag],
1194
1219
  priority: ticker.priority,
@@ -1245,26 +1270,26 @@ var _GameWindowManager = class _GameWindowManager {
1245
1270
  * ```
1246
1271
  */
1247
1272
  static removeAssociationBetweenTickerCanvasElement(tags, ticker) {
1248
- let tickerName;
1273
+ let tickerId;
1249
1274
  if (typeof ticker === "string") {
1250
- tickerName = ticker;
1275
+ tickerId = ticker;
1251
1276
  } else if (ticker instanceof TickerBase) {
1252
- tickerName = ticker.constructor.name;
1277
+ tickerId = ticker.id;
1253
1278
  } else {
1254
- tickerName = ticker.name;
1279
+ tickerId = ticker.prototype.id;
1255
1280
  }
1256
1281
  if (typeof tags === "string") {
1257
1282
  tags = [tags];
1258
1283
  }
1259
1284
  for (let id in _GameWindowManager._currentTickers) {
1260
1285
  let ticker2 = _GameWindowManager._currentTickers[id];
1261
- if (ticker2.className === tickerName) {
1286
+ if (ticker2.id === tickerId) {
1262
1287
  _GameWindowManager._currentTickers[id].canvasElementTags = ticker2.canvasElementTags.filter((e) => !tags.includes(e));
1263
1288
  }
1264
1289
  }
1265
1290
  for (let timeout in _GameWindowManager._currentTickersTimeouts) {
1266
1291
  let TickerTimeout = _GameWindowManager._currentTickersTimeouts[timeout];
1267
- if (TickerTimeout.ticker === tickerName && TickerTimeout.canBeDeletedBeforeEnd) {
1292
+ if (TickerTimeout.ticker === tickerId && TickerTimeout.canBeDeletedBeforeEnd) {
1268
1293
  _GameWindowManager._currentTickersTimeouts[timeout].tags = TickerTimeout.tags.filter((t) => !tags.includes(t));
1269
1294
  }
1270
1295
  }
@@ -1450,11 +1475,11 @@ var _GameWindowManager = class _GameWindowManager {
1450
1475
  for (let id in currentTickers) {
1451
1476
  let t = currentTickers[id];
1452
1477
  let tags = t.canvasElementTags;
1453
- let ticker = geTickerInstanceByClassName(t.className, t.args, t.duration, t.priority);
1478
+ let ticker = geTickerInstanceById(t.id, t.args, t.duration, t.priority);
1454
1479
  if (ticker) {
1455
1480
  _GameWindowManager.addTicker(tags, ticker);
1456
1481
  } else {
1457
- console.error(`[Pixi'VN] Ticker ${t.className} not found`);
1482
+ console.error(`[Pixi'VN] Ticker ${t.id} not found`);
1458
1483
  }
1459
1484
  }
1460
1485
  }
@@ -1479,6 +1504,9 @@ _GameWindowManager._currentTickersSteps = {};
1479
1504
  _GameWindowManager._currentTickersTimeouts = {};
1480
1505
  var GameWindowManager = _GameWindowManager;
1481
1506
 
1507
+ // src/types/CloseType.ts
1508
+ var Close = "close";
1509
+
1482
1510
  // src/decorators/LabelDecorator.ts
1483
1511
  var registeredLabels = {};
1484
1512
  function getLabelById(id) {
@@ -1494,6 +1522,34 @@ function getLabelById(id) {
1494
1522
  function getDialogue() {
1495
1523
  return GameStorageManager.getVariable(GameStorageManager.keysSystem.CURRENT_DIALOGUE_MEMORY_KEY);
1496
1524
  }
1525
+ function getChoiceMenuOptions() {
1526
+ let d = GameStorageManager.getVariable(GameStorageManager.keysSystem.CURRENT_MENU_OPTIONS_MEMORY_KEY);
1527
+ if (d) {
1528
+ let options = [];
1529
+ d.forEach((option, index) => {
1530
+ if (option.type === Close) {
1531
+ let itemLabel = newCloseLabel(index);
1532
+ options.push({
1533
+ text: option.text,
1534
+ label: itemLabel,
1535
+ type: Close,
1536
+ closeCurrentLabel: option.closeCurrentLabel,
1537
+ props: {}
1538
+ });
1539
+ return;
1540
+ }
1541
+ let label = getLabelById(option.label);
1542
+ if (label) {
1543
+ let itemLabel = new Label(label.id, label.steps, label.onStepRun, index);
1544
+ options.push(__spreadProps(__spreadValues({}, option), {
1545
+ label: itemLabel
1546
+ }));
1547
+ }
1548
+ });
1549
+ return options;
1550
+ }
1551
+ return void 0;
1552
+ }
1497
1553
  var FadeAlphaTicker = class extends TickerBase {
1498
1554
  fn(ticker, args, tags, tickerId) {
1499
1555
  let type = args.type === void 0 ? "hide" : args.type;
@@ -1701,8 +1757,8 @@ var ZoomTicker = class extends TickerBase {
1701
1757
  tagToRemoveAfter2 = [tagToRemoveAfter2];
1702
1758
  }
1703
1759
  let type = args.type || "zoom";
1704
- let xLimit = Infinity;
1705
- let yLimit = Infinity;
1760
+ let xLimit = type === "zoom" ? Infinity : 0;
1761
+ let yLimit = type === "zoom" ? Infinity : 0;
1706
1762
  if (args.limit) {
1707
1763
  if (typeof args.limit === "number") {
1708
1764
  xLimit = args.limit;
@@ -1741,7 +1797,7 @@ var ZoomTicker = class extends TickerBase {
1741
1797
  if (element.scale.x >= xLimit && element.scale.y >= yLimit) {
1742
1798
  element.scale.x = xLimit;
1743
1799
  element.scale.y = yLimit;
1744
- GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
1800
+ this.onEndOfTicker(tag, tickerId, element, tagToRemoveAfter2);
1745
1801
  }
1746
1802
  } else if (type === "unzoom") {
1747
1803
  if (element.scale.x < xLimit) {
@@ -1753,17 +1809,20 @@ var ZoomTicker = class extends TickerBase {
1753
1809
  if (element.scale.x <= xLimit && element.scale.y <= yLimit) {
1754
1810
  element.scale.x = xLimit;
1755
1811
  element.scale.y = yLimit;
1756
- GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
1812
+ this.onEndOfTicker(tag, tickerId, element, tagToRemoveAfter2);
1757
1813
  }
1758
1814
  }
1759
1815
  if (xSpeed < 1e-5 && ySpeed < 1e-5 && !(args.speedProgression && args.speedProgression.type == "linear" && args.speedProgression.amt != 0)) {
1760
- GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
1816
+ this.onEndOfTicker(tag, tickerId, element, tagToRemoveAfter2);
1761
1817
  }
1762
1818
  }
1763
1819
  });
1764
1820
  if (args.speedProgression)
1765
1821
  updateTickerProgression(args, "speed", args.speedProgression);
1766
1822
  }
1823
+ onEndOfTicker(tag, tickerId, _element, tagToRemoveAfter2) {
1824
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
1825
+ }
1767
1826
  };
1768
1827
  ZoomTicker = __decorateClass([
1769
1828
  tickerDecorator()
@@ -1986,6 +2045,13 @@ var _GameStepManager = class _GameStepManager {
1986
2045
  _GameStepManager._openedLabels = _GameStepManager.originalStepData.openedLabels;
1987
2046
  }
1988
2047
  /* Run Methods */
2048
+ static get canGoNext() {
2049
+ let options = getChoiceMenuOptions();
2050
+ if (options && options.length > 0) {
2051
+ return false;
2052
+ }
2053
+ return true;
2054
+ }
1989
2055
  /**
1990
2056
  * Execute the next step and add it to the history.
1991
2057
  * @param props The props to pass to the step.
@@ -1995,7 +2061,7 @@ var _GameStepManager = class _GameStepManager {
1995
2061
  * ```typescript
1996
2062
  * function nextOnClick() {
1997
2063
  * setLoading(true)
1998
- * GameStepManager.runNextStep(yourParams)
2064
+ * GameStepManager.goNext(yourParams)
1999
2065
  * .then((result) => {
2000
2066
  * setUpdate((p) => p + 1)
2001
2067
  * setLoading(false)
@@ -2010,8 +2076,12 @@ var _GameStepManager = class _GameStepManager {
2010
2076
  * }
2011
2077
  * ```
2012
2078
  */
2013
- static runNextStep(props, choiseMade) {
2079
+ static goNext(props, choiseMade) {
2014
2080
  return __async(this, null, function* () {
2081
+ if (!_GameStepManager.canGoNext) {
2082
+ console.warn("[Pixi'VN] The player must make a choice");
2083
+ return;
2084
+ }
2015
2085
  _GameStepManager.increaseCurrentStepIndex();
2016
2086
  return yield _GameStepManager.runCurrentStep(props, choiseMade);
2017
2087
  });
@@ -2042,7 +2112,7 @@ var _GameStepManager = class _GameStepManager {
2042
2112
  return result;
2043
2113
  } else if (_GameStepManager.openedLabels.length > 1) {
2044
2114
  _GameStepManager.closeCurrentLabel();
2045
- return yield _GameStepManager.runNextStep(props, choiseMade);
2115
+ return yield _GameStepManager.goNext(props, choiseMade);
2046
2116
  } else {
2047
2117
  _GameStepManager.restorLastLabelList();
2048
2118
  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");
@@ -2190,7 +2260,7 @@ var _GameStepManager = class _GameStepManager {
2190
2260
  if (choice.closeCurrentLabel) {
2191
2261
  _GameStepManager.closeCurrentLabel();
2192
2262
  }
2193
- return _GameStepManager.runNextStep(props, choiseMade);
2263
+ return _GameStepManager.goNext(props, choiseMade);
2194
2264
  });
2195
2265
  }
2196
2266
  /* After Update Methods */