@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;
@@ -149,17 +149,23 @@ function exportCanvasElement(element) {
149
149
  return element.memory;
150
150
  }
151
151
  function importCanvasElement(memory) {
152
- let element = getCanvasElementInstanceByClassName(memory.className);
152
+ let element = getCanvasElementInstanceById(memory.pixivnId);
153
153
  if (element) {
154
154
  element.memory = memory;
155
155
  } else {
156
- throw new Error("[Pixi'VN] The element " + memory.className + " could not be created");
156
+ throw new Error("[Pixi'VN] The element " + memory.pixivnId + " could not be created");
157
157
  }
158
158
  return element;
159
159
  }
160
160
 
161
161
  // src/classes/canvas/CanvasContainer.ts
162
+ var CANVAS_CONTAINER_ID = "CanvasContainer";
162
163
  var CanvasContainer = class extends pixi_js.Container {
164
+ constructor(options) {
165
+ super(options);
166
+ this.pixivnId = CANVAS_CONTAINER_ID;
167
+ this.pixivnId = this.constructor.prototype.pixivnId;
168
+ }
163
169
  get memory() {
164
170
  let memory = getMemoryContainer(this);
165
171
  this.children.forEach((child) => {
@@ -175,8 +181,12 @@ var CanvasContainer = class extends pixi_js.Container {
175
181
  }
176
182
  };
177
183
  function getMemoryContainer(element) {
184
+ let className = "CanvasContainer";
185
+ if (element.hasOwnProperty("pixivnId")) {
186
+ className = element.pixivnId;
187
+ }
178
188
  return {
179
- className: "CanvasContainer",
189
+ pixivnId: className,
180
190
  elements: [],
181
191
  width: element.width,
182
192
  height: element.height,
@@ -292,40 +302,43 @@ function getTextStyle(style) {
292
302
 
293
303
  // src/decorators/EventDecorator.ts
294
304
  var registeredEvents = {};
295
- function getEventTypeByClassName(eventName) {
305
+ function getEventTypeById(eventId) {
296
306
  try {
297
- let eventType = registeredEvents[eventName];
307
+ let eventType = registeredEvents[eventId];
298
308
  if (!eventType) {
299
- console.error(`[Pixi'VN] Event ${eventName} not found`);
309
+ console.error(`[Pixi'VN] Event ${eventId} not found`);
300
310
  return;
301
311
  }
302
312
  new eventType();
303
313
  return eventType;
304
314
  } catch (e) {
305
- console.error(`[Pixi'VN] Error while getting Event ${eventName}`, e);
315
+ console.error(`[Pixi'VN] Error while getting Event ${eventId}`, e);
306
316
  return;
307
317
  }
308
318
  }
309
- function getEventInstanceByClassName(eventName) {
319
+ function getEventInstanceById(eventId) {
310
320
  try {
311
- let eventType = registeredEvents[eventName];
321
+ let eventType = registeredEvents[eventId];
312
322
  if (!eventType) {
313
- console.error(`[Pixi'VN] Event ${eventName} not found`);
323
+ console.error(`[Pixi'VN] Event ${eventId} not found`);
314
324
  return;
315
325
  }
316
326
  let event = new eventType();
317
327
  return event;
318
328
  } catch (e) {
319
- console.error(`[Pixi'VN] Error while getting Event ${eventName}`, e);
329
+ console.error(`[Pixi'VN] Error while getting Event ${eventId}`, e);
320
330
  return;
321
331
  }
322
332
  }
323
333
 
324
334
  // src/classes/canvas/CanvasSprite.ts
335
+ var CANVAS_SPRITE_ID = "CanvasSprite";
325
336
  var CanvasSprite = class _CanvasSprite extends pixi_js.Sprite {
326
- constructor() {
327
- super(...arguments);
337
+ constructor(options) {
338
+ super(options);
339
+ this.pixivnId = CANVAS_SPRITE_ID;
328
340
  this._onEvents = {};
341
+ this.pixivnId = this.constructor.prototype.pixivnId;
329
342
  }
330
343
  get memory() {
331
344
  return getMemorySprite(this);
@@ -366,9 +379,9 @@ var CanvasSprite = class _CanvasSprite extends pixi_js.Sprite {
366
379
  * ```
367
380
  */
368
381
  onEvent(event, eventClass) {
369
- let className = eventClass.name;
370
- let instance = getEventInstanceByClassName(className);
371
- this._onEvents[event] = className;
382
+ let id = eventClass.prototype.id;
383
+ let instance = getEventInstanceById(id);
384
+ this._onEvents[event] = id;
372
385
  if (instance) {
373
386
  super.on(event, () => {
374
387
  instance.fn(event, this);
@@ -397,7 +410,7 @@ var CanvasSprite = class _CanvasSprite extends pixi_js.Sprite {
397
410
  function getMemorySprite(element) {
398
411
  let temp = getMemoryContainer(element);
399
412
  return __spreadProps(__spreadValues({}, temp), {
400
- className: "CanvasSprite",
413
+ pixivnId: element.pixivnId,
401
414
  textureImage: getTextureMemory(element.texture),
402
415
  anchor: { x: element.anchor.x, y: element.anchor.y },
403
416
  roundPixels: element.roundPixels,
@@ -420,8 +433,8 @@ function setMemorySprite(element, memory) {
420
433
  }
421
434
  memory.roundPixels && (element.roundPixels = memory.roundPixels);
422
435
  for (let event in memory.onEvents) {
423
- let className = memory.onEvents[event];
424
- let instance = getEventTypeByClassName(className);
436
+ let id = memory.onEvents[event];
437
+ let instance = getEventTypeById(id);
425
438
  if (instance) {
426
439
  element.onEvent(event, instance);
427
440
  }
@@ -429,9 +442,11 @@ function setMemorySprite(element, memory) {
429
442
  }
430
443
 
431
444
  // src/classes/canvas/CanvasImage.ts
445
+ var CANVAS_IMAGE_ID = "CanvasImage";
432
446
  var CanvasImage = class _CanvasImage extends CanvasSprite {
433
447
  constructor(options, imageLink) {
434
448
  super(options);
449
+ this.pixivnId = CANVAS_IMAGE_ID;
435
450
  this.imageLink = "";
436
451
  if (imageLink) {
437
452
  this.imageLink = imageLink;
@@ -439,12 +454,13 @@ var CanvasImage = class _CanvasImage extends CanvasSprite {
439
454
  }
440
455
  get memory() {
441
456
  return __spreadProps(__spreadValues({}, getMemorySprite(this)), {
442
- className: "CanvasImage",
443
- textureImage: { image: this.imageLink }
457
+ pixivnId: this.pixivnId,
458
+ imageLink: this.imageLink
444
459
  });
445
460
  }
446
461
  set memory(memory) {
447
462
  setMemorySprite(this, memory);
463
+ this.imageLink = memory.imageLink;
448
464
  }
449
465
  static from(source, skipCache) {
450
466
  let sprite = pixi_js.Sprite.from(source, skipCache);
@@ -472,10 +488,13 @@ var CanvasImage = class _CanvasImage extends CanvasSprite {
472
488
  });
473
489
  }
474
490
  };
491
+ var CANVAS_TEXT_ID = "CanvasText";
475
492
  var CanvasText = class extends pixi_js.Text {
476
- constructor() {
477
- super(...arguments);
493
+ constructor(options) {
494
+ super(options);
495
+ this.pixivnId = CANVAS_TEXT_ID;
478
496
  this._onEvents = {};
497
+ this.pixivnId = this.constructor.prototype.pixivnId;
479
498
  }
480
499
  get memory() {
481
500
  return getMemoryText(this);
@@ -516,9 +535,9 @@ var CanvasText = class extends pixi_js.Text {
516
535
  * ```
517
536
  */
518
537
  onEvent(event, eventClass) {
519
- let className = eventClass.name;
520
- let instance = getEventInstanceByClassName(className);
521
- this._onEvents[event] = className;
538
+ let id = eventClass.prototype.id;
539
+ let instance = getEventInstanceById(id);
540
+ this._onEvents[event] = id;
522
541
  if (instance) {
523
542
  super.on(event, () => {
524
543
  instance.fn(event, this);
@@ -541,7 +560,7 @@ var CanvasText = class extends pixi_js.Text {
541
560
  function getMemoryText(element) {
542
561
  let temp = getMemoryContainer(element);
543
562
  return __spreadProps(__spreadValues({}, temp), {
544
- className: "CanvasText",
563
+ pixivnId: element.pixivnId,
545
564
  anchor: { x: element.anchor.x, y: element.anchor.y },
546
565
  text: element.text,
547
566
  resolution: element.resolution,
@@ -564,8 +583,8 @@ function setMemoryText(element, memory) {
564
583
  memory.style && (element.style = memory.style);
565
584
  memory.roundPixels && (element.roundPixels = memory.roundPixels);
566
585
  for (let event in memory.onEvents) {
567
- let className = memory.onEvents[event];
568
- let instance = getEventTypeByClassName(className);
586
+ let id = memory.onEvents[event];
587
+ let instance = getEventTypeById(id);
569
588
  if (instance) {
570
589
  element.onEvent(event, instance);
571
590
  }
@@ -574,28 +593,28 @@ function setMemoryText(element, memory) {
574
593
 
575
594
  // src/decorators/CanvasElementDecorator.ts
576
595
  var registeredCanvasElement = {};
577
- function getCanvasElementInstanceByClassName(canvasName) {
596
+ function getCanvasElementInstanceById(canvasId) {
578
597
  try {
579
- let eventType = registeredCanvasElement[canvasName];
598
+ let eventType = registeredCanvasElement[canvasId];
580
599
  if (!eventType) {
581
- if (canvasName === "CanvasContainer") {
600
+ if (canvasId === CANVAS_CONTAINER_ID) {
582
601
  eventType = CanvasContainer;
583
- } else if (canvasName === "CanvasImage") {
602
+ } else if (canvasId === CANVAS_IMAGE_ID) {
584
603
  eventType = CanvasImage;
585
- } else if (canvasName === "CanvasSprite") {
604
+ } else if (canvasId === CANVAS_SPRITE_ID) {
586
605
  eventType = CanvasSprite;
587
- } else if (canvasName === "CanvasText") {
606
+ } else if (canvasId === CANVAS_TEXT_ID) {
588
607
  eventType = CanvasText;
589
608
  }
590
609
  }
591
610
  if (!eventType) {
592
- console.error(`[Pixi'VN] CanvasElement ${canvasName} not found`);
611
+ console.error(`[Pixi'VN] CanvasElement ${canvasId} not found`);
593
612
  return;
594
613
  }
595
614
  let canvasElement = new eventType();
596
615
  return canvasElement;
597
616
  } catch (e) {
598
- console.error(`[Pixi'VN] Error while getting CanvasElement ${canvasName}`, e);
617
+ console.error(`[Pixi'VN] Error while getting CanvasElement ${canvasId}`, e);
599
618
  return;
600
619
  }
601
620
  }
@@ -610,23 +629,27 @@ function tickerDecorator(name) {
610
629
  if (registeredTickers[name]) {
611
630
  console.info(`[Pixi'VN] Ticker ${name} already exists, it will be overwritten`);
612
631
  }
632
+ target.prototype.id = name;
613
633
  registeredTickers[name] = target;
614
634
  };
615
635
  }
616
- function geTickerInstanceByClassName(tickerName, args, duration, priority) {
636
+ function geTickerInstanceById(tickerId, args, duration, priority) {
617
637
  try {
618
- let ticker = registeredTickers[tickerName];
638
+ let ticker = registeredTickers[tickerId];
619
639
  if (!ticker) {
620
- console.error(`[Pixi'VN] Ticker ${tickerName} not found`);
640
+ console.error(`[Pixi'VN] Ticker ${tickerId} not found`);
621
641
  return;
622
642
  }
623
643
  return new ticker(args, duration, priority);
624
644
  } catch (e) {
625
- console.error(`[Pixi'VN] Error while getting Ticker ${tickerName}`, e);
645
+ console.error(`[Pixi'VN] Error while getting Ticker ${tickerId}`, e);
626
646
  return;
627
647
  }
628
648
  }
629
649
 
650
+ // src/types/CloseType.ts
651
+ var Close = "close";
652
+
630
653
  // src/decorators/LabelDecorator.ts
631
654
  var registeredLabels = {};
632
655
  function getLabelById(id) {
@@ -642,6 +665,34 @@ function getLabelById(id) {
642
665
  function getDialogue() {
643
666
  return GameStorageManager.getVariable(GameStorageManager.keysSystem.CURRENT_DIALOGUE_MEMORY_KEY);
644
667
  }
668
+ function getChoiceMenuOptions() {
669
+ let d = GameStorageManager.getVariable(GameStorageManager.keysSystem.CURRENT_MENU_OPTIONS_MEMORY_KEY);
670
+ if (d) {
671
+ let options = [];
672
+ d.forEach((option, index) => {
673
+ if (option.type === Close) {
674
+ let itemLabel = newCloseLabel(index);
675
+ options.push({
676
+ text: option.text,
677
+ label: itemLabel,
678
+ type: Close,
679
+ closeCurrentLabel: option.closeCurrentLabel,
680
+ props: {}
681
+ });
682
+ return;
683
+ }
684
+ let label = getLabelById(option.label);
685
+ if (label) {
686
+ let itemLabel = new Label(label.id, label.steps, label.onStepRun, index);
687
+ options.push(__spreadProps(__spreadValues({}, option), {
688
+ label: itemLabel
689
+ }));
690
+ }
691
+ });
692
+ return options;
693
+ }
694
+ return void 0;
695
+ }
645
696
 
646
697
  // src/classes/ticker/TickerBase.ts
647
698
  var TickerBase = class {
@@ -651,9 +702,14 @@ var TickerBase = class {
651
702
  * @param priority The priority of the ticker. @default UPDATE_PRIORITY.NORMAL
652
703
  */
653
704
  constructor(args, duration, priority) {
705
+ /**
706
+ * Get the id of the ticker. This variable is used in the system to get the ticker by id, {@link geTickerInstanceById}
707
+ */
708
+ this.id = "ticker_id_not_set";
654
709
  this.args = args;
655
710
  this.duration = duration;
656
711
  this.priority = priority;
712
+ this.id = this.constructor.prototype.id;
657
713
  }
658
714
  /**
659
715
  * The method that will be called every frame.
@@ -876,8 +932,8 @@ var ZoomTicker = class extends TickerBase {
876
932
  tagToRemoveAfter2 = [tagToRemoveAfter2];
877
933
  }
878
934
  let type = args.type || "zoom";
879
- let xLimit = Infinity;
880
- let yLimit = Infinity;
935
+ let xLimit = type === "zoom" ? Infinity : 0;
936
+ let yLimit = type === "zoom" ? Infinity : 0;
881
937
  if (args.limit) {
882
938
  if (typeof args.limit === "number") {
883
939
  xLimit = args.limit;
@@ -916,7 +972,7 @@ var ZoomTicker = class extends TickerBase {
916
972
  if (element.scale.x >= xLimit && element.scale.y >= yLimit) {
917
973
  element.scale.x = xLimit;
918
974
  element.scale.y = yLimit;
919
- GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
975
+ this.onEndOfTicker(tag, tickerId, element, tagToRemoveAfter2);
920
976
  }
921
977
  } else if (type === "unzoom") {
922
978
  if (element.scale.x < xLimit) {
@@ -928,17 +984,20 @@ var ZoomTicker = class extends TickerBase {
928
984
  if (element.scale.x <= xLimit && element.scale.y <= yLimit) {
929
985
  element.scale.x = xLimit;
930
986
  element.scale.y = yLimit;
931
- GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
987
+ this.onEndOfTicker(tag, tickerId, element, tagToRemoveAfter2);
932
988
  }
933
989
  }
934
990
  if (xSpeed < 1e-5 && ySpeed < 1e-5 && !(args.speedProgression && args.speedProgression.type == "linear" && args.speedProgression.amt != 0)) {
935
- GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
991
+ this.onEndOfTicker(tag, tickerId, element, tagToRemoveAfter2);
936
992
  }
937
993
  }
938
994
  });
939
995
  if (args.speedProgression)
940
996
  updateTickerProgression(args, "speed", args.speedProgression);
941
997
  }
998
+ onEndOfTicker(tag, tickerId, _element, tagToRemoveAfter2) {
999
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
1000
+ }
942
1001
  };
943
1002
  ZoomTicker = __decorateClass([
944
1003
  tickerDecorator()
@@ -1408,18 +1467,18 @@ var _GameWindowManager = class _GameWindowManager {
1408
1467
  * ```
1409
1468
  */
1410
1469
  static addTicker(canvasElementTag, ticker) {
1411
- let tickerName = ticker.constructor.name;
1470
+ let tickerId = ticker.id;
1412
1471
  if (typeof canvasElementTag === "string") {
1413
1472
  canvasElementTag = [canvasElementTag];
1414
1473
  }
1415
- if (!geTickerInstanceByClassName(tickerName, ticker.args, ticker.duration, ticker.priority)) {
1416
- console.error(`[Pixi'VN] Ticker ${tickerName} not found`);
1474
+ if (!geTickerInstanceById(tickerId, ticker.args, ticker.duration, ticker.priority)) {
1475
+ console.error(`[Pixi'VN] Ticker ${tickerId} not found`);
1417
1476
  return;
1418
1477
  }
1419
1478
  let tickerHistory = {
1420
1479
  fn: () => {
1421
1480
  },
1422
- className: tickerName,
1481
+ id: tickerId,
1423
1482
  args: createExportableElement(ticker.args),
1424
1483
  canvasElementTags: canvasElementTag,
1425
1484
  priority: ticker.priority,
@@ -1435,11 +1494,11 @@ var _GameWindowManager = class _GameWindowManager {
1435
1494
  _GameWindowManager.removeTicker(id);
1436
1495
  }
1437
1496
  }, ticker.duration * 1e3);
1438
- _GameWindowManager.addTickerTimeoutInfo(canvasElementTag, tickerName, timeout.toString(), true);
1497
+ _GameWindowManager.addTickerTimeoutInfo(canvasElementTag, tickerId, timeout.toString(), true);
1439
1498
  }
1440
1499
  }
1441
1500
  static pushTicker(id, tickerData, ticker) {
1442
- _GameWindowManager.removeAssociationBetweenTickerCanvasElement(tickerData.canvasElementTags, tickerData);
1501
+ _GameWindowManager.removeAssociationBetweenTickerCanvasElement(tickerData.canvasElementTags, ticker);
1443
1502
  _GameWindowManager._currentTickers[id] = tickerData;
1444
1503
  tickerData.fn = (t) => {
1445
1504
  let data = _GameWindowManager._currentTickers[id];
@@ -1480,9 +1539,9 @@ var _GameWindowManager = class _GameWindowManager {
1480
1539
  if (step.hasOwnProperty("type") && step.type === "pause") {
1481
1540
  return step;
1482
1541
  }
1483
- let tickerName = step.constructor.name;
1542
+ let tickerId = step.id;
1484
1543
  return {
1485
- ticker: tickerName,
1544
+ ticker: tickerId,
1486
1545
  args: createExportableElement(step.args),
1487
1546
  duration: step.duration
1488
1547
  };
@@ -1520,16 +1579,16 @@ var _GameWindowManager = class _GameWindowManager {
1520
1579
  _GameWindowManager.addTickerTimeoutInfo(tag, "steps", timeout.toString(), false);
1521
1580
  return;
1522
1581
  }
1523
- let ticker = geTickerInstanceByClassName(step.ticker, step.args, step.duration, step.priority);
1582
+ let ticker = geTickerInstanceById(step.ticker, step.args, step.duration, step.priority);
1524
1583
  if (!ticker) {
1525
1584
  console.error(`[Pixi'VN] Ticker ${step.ticker} not found`);
1526
1585
  return;
1527
1586
  }
1528
- let tickerName = ticker.constructor.name;
1587
+ let tickerName = ticker.id;
1529
1588
  let tickerHistory = {
1530
1589
  fn: () => {
1531
1590
  },
1532
- className: tickerName,
1591
+ id: tickerName,
1533
1592
  args: createExportableElement(ticker.args),
1534
1593
  canvasElementTags: [tag],
1535
1594
  priority: ticker.priority,
@@ -1586,26 +1645,26 @@ var _GameWindowManager = class _GameWindowManager {
1586
1645
  * ```
1587
1646
  */
1588
1647
  static removeAssociationBetweenTickerCanvasElement(tags, ticker) {
1589
- let tickerName;
1648
+ let tickerId;
1590
1649
  if (typeof ticker === "string") {
1591
- tickerName = ticker;
1650
+ tickerId = ticker;
1592
1651
  } else if (ticker instanceof TickerBase) {
1593
- tickerName = ticker.constructor.name;
1652
+ tickerId = ticker.id;
1594
1653
  } else {
1595
- tickerName = ticker.name;
1654
+ tickerId = ticker.prototype.id;
1596
1655
  }
1597
1656
  if (typeof tags === "string") {
1598
1657
  tags = [tags];
1599
1658
  }
1600
1659
  for (let id in _GameWindowManager._currentTickers) {
1601
1660
  let ticker2 = _GameWindowManager._currentTickers[id];
1602
- if (ticker2.className === tickerName) {
1661
+ if (ticker2.id === tickerId) {
1603
1662
  _GameWindowManager._currentTickers[id].canvasElementTags = ticker2.canvasElementTags.filter((e) => !tags.includes(e));
1604
1663
  }
1605
1664
  }
1606
1665
  for (let timeout in _GameWindowManager._currentTickersTimeouts) {
1607
1666
  let TickerTimeout = _GameWindowManager._currentTickersTimeouts[timeout];
1608
- if (TickerTimeout.ticker === tickerName && TickerTimeout.canBeDeletedBeforeEnd) {
1667
+ if (TickerTimeout.ticker === tickerId && TickerTimeout.canBeDeletedBeforeEnd) {
1609
1668
  _GameWindowManager._currentTickersTimeouts[timeout].tags = TickerTimeout.tags.filter((t) => !tags.includes(t));
1610
1669
  }
1611
1670
  }
@@ -1791,11 +1850,11 @@ var _GameWindowManager = class _GameWindowManager {
1791
1850
  for (let id in currentTickers) {
1792
1851
  let t = currentTickers[id];
1793
1852
  let tags = t.canvasElementTags;
1794
- let ticker = geTickerInstanceByClassName(t.className, t.args, t.duration, t.priority);
1853
+ let ticker = geTickerInstanceById(t.id, t.args, t.duration, t.priority);
1795
1854
  if (ticker) {
1796
1855
  _GameWindowManager.addTicker(tags, ticker);
1797
1856
  } else {
1798
- console.error(`[Pixi'VN] Ticker ${t.className} not found`);
1857
+ console.error(`[Pixi'VN] Ticker ${t.id} not found`);
1799
1858
  }
1800
1859
  }
1801
1860
  }
@@ -1996,6 +2055,13 @@ var _GameStepManager = class _GameStepManager {
1996
2055
  _GameStepManager._openedLabels = _GameStepManager.originalStepData.openedLabels;
1997
2056
  }
1998
2057
  /* Run Methods */
2058
+ static get canGoNext() {
2059
+ let options = getChoiceMenuOptions();
2060
+ if (options && options.length > 0) {
2061
+ return false;
2062
+ }
2063
+ return true;
2064
+ }
1999
2065
  /**
2000
2066
  * Execute the next step and add it to the history.
2001
2067
  * @param props The props to pass to the step.
@@ -2005,7 +2071,7 @@ var _GameStepManager = class _GameStepManager {
2005
2071
  * ```typescript
2006
2072
  * function nextOnClick() {
2007
2073
  * setLoading(true)
2008
- * GameStepManager.runNextStep(yourParams)
2074
+ * GameStepManager.goNext(yourParams)
2009
2075
  * .then((result) => {
2010
2076
  * setUpdate((p) => p + 1)
2011
2077
  * setLoading(false)
@@ -2020,8 +2086,12 @@ var _GameStepManager = class _GameStepManager {
2020
2086
  * }
2021
2087
  * ```
2022
2088
  */
2023
- static runNextStep(props, choiseMade) {
2089
+ static goNext(props, choiseMade) {
2024
2090
  return __async(this, null, function* () {
2091
+ if (!_GameStepManager.canGoNext) {
2092
+ console.warn("[Pixi'VN] The player must make a choice");
2093
+ return;
2094
+ }
2025
2095
  _GameStepManager.increaseCurrentStepIndex();
2026
2096
  return yield _GameStepManager.runCurrentStep(props, choiseMade);
2027
2097
  });
@@ -2052,7 +2122,7 @@ var _GameStepManager = class _GameStepManager {
2052
2122
  return result;
2053
2123
  } else if (_GameStepManager.openedLabels.length > 1) {
2054
2124
  _GameStepManager.closeCurrentLabel();
2055
- return yield _GameStepManager.runNextStep(props, choiseMade);
2125
+ return yield _GameStepManager.goNext(props, choiseMade);
2056
2126
  } else {
2057
2127
  _GameStepManager.restorLastLabelList();
2058
2128
  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");
@@ -2200,7 +2270,7 @@ var _GameStepManager = class _GameStepManager {
2200
2270
  if (choice.closeCurrentLabel) {
2201
2271
  _GameStepManager.closeCurrentLabel();
2202
2272
  }
2203
- return _GameStepManager.runNextStep(props, choiseMade);
2273
+ return _GameStepManager.goNext(props, choiseMade);
2204
2274
  });
2205
2275
  }
2206
2276
  /* After Update Methods */