@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;
@@ -143,17 +143,23 @@ function exportCanvasElement(element) {
143
143
  return element.memory;
144
144
  }
145
145
  function importCanvasElement(memory) {
146
- let element = getCanvasElementInstanceByClassName(memory.className);
146
+ let element = getCanvasElementInstanceById(memory.pixivnId);
147
147
  if (element) {
148
148
  element.memory = memory;
149
149
  } else {
150
- throw new Error("[Pixi'VN] The element " + memory.className + " could not be created");
150
+ throw new Error("[Pixi'VN] The element " + memory.pixivnId + " could not be created");
151
151
  }
152
152
  return element;
153
153
  }
154
154
 
155
155
  // src/classes/canvas/CanvasContainer.ts
156
+ var CANVAS_CONTAINER_ID = "CanvasContainer";
156
157
  var CanvasContainer = class extends Container {
158
+ constructor(options) {
159
+ super(options);
160
+ this.pixivnId = CANVAS_CONTAINER_ID;
161
+ this.pixivnId = this.constructor.prototype.pixivnId;
162
+ }
157
163
  get memory() {
158
164
  let memory = getMemoryContainer(this);
159
165
  this.children.forEach((child) => {
@@ -169,8 +175,12 @@ var CanvasContainer = class extends Container {
169
175
  }
170
176
  };
171
177
  function getMemoryContainer(element) {
178
+ let className = "CanvasContainer";
179
+ if (element.hasOwnProperty("pixivnId")) {
180
+ className = element.pixivnId;
181
+ }
172
182
  return {
173
- className: "CanvasContainer",
183
+ pixivnId: className,
174
184
  elements: [],
175
185
  width: element.width,
176
186
  height: element.height,
@@ -286,40 +296,43 @@ function getTextStyle(style) {
286
296
 
287
297
  // src/decorators/EventDecorator.ts
288
298
  var registeredEvents = {};
289
- function getEventTypeByClassName(eventName) {
299
+ function getEventTypeById(eventId) {
290
300
  try {
291
- let eventType = registeredEvents[eventName];
301
+ let eventType = registeredEvents[eventId];
292
302
  if (!eventType) {
293
- console.error(`[Pixi'VN] Event ${eventName} not found`);
303
+ console.error(`[Pixi'VN] Event ${eventId} not found`);
294
304
  return;
295
305
  }
296
306
  new eventType();
297
307
  return eventType;
298
308
  } catch (e) {
299
- console.error(`[Pixi'VN] Error while getting Event ${eventName}`, e);
309
+ console.error(`[Pixi'VN] Error while getting Event ${eventId}`, e);
300
310
  return;
301
311
  }
302
312
  }
303
- function getEventInstanceByClassName(eventName) {
313
+ function getEventInstanceById(eventId) {
304
314
  try {
305
- let eventType = registeredEvents[eventName];
315
+ let eventType = registeredEvents[eventId];
306
316
  if (!eventType) {
307
- console.error(`[Pixi'VN] Event ${eventName} not found`);
317
+ console.error(`[Pixi'VN] Event ${eventId} not found`);
308
318
  return;
309
319
  }
310
320
  let event = new eventType();
311
321
  return event;
312
322
  } catch (e) {
313
- console.error(`[Pixi'VN] Error while getting Event ${eventName}`, e);
323
+ console.error(`[Pixi'VN] Error while getting Event ${eventId}`, e);
314
324
  return;
315
325
  }
316
326
  }
317
327
 
318
328
  // src/classes/canvas/CanvasSprite.ts
329
+ var CANVAS_SPRITE_ID = "CanvasSprite";
319
330
  var CanvasSprite = class _CanvasSprite extends Sprite {
320
- constructor() {
321
- super(...arguments);
331
+ constructor(options) {
332
+ super(options);
333
+ this.pixivnId = CANVAS_SPRITE_ID;
322
334
  this._onEvents = {};
335
+ this.pixivnId = this.constructor.prototype.pixivnId;
323
336
  }
324
337
  get memory() {
325
338
  return getMemorySprite(this);
@@ -360,9 +373,9 @@ var CanvasSprite = class _CanvasSprite extends Sprite {
360
373
  * ```
361
374
  */
362
375
  onEvent(event, eventClass) {
363
- let className = eventClass.name;
364
- let instance = getEventInstanceByClassName(className);
365
- this._onEvents[event] = className;
376
+ let id = eventClass.prototype.id;
377
+ let instance = getEventInstanceById(id);
378
+ this._onEvents[event] = id;
366
379
  if (instance) {
367
380
  super.on(event, () => {
368
381
  instance.fn(event, this);
@@ -391,7 +404,7 @@ var CanvasSprite = class _CanvasSprite extends Sprite {
391
404
  function getMemorySprite(element) {
392
405
  let temp = getMemoryContainer(element);
393
406
  return __spreadProps(__spreadValues({}, temp), {
394
- className: "CanvasSprite",
407
+ pixivnId: element.pixivnId,
395
408
  textureImage: getTextureMemory(element.texture),
396
409
  anchor: { x: element.anchor.x, y: element.anchor.y },
397
410
  roundPixels: element.roundPixels,
@@ -414,8 +427,8 @@ function setMemorySprite(element, memory) {
414
427
  }
415
428
  memory.roundPixels && (element.roundPixels = memory.roundPixels);
416
429
  for (let event in memory.onEvents) {
417
- let className = memory.onEvents[event];
418
- let instance = getEventTypeByClassName(className);
430
+ let id = memory.onEvents[event];
431
+ let instance = getEventTypeById(id);
419
432
  if (instance) {
420
433
  element.onEvent(event, instance);
421
434
  }
@@ -423,9 +436,11 @@ function setMemorySprite(element, memory) {
423
436
  }
424
437
 
425
438
  // src/classes/canvas/CanvasImage.ts
439
+ var CANVAS_IMAGE_ID = "CanvasImage";
426
440
  var CanvasImage = class _CanvasImage extends CanvasSprite {
427
441
  constructor(options, imageLink) {
428
442
  super(options);
443
+ this.pixivnId = CANVAS_IMAGE_ID;
429
444
  this.imageLink = "";
430
445
  if (imageLink) {
431
446
  this.imageLink = imageLink;
@@ -433,12 +448,13 @@ var CanvasImage = class _CanvasImage extends CanvasSprite {
433
448
  }
434
449
  get memory() {
435
450
  return __spreadProps(__spreadValues({}, getMemorySprite(this)), {
436
- className: "CanvasImage",
437
- textureImage: { image: this.imageLink }
451
+ pixivnId: this.pixivnId,
452
+ imageLink: this.imageLink
438
453
  });
439
454
  }
440
455
  set memory(memory) {
441
456
  setMemorySprite(this, memory);
457
+ this.imageLink = memory.imageLink;
442
458
  }
443
459
  static from(source, skipCache) {
444
460
  let sprite = Sprite.from(source, skipCache);
@@ -466,10 +482,13 @@ var CanvasImage = class _CanvasImage extends CanvasSprite {
466
482
  });
467
483
  }
468
484
  };
485
+ var CANVAS_TEXT_ID = "CanvasText";
469
486
  var CanvasText = class extends Text {
470
- constructor() {
471
- super(...arguments);
487
+ constructor(options) {
488
+ super(options);
489
+ this.pixivnId = CANVAS_TEXT_ID;
472
490
  this._onEvents = {};
491
+ this.pixivnId = this.constructor.prototype.pixivnId;
473
492
  }
474
493
  get memory() {
475
494
  return getMemoryText(this);
@@ -510,9 +529,9 @@ var CanvasText = class extends Text {
510
529
  * ```
511
530
  */
512
531
  onEvent(event, eventClass) {
513
- let className = eventClass.name;
514
- let instance = getEventInstanceByClassName(className);
515
- this._onEvents[event] = className;
532
+ let id = eventClass.prototype.id;
533
+ let instance = getEventInstanceById(id);
534
+ this._onEvents[event] = id;
516
535
  if (instance) {
517
536
  super.on(event, () => {
518
537
  instance.fn(event, this);
@@ -535,7 +554,7 @@ var CanvasText = class extends Text {
535
554
  function getMemoryText(element) {
536
555
  let temp = getMemoryContainer(element);
537
556
  return __spreadProps(__spreadValues({}, temp), {
538
- className: "CanvasText",
557
+ pixivnId: element.pixivnId,
539
558
  anchor: { x: element.anchor.x, y: element.anchor.y },
540
559
  text: element.text,
541
560
  resolution: element.resolution,
@@ -558,8 +577,8 @@ function setMemoryText(element, memory) {
558
577
  memory.style && (element.style = memory.style);
559
578
  memory.roundPixels && (element.roundPixels = memory.roundPixels);
560
579
  for (let event in memory.onEvents) {
561
- let className = memory.onEvents[event];
562
- let instance = getEventTypeByClassName(className);
580
+ let id = memory.onEvents[event];
581
+ let instance = getEventTypeById(id);
563
582
  if (instance) {
564
583
  element.onEvent(event, instance);
565
584
  }
@@ -568,28 +587,28 @@ function setMemoryText(element, memory) {
568
587
 
569
588
  // src/decorators/CanvasElementDecorator.ts
570
589
  var registeredCanvasElement = {};
571
- function getCanvasElementInstanceByClassName(canvasName) {
590
+ function getCanvasElementInstanceById(canvasId) {
572
591
  try {
573
- let eventType = registeredCanvasElement[canvasName];
592
+ let eventType = registeredCanvasElement[canvasId];
574
593
  if (!eventType) {
575
- if (canvasName === "CanvasContainer") {
594
+ if (canvasId === CANVAS_CONTAINER_ID) {
576
595
  eventType = CanvasContainer;
577
- } else if (canvasName === "CanvasImage") {
596
+ } else if (canvasId === CANVAS_IMAGE_ID) {
578
597
  eventType = CanvasImage;
579
- } else if (canvasName === "CanvasSprite") {
598
+ } else if (canvasId === CANVAS_SPRITE_ID) {
580
599
  eventType = CanvasSprite;
581
- } else if (canvasName === "CanvasText") {
600
+ } else if (canvasId === CANVAS_TEXT_ID) {
582
601
  eventType = CanvasText;
583
602
  }
584
603
  }
585
604
  if (!eventType) {
586
- console.error(`[Pixi'VN] CanvasElement ${canvasName} not found`);
605
+ console.error(`[Pixi'VN] CanvasElement ${canvasId} not found`);
587
606
  return;
588
607
  }
589
608
  let canvasElement = new eventType();
590
609
  return canvasElement;
591
610
  } catch (e) {
592
- console.error(`[Pixi'VN] Error while getting CanvasElement ${canvasName}`, e);
611
+ console.error(`[Pixi'VN] Error while getting CanvasElement ${canvasId}`, e);
593
612
  return;
594
613
  }
595
614
  }
@@ -604,23 +623,27 @@ function tickerDecorator(name) {
604
623
  if (registeredTickers[name]) {
605
624
  console.info(`[Pixi'VN] Ticker ${name} already exists, it will be overwritten`);
606
625
  }
626
+ target.prototype.id = name;
607
627
  registeredTickers[name] = target;
608
628
  };
609
629
  }
610
- function geTickerInstanceByClassName(tickerName, args, duration, priority) {
630
+ function geTickerInstanceById(tickerId, args, duration, priority) {
611
631
  try {
612
- let ticker = registeredTickers[tickerName];
632
+ let ticker = registeredTickers[tickerId];
613
633
  if (!ticker) {
614
- console.error(`[Pixi'VN] Ticker ${tickerName} not found`);
634
+ console.error(`[Pixi'VN] Ticker ${tickerId} not found`);
615
635
  return;
616
636
  }
617
637
  return new ticker(args, duration, priority);
618
638
  } catch (e) {
619
- console.error(`[Pixi'VN] Error while getting Ticker ${tickerName}`, e);
639
+ console.error(`[Pixi'VN] Error while getting Ticker ${tickerId}`, e);
620
640
  return;
621
641
  }
622
642
  }
623
643
 
644
+ // src/types/CloseType.ts
645
+ var Close = "close";
646
+
624
647
  // src/decorators/LabelDecorator.ts
625
648
  var registeredLabels = {};
626
649
  function getLabelById(id) {
@@ -636,6 +659,34 @@ function getLabelById(id) {
636
659
  function getDialogue() {
637
660
  return GameStorageManager.getVariable(GameStorageManager.keysSystem.CURRENT_DIALOGUE_MEMORY_KEY);
638
661
  }
662
+ function getChoiceMenuOptions() {
663
+ let d = GameStorageManager.getVariable(GameStorageManager.keysSystem.CURRENT_MENU_OPTIONS_MEMORY_KEY);
664
+ if (d) {
665
+ let options = [];
666
+ d.forEach((option, index) => {
667
+ if (option.type === Close) {
668
+ let itemLabel = newCloseLabel(index);
669
+ options.push({
670
+ text: option.text,
671
+ label: itemLabel,
672
+ type: Close,
673
+ closeCurrentLabel: option.closeCurrentLabel,
674
+ props: {}
675
+ });
676
+ return;
677
+ }
678
+ let label = getLabelById(option.label);
679
+ if (label) {
680
+ let itemLabel = new Label(label.id, label.steps, label.onStepRun, index);
681
+ options.push(__spreadProps(__spreadValues({}, option), {
682
+ label: itemLabel
683
+ }));
684
+ }
685
+ });
686
+ return options;
687
+ }
688
+ return void 0;
689
+ }
639
690
 
640
691
  // src/classes/ticker/TickerBase.ts
641
692
  var TickerBase = class {
@@ -645,9 +696,14 @@ var TickerBase = class {
645
696
  * @param priority The priority of the ticker. @default UPDATE_PRIORITY.NORMAL
646
697
  */
647
698
  constructor(args, duration, priority) {
699
+ /**
700
+ * Get the id of the ticker. This variable is used in the system to get the ticker by id, {@link geTickerInstanceById}
701
+ */
702
+ this.id = "ticker_id_not_set";
648
703
  this.args = args;
649
704
  this.duration = duration;
650
705
  this.priority = priority;
706
+ this.id = this.constructor.prototype.id;
651
707
  }
652
708
  /**
653
709
  * The method that will be called every frame.
@@ -870,8 +926,8 @@ var ZoomTicker = class extends TickerBase {
870
926
  tagToRemoveAfter2 = [tagToRemoveAfter2];
871
927
  }
872
928
  let type = args.type || "zoom";
873
- let xLimit = Infinity;
874
- let yLimit = Infinity;
929
+ let xLimit = type === "zoom" ? Infinity : 0;
930
+ let yLimit = type === "zoom" ? Infinity : 0;
875
931
  if (args.limit) {
876
932
  if (typeof args.limit === "number") {
877
933
  xLimit = args.limit;
@@ -910,7 +966,7 @@ var ZoomTicker = class extends TickerBase {
910
966
  if (element.scale.x >= xLimit && element.scale.y >= yLimit) {
911
967
  element.scale.x = xLimit;
912
968
  element.scale.y = yLimit;
913
- GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
969
+ this.onEndOfTicker(tag, tickerId, element, tagToRemoveAfter2);
914
970
  }
915
971
  } else if (type === "unzoom") {
916
972
  if (element.scale.x < xLimit) {
@@ -922,17 +978,20 @@ var ZoomTicker = class extends TickerBase {
922
978
  if (element.scale.x <= xLimit && element.scale.y <= yLimit) {
923
979
  element.scale.x = xLimit;
924
980
  element.scale.y = yLimit;
925
- GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
981
+ this.onEndOfTicker(tag, tickerId, element, tagToRemoveAfter2);
926
982
  }
927
983
  }
928
984
  if (xSpeed < 1e-5 && ySpeed < 1e-5 && !(args.speedProgression && args.speedProgression.type == "linear" && args.speedProgression.amt != 0)) {
929
- GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
985
+ this.onEndOfTicker(tag, tickerId, element, tagToRemoveAfter2);
930
986
  }
931
987
  }
932
988
  });
933
989
  if (args.speedProgression)
934
990
  updateTickerProgression(args, "speed", args.speedProgression);
935
991
  }
992
+ onEndOfTicker(tag, tickerId, _element, tagToRemoveAfter2) {
993
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
994
+ }
936
995
  };
937
996
  ZoomTicker = __decorateClass([
938
997
  tickerDecorator()
@@ -1402,18 +1461,18 @@ var _GameWindowManager = class _GameWindowManager {
1402
1461
  * ```
1403
1462
  */
1404
1463
  static addTicker(canvasElementTag, ticker) {
1405
- let tickerName = ticker.constructor.name;
1464
+ let tickerId = ticker.id;
1406
1465
  if (typeof canvasElementTag === "string") {
1407
1466
  canvasElementTag = [canvasElementTag];
1408
1467
  }
1409
- if (!geTickerInstanceByClassName(tickerName, ticker.args, ticker.duration, ticker.priority)) {
1410
- console.error(`[Pixi'VN] Ticker ${tickerName} not found`);
1468
+ if (!geTickerInstanceById(tickerId, ticker.args, ticker.duration, ticker.priority)) {
1469
+ console.error(`[Pixi'VN] Ticker ${tickerId} not found`);
1411
1470
  return;
1412
1471
  }
1413
1472
  let tickerHistory = {
1414
1473
  fn: () => {
1415
1474
  },
1416
- className: tickerName,
1475
+ id: tickerId,
1417
1476
  args: createExportableElement(ticker.args),
1418
1477
  canvasElementTags: canvasElementTag,
1419
1478
  priority: ticker.priority,
@@ -1429,11 +1488,11 @@ var _GameWindowManager = class _GameWindowManager {
1429
1488
  _GameWindowManager.removeTicker(id);
1430
1489
  }
1431
1490
  }, ticker.duration * 1e3);
1432
- _GameWindowManager.addTickerTimeoutInfo(canvasElementTag, tickerName, timeout.toString(), true);
1491
+ _GameWindowManager.addTickerTimeoutInfo(canvasElementTag, tickerId, timeout.toString(), true);
1433
1492
  }
1434
1493
  }
1435
1494
  static pushTicker(id, tickerData, ticker) {
1436
- _GameWindowManager.removeAssociationBetweenTickerCanvasElement(tickerData.canvasElementTags, tickerData);
1495
+ _GameWindowManager.removeAssociationBetweenTickerCanvasElement(tickerData.canvasElementTags, ticker);
1437
1496
  _GameWindowManager._currentTickers[id] = tickerData;
1438
1497
  tickerData.fn = (t) => {
1439
1498
  let data = _GameWindowManager._currentTickers[id];
@@ -1474,9 +1533,9 @@ var _GameWindowManager = class _GameWindowManager {
1474
1533
  if (step.hasOwnProperty("type") && step.type === "pause") {
1475
1534
  return step;
1476
1535
  }
1477
- let tickerName = step.constructor.name;
1536
+ let tickerId = step.id;
1478
1537
  return {
1479
- ticker: tickerName,
1538
+ ticker: tickerId,
1480
1539
  args: createExportableElement(step.args),
1481
1540
  duration: step.duration
1482
1541
  };
@@ -1514,16 +1573,16 @@ var _GameWindowManager = class _GameWindowManager {
1514
1573
  _GameWindowManager.addTickerTimeoutInfo(tag, "steps", timeout.toString(), false);
1515
1574
  return;
1516
1575
  }
1517
- let ticker = geTickerInstanceByClassName(step.ticker, step.args, step.duration, step.priority);
1576
+ let ticker = geTickerInstanceById(step.ticker, step.args, step.duration, step.priority);
1518
1577
  if (!ticker) {
1519
1578
  console.error(`[Pixi'VN] Ticker ${step.ticker} not found`);
1520
1579
  return;
1521
1580
  }
1522
- let tickerName = ticker.constructor.name;
1581
+ let tickerName = ticker.id;
1523
1582
  let tickerHistory = {
1524
1583
  fn: () => {
1525
1584
  },
1526
- className: tickerName,
1585
+ id: tickerName,
1527
1586
  args: createExportableElement(ticker.args),
1528
1587
  canvasElementTags: [tag],
1529
1588
  priority: ticker.priority,
@@ -1580,26 +1639,26 @@ var _GameWindowManager = class _GameWindowManager {
1580
1639
  * ```
1581
1640
  */
1582
1641
  static removeAssociationBetweenTickerCanvasElement(tags, ticker) {
1583
- let tickerName;
1642
+ let tickerId;
1584
1643
  if (typeof ticker === "string") {
1585
- tickerName = ticker;
1644
+ tickerId = ticker;
1586
1645
  } else if (ticker instanceof TickerBase) {
1587
- tickerName = ticker.constructor.name;
1646
+ tickerId = ticker.id;
1588
1647
  } else {
1589
- tickerName = ticker.name;
1648
+ tickerId = ticker.prototype.id;
1590
1649
  }
1591
1650
  if (typeof tags === "string") {
1592
1651
  tags = [tags];
1593
1652
  }
1594
1653
  for (let id in _GameWindowManager._currentTickers) {
1595
1654
  let ticker2 = _GameWindowManager._currentTickers[id];
1596
- if (ticker2.className === tickerName) {
1655
+ if (ticker2.id === tickerId) {
1597
1656
  _GameWindowManager._currentTickers[id].canvasElementTags = ticker2.canvasElementTags.filter((e) => !tags.includes(e));
1598
1657
  }
1599
1658
  }
1600
1659
  for (let timeout in _GameWindowManager._currentTickersTimeouts) {
1601
1660
  let TickerTimeout = _GameWindowManager._currentTickersTimeouts[timeout];
1602
- if (TickerTimeout.ticker === tickerName && TickerTimeout.canBeDeletedBeforeEnd) {
1661
+ if (TickerTimeout.ticker === tickerId && TickerTimeout.canBeDeletedBeforeEnd) {
1603
1662
  _GameWindowManager._currentTickersTimeouts[timeout].tags = TickerTimeout.tags.filter((t) => !tags.includes(t));
1604
1663
  }
1605
1664
  }
@@ -1785,11 +1844,11 @@ var _GameWindowManager = class _GameWindowManager {
1785
1844
  for (let id in currentTickers) {
1786
1845
  let t = currentTickers[id];
1787
1846
  let tags = t.canvasElementTags;
1788
- let ticker = geTickerInstanceByClassName(t.className, t.args, t.duration, t.priority);
1847
+ let ticker = geTickerInstanceById(t.id, t.args, t.duration, t.priority);
1789
1848
  if (ticker) {
1790
1849
  _GameWindowManager.addTicker(tags, ticker);
1791
1850
  } else {
1792
- console.error(`[Pixi'VN] Ticker ${t.className} not found`);
1851
+ console.error(`[Pixi'VN] Ticker ${t.id} not found`);
1793
1852
  }
1794
1853
  }
1795
1854
  }
@@ -1990,6 +2049,13 @@ var _GameStepManager = class _GameStepManager {
1990
2049
  _GameStepManager._openedLabels = _GameStepManager.originalStepData.openedLabels;
1991
2050
  }
1992
2051
  /* Run Methods */
2052
+ static get canGoNext() {
2053
+ let options = getChoiceMenuOptions();
2054
+ if (options && options.length > 0) {
2055
+ return false;
2056
+ }
2057
+ return true;
2058
+ }
1993
2059
  /**
1994
2060
  * Execute the next step and add it to the history.
1995
2061
  * @param props The props to pass to the step.
@@ -1999,7 +2065,7 @@ var _GameStepManager = class _GameStepManager {
1999
2065
  * ```typescript
2000
2066
  * function nextOnClick() {
2001
2067
  * setLoading(true)
2002
- * GameStepManager.runNextStep(yourParams)
2068
+ * GameStepManager.goNext(yourParams)
2003
2069
  * .then((result) => {
2004
2070
  * setUpdate((p) => p + 1)
2005
2071
  * setLoading(false)
@@ -2014,8 +2080,12 @@ var _GameStepManager = class _GameStepManager {
2014
2080
  * }
2015
2081
  * ```
2016
2082
  */
2017
- static runNextStep(props, choiseMade) {
2083
+ static goNext(props, choiseMade) {
2018
2084
  return __async(this, null, function* () {
2085
+ if (!_GameStepManager.canGoNext) {
2086
+ console.warn("[Pixi'VN] The player must make a choice");
2087
+ return;
2088
+ }
2019
2089
  _GameStepManager.increaseCurrentStepIndex();
2020
2090
  return yield _GameStepManager.runCurrentStep(props, choiseMade);
2021
2091
  });
@@ -2046,7 +2116,7 @@ var _GameStepManager = class _GameStepManager {
2046
2116
  return result;
2047
2117
  } else if (_GameStepManager.openedLabels.length > 1) {
2048
2118
  _GameStepManager.closeCurrentLabel();
2049
- return yield _GameStepManager.runNextStep(props, choiseMade);
2119
+ return yield _GameStepManager.goNext(props, choiseMade);
2050
2120
  } else {
2051
2121
  _GameStepManager.restorLastLabelList();
2052
2122
  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");
@@ -2194,7 +2264,7 @@ var _GameStepManager = class _GameStepManager {
2194
2264
  if (choice.closeCurrentLabel) {
2195
2265
  _GameStepManager.closeCurrentLabel();
2196
2266
  }
2197
- return _GameStepManager.runNextStep(props, choiseMade);
2267
+ return _GameStepManager.goNext(props, choiseMade);
2198
2268
  });
2199
2269
  }
2200
2270
  /* After Update Methods */