@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
@@ -52,7 +52,7 @@ var __async = (__this, __arguments, generator) => {
52
52
  };
53
53
 
54
54
  // src/constants.ts
55
- var PIXIVN_VERSION = "0.6.1";
55
+ var PIXIVN_VERSION = "0.6.2";
56
56
  var Repeat = "repeat";
57
57
  function getStepSha1(step) {
58
58
  let sha1String = sha1(step.toString().toLocaleLowerCase());
@@ -77,7 +77,7 @@ var Label = class {
77
77
  this._choiseIndex = choiseIndex;
78
78
  }
79
79
  /**
80
- * Get the id of the label
80
+ * Get the id of the label. This variable is used in the system to get the label by id, {@link getLabelById}
81
81
  */
82
82
  get id() {
83
83
  return this._id;
@@ -147,17 +147,23 @@ function exportCanvasElement(element) {
147
147
  return element.memory;
148
148
  }
149
149
  function importCanvasElement(memory) {
150
- let element = getCanvasElementInstanceByClassName(memory.className);
150
+ let element = getCanvasElementInstanceById(memory.pixivnId);
151
151
  if (element) {
152
152
  element.memory = memory;
153
153
  } else {
154
- throw new Error("[Pixi'VN] The element " + memory.className + " could not be created");
154
+ throw new Error("[Pixi'VN] The element " + memory.pixivnId + " could not be created");
155
155
  }
156
156
  return element;
157
157
  }
158
158
 
159
159
  // src/classes/canvas/CanvasContainer.ts
160
+ var CANVAS_CONTAINER_ID = "CanvasContainer";
160
161
  var CanvasContainer = class extends Container {
162
+ constructor(options) {
163
+ super(options);
164
+ this.pixivnId = CANVAS_CONTAINER_ID;
165
+ this.pixivnId = this.constructor.prototype.pixivnId;
166
+ }
161
167
  get memory() {
162
168
  let memory = getMemoryContainer(this);
163
169
  this.children.forEach((child) => {
@@ -173,8 +179,12 @@ var CanvasContainer = class extends Container {
173
179
  }
174
180
  };
175
181
  function getMemoryContainer(element) {
182
+ let className = "CanvasContainer";
183
+ if (element.hasOwnProperty("pixivnId")) {
184
+ className = element.pixivnId;
185
+ }
176
186
  return {
177
- className: "CanvasContainer",
187
+ pixivnId: className,
178
188
  elements: [],
179
189
  width: element.width,
180
190
  height: element.height,
@@ -290,40 +300,43 @@ function getTextStyle(style) {
290
300
 
291
301
  // src/decorators/EventDecorator.ts
292
302
  var registeredEvents = {};
293
- function getEventTypeByClassName(eventName) {
303
+ function getEventTypeById(eventId) {
294
304
  try {
295
- let eventType = registeredEvents[eventName];
305
+ let eventType = registeredEvents[eventId];
296
306
  if (!eventType) {
297
- console.error(`[Pixi'VN] Event ${eventName} not found`);
307
+ console.error(`[Pixi'VN] Event ${eventId} not found`);
298
308
  return;
299
309
  }
300
310
  new eventType();
301
311
  return eventType;
302
312
  } catch (e) {
303
- console.error(`[Pixi'VN] Error while getting Event ${eventName}`, e);
313
+ console.error(`[Pixi'VN] Error while getting Event ${eventId}`, e);
304
314
  return;
305
315
  }
306
316
  }
307
- function getEventInstanceByClassName(eventName) {
317
+ function getEventInstanceById(eventId) {
308
318
  try {
309
- let eventType = registeredEvents[eventName];
319
+ let eventType = registeredEvents[eventId];
310
320
  if (!eventType) {
311
- console.error(`[Pixi'VN] Event ${eventName} not found`);
321
+ console.error(`[Pixi'VN] Event ${eventId} not found`);
312
322
  return;
313
323
  }
314
324
  let event = new eventType();
315
325
  return event;
316
326
  } catch (e) {
317
- console.error(`[Pixi'VN] Error while getting Event ${eventName}`, e);
327
+ console.error(`[Pixi'VN] Error while getting Event ${eventId}`, e);
318
328
  return;
319
329
  }
320
330
  }
321
331
 
322
332
  // src/classes/canvas/CanvasSprite.ts
333
+ var CANVAS_SPRITE_ID = "CanvasSprite";
323
334
  var CanvasSprite = class _CanvasSprite extends Sprite {
324
- constructor() {
325
- super(...arguments);
335
+ constructor(options) {
336
+ super(options);
337
+ this.pixivnId = CANVAS_SPRITE_ID;
326
338
  this._onEvents = {};
339
+ this.pixivnId = this.constructor.prototype.pixivnId;
327
340
  }
328
341
  get memory() {
329
342
  return getMemorySprite(this);
@@ -364,9 +377,9 @@ var CanvasSprite = class _CanvasSprite extends Sprite {
364
377
  * ```
365
378
  */
366
379
  onEvent(event, eventClass) {
367
- let className = eventClass.name;
368
- let instance = getEventInstanceByClassName(className);
369
- this._onEvents[event] = className;
380
+ let id = eventClass.prototype.id;
381
+ let instance = getEventInstanceById(id);
382
+ this._onEvents[event] = id;
370
383
  if (instance) {
371
384
  super.on(event, () => {
372
385
  instance.fn(event, this);
@@ -395,7 +408,7 @@ var CanvasSprite = class _CanvasSprite extends Sprite {
395
408
  function getMemorySprite(element) {
396
409
  let temp = getMemoryContainer(element);
397
410
  return __spreadProps(__spreadValues({}, temp), {
398
- className: "CanvasSprite",
411
+ pixivnId: element.pixivnId,
399
412
  textureImage: getTextureMemory(element.texture),
400
413
  anchor: { x: element.anchor.x, y: element.anchor.y },
401
414
  roundPixels: element.roundPixels,
@@ -418,8 +431,8 @@ function setMemorySprite(element, memory) {
418
431
  }
419
432
  memory.roundPixels && (element.roundPixels = memory.roundPixels);
420
433
  for (let event in memory.onEvents) {
421
- let className = memory.onEvents[event];
422
- let instance = getEventTypeByClassName(className);
434
+ let id = memory.onEvents[event];
435
+ let instance = getEventTypeById(id);
423
436
  if (instance) {
424
437
  element.onEvent(event, instance);
425
438
  }
@@ -427,9 +440,11 @@ function setMemorySprite(element, memory) {
427
440
  }
428
441
 
429
442
  // src/classes/canvas/CanvasImage.ts
443
+ var CANVAS_IMAGE_ID = "CanvasImage";
430
444
  var CanvasImage = class _CanvasImage extends CanvasSprite {
431
445
  constructor(options, imageLink) {
432
446
  super(options);
447
+ this.pixivnId = CANVAS_IMAGE_ID;
433
448
  this.imageLink = "";
434
449
  if (imageLink) {
435
450
  this.imageLink = imageLink;
@@ -437,12 +452,13 @@ var CanvasImage = class _CanvasImage extends CanvasSprite {
437
452
  }
438
453
  get memory() {
439
454
  return __spreadProps(__spreadValues({}, getMemorySprite(this)), {
440
- className: "CanvasImage",
441
- textureImage: { image: this.imageLink }
455
+ pixivnId: this.pixivnId,
456
+ imageLink: this.imageLink
442
457
  });
443
458
  }
444
459
  set memory(memory) {
445
460
  setMemorySprite(this, memory);
461
+ this.imageLink = memory.imageLink;
446
462
  }
447
463
  static from(source, skipCache) {
448
464
  let sprite = Sprite.from(source, skipCache);
@@ -470,10 +486,13 @@ var CanvasImage = class _CanvasImage extends CanvasSprite {
470
486
  });
471
487
  }
472
488
  };
489
+ var CANVAS_TEXT_ID = "CanvasText";
473
490
  var CanvasText = class extends Text {
474
- constructor() {
475
- super(...arguments);
491
+ constructor(options) {
492
+ super(options);
493
+ this.pixivnId = CANVAS_TEXT_ID;
476
494
  this._onEvents = {};
495
+ this.pixivnId = this.constructor.prototype.pixivnId;
477
496
  }
478
497
  get memory() {
479
498
  return getMemoryText(this);
@@ -514,9 +533,9 @@ var CanvasText = class extends Text {
514
533
  * ```
515
534
  */
516
535
  onEvent(event, eventClass) {
517
- let className = eventClass.name;
518
- let instance = getEventInstanceByClassName(className);
519
- this._onEvents[event] = className;
536
+ let id = eventClass.prototype.id;
537
+ let instance = getEventInstanceById(id);
538
+ this._onEvents[event] = id;
520
539
  if (instance) {
521
540
  super.on(event, () => {
522
541
  instance.fn(event, this);
@@ -539,7 +558,7 @@ var CanvasText = class extends Text {
539
558
  function getMemoryText(element) {
540
559
  let temp = getMemoryContainer(element);
541
560
  return __spreadProps(__spreadValues({}, temp), {
542
- className: "CanvasText",
561
+ pixivnId: element.pixivnId,
543
562
  anchor: { x: element.anchor.x, y: element.anchor.y },
544
563
  text: element.text,
545
564
  resolution: element.resolution,
@@ -562,8 +581,8 @@ function setMemoryText(element, memory) {
562
581
  memory.style && (element.style = memory.style);
563
582
  memory.roundPixels && (element.roundPixels = memory.roundPixels);
564
583
  for (let event in memory.onEvents) {
565
- let className = memory.onEvents[event];
566
- let instance = getEventTypeByClassName(className);
584
+ let id = memory.onEvents[event];
585
+ let instance = getEventTypeById(id);
567
586
  if (instance) {
568
587
  element.onEvent(event, instance);
569
588
  }
@@ -572,28 +591,28 @@ function setMemoryText(element, memory) {
572
591
 
573
592
  // src/decorators/CanvasElementDecorator.ts
574
593
  var registeredCanvasElement = {};
575
- function getCanvasElementInstanceByClassName(canvasName) {
594
+ function getCanvasElementInstanceById(canvasId) {
576
595
  try {
577
- let eventType = registeredCanvasElement[canvasName];
596
+ let eventType = registeredCanvasElement[canvasId];
578
597
  if (!eventType) {
579
- if (canvasName === "CanvasContainer") {
598
+ if (canvasId === CANVAS_CONTAINER_ID) {
580
599
  eventType = CanvasContainer;
581
- } else if (canvasName === "CanvasImage") {
600
+ } else if (canvasId === CANVAS_IMAGE_ID) {
582
601
  eventType = CanvasImage;
583
- } else if (canvasName === "CanvasSprite") {
602
+ } else if (canvasId === CANVAS_SPRITE_ID) {
584
603
  eventType = CanvasSprite;
585
- } else if (canvasName === "CanvasText") {
604
+ } else if (canvasId === CANVAS_TEXT_ID) {
586
605
  eventType = CanvasText;
587
606
  }
588
607
  }
589
608
  if (!eventType) {
590
- console.error(`[Pixi'VN] CanvasElement ${canvasName} not found`);
609
+ console.error(`[Pixi'VN] CanvasElement ${canvasId} not found`);
591
610
  return;
592
611
  }
593
612
  let canvasElement = new eventType();
594
613
  return canvasElement;
595
614
  } catch (e) {
596
- console.error(`[Pixi'VN] Error while getting CanvasElement ${canvasName}`, e);
615
+ console.error(`[Pixi'VN] Error while getting CanvasElement ${canvasId}`, e);
597
616
  return;
598
617
  }
599
618
  }
@@ -608,23 +627,27 @@ function tickerDecorator(name) {
608
627
  if (registeredTickers[name]) {
609
628
  console.info(`[Pixi'VN] Ticker ${name} already exists, it will be overwritten`);
610
629
  }
630
+ target.prototype.id = name;
611
631
  registeredTickers[name] = target;
612
632
  };
613
633
  }
614
- function geTickerInstanceByClassName(tickerName, args, duration, priority) {
634
+ function geTickerInstanceById(tickerId, args, duration, priority) {
615
635
  try {
616
- let ticker = registeredTickers[tickerName];
636
+ let ticker = registeredTickers[tickerId];
617
637
  if (!ticker) {
618
- console.error(`[Pixi'VN] Ticker ${tickerName} not found`);
638
+ console.error(`[Pixi'VN] Ticker ${tickerId} not found`);
619
639
  return;
620
640
  }
621
641
  return new ticker(args, duration, priority);
622
642
  } catch (e) {
623
- console.error(`[Pixi'VN] Error while getting Ticker ${tickerName}`, e);
643
+ console.error(`[Pixi'VN] Error while getting Ticker ${tickerId}`, e);
624
644
  return;
625
645
  }
626
646
  }
627
647
 
648
+ // src/types/CloseType.ts
649
+ var Close = "close";
650
+
628
651
  // src/decorators/LabelDecorator.ts
629
652
  var registeredLabels = {};
630
653
  function getLabelById(id) {
@@ -640,6 +663,34 @@ function getLabelById(id) {
640
663
  function getDialogue() {
641
664
  return GameStorageManager.getVariable(GameStorageManager.keysSystem.CURRENT_DIALOGUE_MEMORY_KEY);
642
665
  }
666
+ function getChoiceMenuOptions() {
667
+ let d = GameStorageManager.getVariable(GameStorageManager.keysSystem.CURRENT_MENU_OPTIONS_MEMORY_KEY);
668
+ if (d) {
669
+ let options = [];
670
+ d.forEach((option, index) => {
671
+ if (option.type === Close) {
672
+ let itemLabel = newCloseLabel(index);
673
+ options.push({
674
+ text: option.text,
675
+ label: itemLabel,
676
+ type: Close,
677
+ closeCurrentLabel: option.closeCurrentLabel,
678
+ props: {}
679
+ });
680
+ return;
681
+ }
682
+ let label = getLabelById(option.label);
683
+ if (label) {
684
+ let itemLabel = new Label(label.id, label.steps, label.onStepRun, index);
685
+ options.push(__spreadProps(__spreadValues({}, option), {
686
+ label: itemLabel
687
+ }));
688
+ }
689
+ });
690
+ return options;
691
+ }
692
+ return void 0;
693
+ }
643
694
 
644
695
  // src/classes/ticker/TickerBase.ts
645
696
  var TickerBase = class {
@@ -649,9 +700,14 @@ var TickerBase = class {
649
700
  * @param priority The priority of the ticker. @default UPDATE_PRIORITY.NORMAL
650
701
  */
651
702
  constructor(args, duration, priority) {
703
+ /**
704
+ * Get the id of the ticker. This variable is used in the system to get the ticker by id, {@link geTickerInstanceById}
705
+ */
706
+ this.id = "ticker_id_not_set";
652
707
  this.args = args;
653
708
  this.duration = duration;
654
709
  this.priority = priority;
710
+ this.id = this.constructor.prototype.id;
655
711
  }
656
712
  /**
657
713
  * The method that will be called every frame.
@@ -874,8 +930,8 @@ var ZoomTicker = class extends TickerBase {
874
930
  tagToRemoveAfter2 = [tagToRemoveAfter2];
875
931
  }
876
932
  let type = args.type || "zoom";
877
- let xLimit = Infinity;
878
- let yLimit = Infinity;
933
+ let xLimit = type === "zoom" ? Infinity : 0;
934
+ let yLimit = type === "zoom" ? Infinity : 0;
879
935
  if (args.limit) {
880
936
  if (typeof args.limit === "number") {
881
937
  xLimit = args.limit;
@@ -914,7 +970,7 @@ var ZoomTicker = class extends TickerBase {
914
970
  if (element.scale.x >= xLimit && element.scale.y >= yLimit) {
915
971
  element.scale.x = xLimit;
916
972
  element.scale.y = yLimit;
917
- GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
973
+ this.onEndOfTicker(tag, tickerId, element, tagToRemoveAfter2);
918
974
  }
919
975
  } else if (type === "unzoom") {
920
976
  if (element.scale.x < xLimit) {
@@ -926,17 +982,20 @@ var ZoomTicker = class extends TickerBase {
926
982
  if (element.scale.x <= xLimit && element.scale.y <= yLimit) {
927
983
  element.scale.x = xLimit;
928
984
  element.scale.y = yLimit;
929
- GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
985
+ this.onEndOfTicker(tag, tickerId, element, tagToRemoveAfter2);
930
986
  }
931
987
  }
932
988
  if (xSpeed < 1e-5 && ySpeed < 1e-5 && !(args.speedProgression && args.speedProgression.type == "linear" && args.speedProgression.amt != 0)) {
933
- GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
989
+ this.onEndOfTicker(tag, tickerId, element, tagToRemoveAfter2);
934
990
  }
935
991
  }
936
992
  });
937
993
  if (args.speedProgression)
938
994
  updateTickerProgression(args, "speed", args.speedProgression);
939
995
  }
996
+ onEndOfTicker(tag, tickerId, _element, tagToRemoveAfter2) {
997
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
998
+ }
940
999
  };
941
1000
  ZoomTicker = __decorateClass([
942
1001
  tickerDecorator()
@@ -1403,18 +1462,18 @@ var _GameWindowManager = class _GameWindowManager {
1403
1462
  * ```
1404
1463
  */
1405
1464
  static addTicker(canvasElementTag, ticker) {
1406
- let tickerName = ticker.constructor.name;
1465
+ let tickerId = ticker.id;
1407
1466
  if (typeof canvasElementTag === "string") {
1408
1467
  canvasElementTag = [canvasElementTag];
1409
1468
  }
1410
- if (!geTickerInstanceByClassName(tickerName, ticker.args, ticker.duration, ticker.priority)) {
1411
- console.error(`[Pixi'VN] Ticker ${tickerName} not found`);
1469
+ if (!geTickerInstanceById(tickerId, ticker.args, ticker.duration, ticker.priority)) {
1470
+ console.error(`[Pixi'VN] Ticker ${tickerId} not found`);
1412
1471
  return;
1413
1472
  }
1414
1473
  let tickerHistory = {
1415
1474
  fn: () => {
1416
1475
  },
1417
- className: tickerName,
1476
+ id: tickerId,
1418
1477
  args: createExportableElement(ticker.args),
1419
1478
  canvasElementTags: canvasElementTag,
1420
1479
  priority: ticker.priority,
@@ -1430,11 +1489,11 @@ var _GameWindowManager = class _GameWindowManager {
1430
1489
  _GameWindowManager.removeTicker(id);
1431
1490
  }
1432
1491
  }, ticker.duration * 1e3);
1433
- _GameWindowManager.addTickerTimeoutInfo(canvasElementTag, tickerName, timeout.toString(), true);
1492
+ _GameWindowManager.addTickerTimeoutInfo(canvasElementTag, tickerId, timeout.toString(), true);
1434
1493
  }
1435
1494
  }
1436
1495
  static pushTicker(id, tickerData, ticker) {
1437
- _GameWindowManager.removeAssociationBetweenTickerCanvasElement(tickerData.canvasElementTags, tickerData);
1496
+ _GameWindowManager.removeAssociationBetweenTickerCanvasElement(tickerData.canvasElementTags, ticker);
1438
1497
  _GameWindowManager._currentTickers[id] = tickerData;
1439
1498
  tickerData.fn = (t) => {
1440
1499
  let data = _GameWindowManager._currentTickers[id];
@@ -1475,9 +1534,9 @@ var _GameWindowManager = class _GameWindowManager {
1475
1534
  if (step.hasOwnProperty("type") && step.type === "pause") {
1476
1535
  return step;
1477
1536
  }
1478
- let tickerName = step.constructor.name;
1537
+ let tickerId = step.id;
1479
1538
  return {
1480
- ticker: tickerName,
1539
+ ticker: tickerId,
1481
1540
  args: createExportableElement(step.args),
1482
1541
  duration: step.duration
1483
1542
  };
@@ -1515,16 +1574,16 @@ var _GameWindowManager = class _GameWindowManager {
1515
1574
  _GameWindowManager.addTickerTimeoutInfo(tag, "steps", timeout.toString(), false);
1516
1575
  return;
1517
1576
  }
1518
- let ticker = geTickerInstanceByClassName(step.ticker, step.args, step.duration, step.priority);
1577
+ let ticker = geTickerInstanceById(step.ticker, step.args, step.duration, step.priority);
1519
1578
  if (!ticker) {
1520
1579
  console.error(`[Pixi'VN] Ticker ${step.ticker} not found`);
1521
1580
  return;
1522
1581
  }
1523
- let tickerName = ticker.constructor.name;
1582
+ let tickerName = ticker.id;
1524
1583
  let tickerHistory = {
1525
1584
  fn: () => {
1526
1585
  },
1527
- className: tickerName,
1586
+ id: tickerName,
1528
1587
  args: createExportableElement(ticker.args),
1529
1588
  canvasElementTags: [tag],
1530
1589
  priority: ticker.priority,
@@ -1581,26 +1640,26 @@ var _GameWindowManager = class _GameWindowManager {
1581
1640
  * ```
1582
1641
  */
1583
1642
  static removeAssociationBetweenTickerCanvasElement(tags, ticker) {
1584
- let tickerName;
1643
+ let tickerId;
1585
1644
  if (typeof ticker === "string") {
1586
- tickerName = ticker;
1645
+ tickerId = ticker;
1587
1646
  } else if (ticker instanceof TickerBase) {
1588
- tickerName = ticker.constructor.name;
1647
+ tickerId = ticker.id;
1589
1648
  } else {
1590
- tickerName = ticker.name;
1649
+ tickerId = ticker.prototype.id;
1591
1650
  }
1592
1651
  if (typeof tags === "string") {
1593
1652
  tags = [tags];
1594
1653
  }
1595
1654
  for (let id in _GameWindowManager._currentTickers) {
1596
1655
  let ticker2 = _GameWindowManager._currentTickers[id];
1597
- if (ticker2.className === tickerName) {
1656
+ if (ticker2.id === tickerId) {
1598
1657
  _GameWindowManager._currentTickers[id].canvasElementTags = ticker2.canvasElementTags.filter((e) => !tags.includes(e));
1599
1658
  }
1600
1659
  }
1601
1660
  for (let timeout in _GameWindowManager._currentTickersTimeouts) {
1602
1661
  let TickerTimeout = _GameWindowManager._currentTickersTimeouts[timeout];
1603
- if (TickerTimeout.ticker === tickerName && TickerTimeout.canBeDeletedBeforeEnd) {
1662
+ if (TickerTimeout.ticker === tickerId && TickerTimeout.canBeDeletedBeforeEnd) {
1604
1663
  _GameWindowManager._currentTickersTimeouts[timeout].tags = TickerTimeout.tags.filter((t) => !tags.includes(t));
1605
1664
  }
1606
1665
  }
@@ -1786,11 +1845,11 @@ var _GameWindowManager = class _GameWindowManager {
1786
1845
  for (let id in currentTickers) {
1787
1846
  let t = currentTickers[id];
1788
1847
  let tags = t.canvasElementTags;
1789
- let ticker = geTickerInstanceByClassName(t.className, t.args, t.duration, t.priority);
1848
+ let ticker = geTickerInstanceById(t.id, t.args, t.duration, t.priority);
1790
1849
  if (ticker) {
1791
1850
  _GameWindowManager.addTicker(tags, ticker);
1792
1851
  } else {
1793
- console.error(`[Pixi'VN] Ticker ${t.className} not found`);
1852
+ console.error(`[Pixi'VN] Ticker ${t.id} not found`);
1794
1853
  }
1795
1854
  }
1796
1855
  }
@@ -1991,6 +2050,13 @@ var _GameStepManager = class _GameStepManager {
1991
2050
  _GameStepManager._openedLabels = _GameStepManager.originalStepData.openedLabels;
1992
2051
  }
1993
2052
  /* Run Methods */
2053
+ static get canGoNext() {
2054
+ let options = getChoiceMenuOptions();
2055
+ if (options && options.length > 0) {
2056
+ return false;
2057
+ }
2058
+ return true;
2059
+ }
1994
2060
  /**
1995
2061
  * Execute the next step and add it to the history.
1996
2062
  * @param props The props to pass to the step.
@@ -2000,7 +2066,7 @@ var _GameStepManager = class _GameStepManager {
2000
2066
  * ```typescript
2001
2067
  * function nextOnClick() {
2002
2068
  * setLoading(true)
2003
- * GameStepManager.runNextStep(yourParams)
2069
+ * GameStepManager.goNext(yourParams)
2004
2070
  * .then((result) => {
2005
2071
  * setUpdate((p) => p + 1)
2006
2072
  * setLoading(false)
@@ -2015,8 +2081,12 @@ var _GameStepManager = class _GameStepManager {
2015
2081
  * }
2016
2082
  * ```
2017
2083
  */
2018
- static runNextStep(props, choiseMade) {
2084
+ static goNext(props, choiseMade) {
2019
2085
  return __async(this, null, function* () {
2086
+ if (!_GameStepManager.canGoNext) {
2087
+ console.warn("[Pixi'VN] The player must make a choice");
2088
+ return;
2089
+ }
2020
2090
  _GameStepManager.increaseCurrentStepIndex();
2021
2091
  return yield _GameStepManager.runCurrentStep(props, choiseMade);
2022
2092
  });
@@ -2047,7 +2117,7 @@ var _GameStepManager = class _GameStepManager {
2047
2117
  return result;
2048
2118
  } else if (_GameStepManager.openedLabels.length > 1) {
2049
2119
  _GameStepManager.closeCurrentLabel();
2050
- return yield _GameStepManager.runNextStep(props, choiseMade);
2120
+ return yield _GameStepManager.goNext(props, choiseMade);
2051
2121
  } else {
2052
2122
  _GameStepManager.restorLastLabelList();
2053
2123
  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");
@@ -2195,7 +2265,7 @@ var _GameStepManager = class _GameStepManager {
2195
2265
  if (choice.closeCurrentLabel) {
2196
2266
  _GameStepManager.closeCurrentLabel();
2197
2267
  }
2198
- return _GameStepManager.runNextStep(props, choiseMade);
2268
+ return _GameStepManager.goNext(props, choiseMade);
2199
2269
  });
2200
2270
  }
2201
2271
  /* After Update Methods */