@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
@@ -63,17 +63,23 @@ function exportCanvasElement(element) {
63
63
  return element.memory;
64
64
  }
65
65
  function importCanvasElement(memory) {
66
- let element = getCanvasElementInstanceByClassName(memory.className);
66
+ let element = getCanvasElementInstanceById(memory.pixivnId);
67
67
  if (element) {
68
68
  element.memory = memory;
69
69
  } else {
70
- throw new Error("[Pixi'VN] The element " + memory.className + " could not be created");
70
+ throw new Error("[Pixi'VN] The element " + memory.pixivnId + " could not be created");
71
71
  }
72
72
  return element;
73
73
  }
74
74
 
75
75
  // src/classes/canvas/CanvasContainer.ts
76
+ var CANVAS_CONTAINER_ID = "CanvasContainer";
76
77
  var CanvasContainer = class extends Container {
78
+ constructor(options) {
79
+ super(options);
80
+ this.pixivnId = CANVAS_CONTAINER_ID;
81
+ this.pixivnId = this.constructor.prototype.pixivnId;
82
+ }
77
83
  get memory() {
78
84
  let memory = getMemoryContainer(this);
79
85
  this.children.forEach((child) => {
@@ -89,8 +95,12 @@ var CanvasContainer = class extends Container {
89
95
  }
90
96
  };
91
97
  function getMemoryContainer(element) {
98
+ let className = "CanvasContainer";
99
+ if (element.hasOwnProperty("pixivnId")) {
100
+ className = element.pixivnId;
101
+ }
92
102
  return {
93
- className: "CanvasContainer",
103
+ pixivnId: className,
94
104
  elements: [],
95
105
  width: element.width,
96
106
  height: element.height,
@@ -206,40 +216,43 @@ function getTextStyle(style) {
206
216
 
207
217
  // src/decorators/EventDecorator.ts
208
218
  var registeredEvents = {};
209
- function getEventTypeByClassName(eventName) {
219
+ function getEventTypeById(eventId) {
210
220
  try {
211
- let eventType = registeredEvents[eventName];
221
+ let eventType = registeredEvents[eventId];
212
222
  if (!eventType) {
213
- console.error(`[Pixi'VN] Event ${eventName} not found`);
223
+ console.error(`[Pixi'VN] Event ${eventId} not found`);
214
224
  return;
215
225
  }
216
226
  new eventType();
217
227
  return eventType;
218
228
  } catch (e) {
219
- console.error(`[Pixi'VN] Error while getting Event ${eventName}`, e);
229
+ console.error(`[Pixi'VN] Error while getting Event ${eventId}`, e);
220
230
  return;
221
231
  }
222
232
  }
223
- function getEventInstanceByClassName(eventName) {
233
+ function getEventInstanceById(eventId) {
224
234
  try {
225
- let eventType = registeredEvents[eventName];
235
+ let eventType = registeredEvents[eventId];
226
236
  if (!eventType) {
227
- console.error(`[Pixi'VN] Event ${eventName} not found`);
237
+ console.error(`[Pixi'VN] Event ${eventId} not found`);
228
238
  return;
229
239
  }
230
240
  let event = new eventType();
231
241
  return event;
232
242
  } catch (e) {
233
- console.error(`[Pixi'VN] Error while getting Event ${eventName}`, e);
243
+ console.error(`[Pixi'VN] Error while getting Event ${eventId}`, e);
234
244
  return;
235
245
  }
236
246
  }
237
247
 
238
248
  // src/classes/canvas/CanvasSprite.ts
249
+ var CANVAS_SPRITE_ID = "CanvasSprite";
239
250
  var CanvasSprite = class _CanvasSprite extends Sprite {
240
- constructor() {
241
- super(...arguments);
251
+ constructor(options) {
252
+ super(options);
253
+ this.pixivnId = CANVAS_SPRITE_ID;
242
254
  this._onEvents = {};
255
+ this.pixivnId = this.constructor.prototype.pixivnId;
243
256
  }
244
257
  get memory() {
245
258
  return getMemorySprite(this);
@@ -280,9 +293,9 @@ var CanvasSprite = class _CanvasSprite extends Sprite {
280
293
  * ```
281
294
  */
282
295
  onEvent(event, eventClass) {
283
- let className = eventClass.name;
284
- let instance = getEventInstanceByClassName(className);
285
- this._onEvents[event] = className;
296
+ let id = eventClass.prototype.id;
297
+ let instance = getEventInstanceById(id);
298
+ this._onEvents[event] = id;
286
299
  if (instance) {
287
300
  super.on(event, () => {
288
301
  instance.fn(event, this);
@@ -311,7 +324,7 @@ var CanvasSprite = class _CanvasSprite extends Sprite {
311
324
  function getMemorySprite(element) {
312
325
  let temp = getMemoryContainer(element);
313
326
  return __spreadProps(__spreadValues({}, temp), {
314
- className: "CanvasSprite",
327
+ pixivnId: element.pixivnId,
315
328
  textureImage: getTextureMemory(element.texture),
316
329
  anchor: { x: element.anchor.x, y: element.anchor.y },
317
330
  roundPixels: element.roundPixels,
@@ -334,8 +347,8 @@ function setMemorySprite(element, memory) {
334
347
  }
335
348
  memory.roundPixels && (element.roundPixels = memory.roundPixels);
336
349
  for (let event in memory.onEvents) {
337
- let className = memory.onEvents[event];
338
- let instance = getEventTypeByClassName(className);
350
+ let id = memory.onEvents[event];
351
+ let instance = getEventTypeById(id);
339
352
  if (instance) {
340
353
  element.onEvent(event, instance);
341
354
  }
@@ -343,9 +356,11 @@ function setMemorySprite(element, memory) {
343
356
  }
344
357
 
345
358
  // src/classes/canvas/CanvasImage.ts
359
+ var CANVAS_IMAGE_ID = "CanvasImage";
346
360
  var CanvasImage = class _CanvasImage extends CanvasSprite {
347
361
  constructor(options, imageLink) {
348
362
  super(options);
363
+ this.pixivnId = CANVAS_IMAGE_ID;
349
364
  this.imageLink = "";
350
365
  if (imageLink) {
351
366
  this.imageLink = imageLink;
@@ -353,12 +368,13 @@ var CanvasImage = class _CanvasImage extends CanvasSprite {
353
368
  }
354
369
  get memory() {
355
370
  return __spreadProps(__spreadValues({}, getMemorySprite(this)), {
356
- className: "CanvasImage",
357
- textureImage: { image: this.imageLink }
371
+ pixivnId: this.pixivnId,
372
+ imageLink: this.imageLink
358
373
  });
359
374
  }
360
375
  set memory(memory) {
361
376
  setMemorySprite(this, memory);
377
+ this.imageLink = memory.imageLink;
362
378
  }
363
379
  static from(source, skipCache) {
364
380
  let sprite = Sprite.from(source, skipCache);
@@ -386,10 +402,13 @@ var CanvasImage = class _CanvasImage extends CanvasSprite {
386
402
  });
387
403
  }
388
404
  };
405
+ var CANVAS_TEXT_ID = "CanvasText";
389
406
  var CanvasText = class extends Text {
390
- constructor() {
391
- super(...arguments);
407
+ constructor(options) {
408
+ super(options);
409
+ this.pixivnId = CANVAS_TEXT_ID;
392
410
  this._onEvents = {};
411
+ this.pixivnId = this.constructor.prototype.pixivnId;
393
412
  }
394
413
  get memory() {
395
414
  return getMemoryText(this);
@@ -430,9 +449,9 @@ var CanvasText = class extends Text {
430
449
  * ```
431
450
  */
432
451
  onEvent(event, eventClass) {
433
- let className = eventClass.name;
434
- let instance = getEventInstanceByClassName(className);
435
- this._onEvents[event] = className;
452
+ let id = eventClass.prototype.id;
453
+ let instance = getEventInstanceById(id);
454
+ this._onEvents[event] = id;
436
455
  if (instance) {
437
456
  super.on(event, () => {
438
457
  instance.fn(event, this);
@@ -455,7 +474,7 @@ var CanvasText = class extends Text {
455
474
  function getMemoryText(element) {
456
475
  let temp = getMemoryContainer(element);
457
476
  return __spreadProps(__spreadValues({}, temp), {
458
- className: "CanvasText",
477
+ pixivnId: element.pixivnId,
459
478
  anchor: { x: element.anchor.x, y: element.anchor.y },
460
479
  text: element.text,
461
480
  resolution: element.resolution,
@@ -478,8 +497,8 @@ function setMemoryText(element, memory) {
478
497
  memory.style && (element.style = memory.style);
479
498
  memory.roundPixels && (element.roundPixels = memory.roundPixels);
480
499
  for (let event in memory.onEvents) {
481
- let className = memory.onEvents[event];
482
- let instance = getEventTypeByClassName(className);
500
+ let id = memory.onEvents[event];
501
+ let instance = getEventTypeById(id);
483
502
  if (instance) {
484
503
  element.onEvent(event, instance);
485
504
  }
@@ -488,28 +507,28 @@ function setMemoryText(element, memory) {
488
507
 
489
508
  // src/decorators/CanvasElementDecorator.ts
490
509
  var registeredCanvasElement = {};
491
- function getCanvasElementInstanceByClassName(canvasName) {
510
+ function getCanvasElementInstanceById(canvasId) {
492
511
  try {
493
- let eventType = registeredCanvasElement[canvasName];
512
+ let eventType = registeredCanvasElement[canvasId];
494
513
  if (!eventType) {
495
- if (canvasName === "CanvasContainer") {
514
+ if (canvasId === CANVAS_CONTAINER_ID) {
496
515
  eventType = CanvasContainer;
497
- } else if (canvasName === "CanvasImage") {
516
+ } else if (canvasId === CANVAS_IMAGE_ID) {
498
517
  eventType = CanvasImage;
499
- } else if (canvasName === "CanvasSprite") {
518
+ } else if (canvasId === CANVAS_SPRITE_ID) {
500
519
  eventType = CanvasSprite;
501
- } else if (canvasName === "CanvasText") {
520
+ } else if (canvasId === CANVAS_TEXT_ID) {
502
521
  eventType = CanvasText;
503
522
  }
504
523
  }
505
524
  if (!eventType) {
506
- console.error(`[Pixi'VN] CanvasElement ${canvasName} not found`);
525
+ console.error(`[Pixi'VN] CanvasElement ${canvasId} not found`);
507
526
  return;
508
527
  }
509
528
  let canvasElement = new eventType();
510
529
  return canvasElement;
511
530
  } catch (e) {
512
- console.error(`[Pixi'VN] Error while getting CanvasElement ${canvasName}`, e);
531
+ console.error(`[Pixi'VN] Error while getting CanvasElement ${canvasId}`, e);
513
532
  return;
514
533
  }
515
534
  }
@@ -549,7 +568,7 @@ var Label = class {
549
568
  this._choiseIndex = choiseIndex;
550
569
  }
551
570
  /**
552
- * Get the id of the label
571
+ * Get the id of the label. This variable is used in the system to get the label by id, {@link getLabelById}
553
572
  */
554
573
  get id() {
555
574
  return this._id;
@@ -607,24 +626,27 @@ function newCloseLabel(choiseIndex) {
607
626
  return new Label(CLOSE_LABEL_ID, [], void 0, choiseIndex);
608
627
  }
609
628
 
629
+ // src/types/CloseType.ts
630
+ var Close = "close";
631
+
610
632
  // src/functions/DialogueUtility.ts
611
633
  function setDialogue(props) {
612
634
  let text = "";
613
- let characterId = void 0;
635
+ let character = void 0;
614
636
  let dialogue;
615
637
  if (typeof props === "string") {
616
638
  text = props;
617
- dialogue = new DialogueBaseModel(text, characterId);
639
+ dialogue = new DialogueBaseModel(text, character);
618
640
  } else if (!(props instanceof DialogueBaseModel)) {
619
641
  text = props.text;
620
642
  if (props.character) {
621
643
  if (typeof props.character === "string") {
622
- characterId = props.character;
644
+ character = props.character;
623
645
  } else {
624
- characterId = props.character.id;
646
+ character = props.character.id;
625
647
  }
626
648
  }
627
- dialogue = new DialogueBaseModel(text, characterId);
649
+ dialogue = new DialogueBaseModel(text, character);
628
650
  } else {
629
651
  dialogue = props;
630
652
  }
@@ -634,6 +656,34 @@ function setDialogue(props) {
634
656
  function getDialogue() {
635
657
  return GameStorageManager.getVariable(GameStorageManager.keysSystem.CURRENT_DIALOGUE_MEMORY_KEY);
636
658
  }
659
+ function getChoiceMenuOptions() {
660
+ let d = GameStorageManager.getVariable(GameStorageManager.keysSystem.CURRENT_MENU_OPTIONS_MEMORY_KEY);
661
+ if (d) {
662
+ let options = [];
663
+ d.forEach((option, index) => {
664
+ if (option.type === Close) {
665
+ let itemLabel = newCloseLabel(index);
666
+ options.push({
667
+ text: option.text,
668
+ label: itemLabel,
669
+ type: Close,
670
+ closeCurrentLabel: option.closeCurrentLabel,
671
+ props: {}
672
+ });
673
+ return;
674
+ }
675
+ let label = getLabelById(option.label);
676
+ if (label) {
677
+ let itemLabel = new Label(label.id, label.steps, label.onStepRun, index);
678
+ options.push(__spreadProps(__spreadValues({}, option), {
679
+ label: itemLabel
680
+ }));
681
+ }
682
+ });
683
+ return options;
684
+ }
685
+ return void 0;
686
+ }
637
687
 
638
688
  // src/classes/ticker/TickerBase.ts
639
689
  var TickerBase = class {
@@ -643,9 +693,14 @@ var TickerBase = class {
643
693
  * @param priority The priority of the ticker. @default UPDATE_PRIORITY.NORMAL
644
694
  */
645
695
  constructor(args, duration, priority) {
696
+ /**
697
+ * Get the id of the ticker. This variable is used in the system to get the ticker by id, {@link geTickerInstanceById}
698
+ */
699
+ this.id = "ticker_id_not_set";
646
700
  this.args = args;
647
701
  this.duration = duration;
648
702
  this.priority = priority;
703
+ this.id = this.constructor.prototype.id;
649
704
  }
650
705
  /**
651
706
  * The method that will be called every frame.
@@ -868,8 +923,8 @@ var ZoomTicker = class extends TickerBase {
868
923
  tagToRemoveAfter2 = [tagToRemoveAfter2];
869
924
  }
870
925
  let type = args.type || "zoom";
871
- let xLimit = Infinity;
872
- let yLimit = Infinity;
926
+ let xLimit = type === "zoom" ? Infinity : 0;
927
+ let yLimit = type === "zoom" ? Infinity : 0;
873
928
  if (args.limit) {
874
929
  if (typeof args.limit === "number") {
875
930
  xLimit = args.limit;
@@ -908,7 +963,7 @@ var ZoomTicker = class extends TickerBase {
908
963
  if (element.scale.x >= xLimit && element.scale.y >= yLimit) {
909
964
  element.scale.x = xLimit;
910
965
  element.scale.y = yLimit;
911
- GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
966
+ this.onEndOfTicker(tag, tickerId, element, tagToRemoveAfter2);
912
967
  }
913
968
  } else if (type === "unzoom") {
914
969
  if (element.scale.x < xLimit) {
@@ -920,17 +975,20 @@ var ZoomTicker = class extends TickerBase {
920
975
  if (element.scale.x <= xLimit && element.scale.y <= yLimit) {
921
976
  element.scale.x = xLimit;
922
977
  element.scale.y = yLimit;
923
- GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
978
+ this.onEndOfTicker(tag, tickerId, element, tagToRemoveAfter2);
924
979
  }
925
980
  }
926
981
  if (xSpeed < 1e-5 && ySpeed < 1e-5 && !(args.speedProgression && args.speedProgression.type == "linear" && args.speedProgression.amt != 0)) {
927
- GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
982
+ this.onEndOfTicker(tag, tickerId, element, tagToRemoveAfter2);
928
983
  }
929
984
  }
930
985
  });
931
986
  if (args.speedProgression)
932
987
  updateTickerProgression(args, "speed", args.speedProgression);
933
988
  }
989
+ onEndOfTicker(tag, tickerId, _element, tagToRemoveAfter2) {
990
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
991
+ }
934
992
  };
935
993
  ZoomTicker = __decorateClass([
936
994
  tickerDecorator()
@@ -1086,19 +1144,20 @@ function tickerDecorator(name) {
1086
1144
  if (registeredTickers[name]) {
1087
1145
  console.info(`[Pixi'VN] Ticker ${name} already exists, it will be overwritten`);
1088
1146
  }
1147
+ target.prototype.id = name;
1089
1148
  registeredTickers[name] = target;
1090
1149
  };
1091
1150
  }
1092
- function geTickerInstanceByClassName(tickerName, args, duration, priority) {
1151
+ function geTickerInstanceById(tickerId, args, duration, priority) {
1093
1152
  try {
1094
- let ticker = registeredTickers[tickerName];
1153
+ let ticker = registeredTickers[tickerId];
1095
1154
  if (!ticker) {
1096
- console.error(`[Pixi'VN] Ticker ${tickerName} not found`);
1155
+ console.error(`[Pixi'VN] Ticker ${tickerId} not found`);
1097
1156
  return;
1098
1157
  }
1099
1158
  return new ticker(args, duration, priority);
1100
1159
  } catch (e) {
1101
- console.error(`[Pixi'VN] Error while getting Ticker ${tickerName}`, e);
1160
+ console.error(`[Pixi'VN] Error while getting Ticker ${tickerId}`, e);
1102
1161
  return;
1103
1162
  }
1104
1163
  }
@@ -1427,18 +1486,18 @@ var _GameWindowManager = class _GameWindowManager {
1427
1486
  * ```
1428
1487
  */
1429
1488
  static addTicker(canvasElementTag, ticker) {
1430
- let tickerName = ticker.constructor.name;
1489
+ let tickerId = ticker.id;
1431
1490
  if (typeof canvasElementTag === "string") {
1432
1491
  canvasElementTag = [canvasElementTag];
1433
1492
  }
1434
- if (!geTickerInstanceByClassName(tickerName, ticker.args, ticker.duration, ticker.priority)) {
1435
- console.error(`[Pixi'VN] Ticker ${tickerName} not found`);
1493
+ if (!geTickerInstanceById(tickerId, ticker.args, ticker.duration, ticker.priority)) {
1494
+ console.error(`[Pixi'VN] Ticker ${tickerId} not found`);
1436
1495
  return;
1437
1496
  }
1438
1497
  let tickerHistory = {
1439
1498
  fn: () => {
1440
1499
  },
1441
- className: tickerName,
1500
+ id: tickerId,
1442
1501
  args: createExportableElement(ticker.args),
1443
1502
  canvasElementTags: canvasElementTag,
1444
1503
  priority: ticker.priority,
@@ -1454,11 +1513,11 @@ var _GameWindowManager = class _GameWindowManager {
1454
1513
  _GameWindowManager.removeTicker(id);
1455
1514
  }
1456
1515
  }, ticker.duration * 1e3);
1457
- _GameWindowManager.addTickerTimeoutInfo(canvasElementTag, tickerName, timeout.toString(), true);
1516
+ _GameWindowManager.addTickerTimeoutInfo(canvasElementTag, tickerId, timeout.toString(), true);
1458
1517
  }
1459
1518
  }
1460
1519
  static pushTicker(id, tickerData, ticker) {
1461
- _GameWindowManager.removeAssociationBetweenTickerCanvasElement(tickerData.canvasElementTags, tickerData);
1520
+ _GameWindowManager.removeAssociationBetweenTickerCanvasElement(tickerData.canvasElementTags, ticker);
1462
1521
  _GameWindowManager._currentTickers[id] = tickerData;
1463
1522
  tickerData.fn = (t) => {
1464
1523
  let data = _GameWindowManager._currentTickers[id];
@@ -1499,9 +1558,9 @@ var _GameWindowManager = class _GameWindowManager {
1499
1558
  if (step.hasOwnProperty("type") && step.type === "pause") {
1500
1559
  return step;
1501
1560
  }
1502
- let tickerName = step.constructor.name;
1561
+ let tickerId = step.id;
1503
1562
  return {
1504
- ticker: tickerName,
1563
+ ticker: tickerId,
1505
1564
  args: createExportableElement(step.args),
1506
1565
  duration: step.duration
1507
1566
  };
@@ -1539,16 +1598,16 @@ var _GameWindowManager = class _GameWindowManager {
1539
1598
  _GameWindowManager.addTickerTimeoutInfo(tag, "steps", timeout.toString(), false);
1540
1599
  return;
1541
1600
  }
1542
- let ticker = geTickerInstanceByClassName(step.ticker, step.args, step.duration, step.priority);
1601
+ let ticker = geTickerInstanceById(step.ticker, step.args, step.duration, step.priority);
1543
1602
  if (!ticker) {
1544
1603
  console.error(`[Pixi'VN] Ticker ${step.ticker} not found`);
1545
1604
  return;
1546
1605
  }
1547
- let tickerName = ticker.constructor.name;
1606
+ let tickerName = ticker.id;
1548
1607
  let tickerHistory = {
1549
1608
  fn: () => {
1550
1609
  },
1551
- className: tickerName,
1610
+ id: tickerName,
1552
1611
  args: createExportableElement(ticker.args),
1553
1612
  canvasElementTags: [tag],
1554
1613
  priority: ticker.priority,
@@ -1605,26 +1664,26 @@ var _GameWindowManager = class _GameWindowManager {
1605
1664
  * ```
1606
1665
  */
1607
1666
  static removeAssociationBetweenTickerCanvasElement(tags, ticker) {
1608
- let tickerName;
1667
+ let tickerId;
1609
1668
  if (typeof ticker === "string") {
1610
- tickerName = ticker;
1669
+ tickerId = ticker;
1611
1670
  } else if (ticker instanceof TickerBase) {
1612
- tickerName = ticker.constructor.name;
1671
+ tickerId = ticker.id;
1613
1672
  } else {
1614
- tickerName = ticker.name;
1673
+ tickerId = ticker.prototype.id;
1615
1674
  }
1616
1675
  if (typeof tags === "string") {
1617
1676
  tags = [tags];
1618
1677
  }
1619
1678
  for (let id in _GameWindowManager._currentTickers) {
1620
1679
  let ticker2 = _GameWindowManager._currentTickers[id];
1621
- if (ticker2.className === tickerName) {
1680
+ if (ticker2.id === tickerId) {
1622
1681
  _GameWindowManager._currentTickers[id].canvasElementTags = ticker2.canvasElementTags.filter((e) => !tags.includes(e));
1623
1682
  }
1624
1683
  }
1625
1684
  for (let timeout in _GameWindowManager._currentTickersTimeouts) {
1626
1685
  let TickerTimeout = _GameWindowManager._currentTickersTimeouts[timeout];
1627
- if (TickerTimeout.ticker === tickerName && TickerTimeout.canBeDeletedBeforeEnd) {
1686
+ if (TickerTimeout.ticker === tickerId && TickerTimeout.canBeDeletedBeforeEnd) {
1628
1687
  _GameWindowManager._currentTickersTimeouts[timeout].tags = TickerTimeout.tags.filter((t) => !tags.includes(t));
1629
1688
  }
1630
1689
  }
@@ -1810,11 +1869,11 @@ var _GameWindowManager = class _GameWindowManager {
1810
1869
  for (let id in currentTickers) {
1811
1870
  let t = currentTickers[id];
1812
1871
  let tags = t.canvasElementTags;
1813
- let ticker = geTickerInstanceByClassName(t.className, t.args, t.duration, t.priority);
1872
+ let ticker = geTickerInstanceById(t.id, t.args, t.duration, t.priority);
1814
1873
  if (ticker) {
1815
1874
  _GameWindowManager.addTicker(tags, ticker);
1816
1875
  } else {
1817
- console.error(`[Pixi'VN] Ticker ${t.className} not found`);
1876
+ console.error(`[Pixi'VN] Ticker ${t.id} not found`);
1818
1877
  }
1819
1878
  }
1820
1879
  }
@@ -2015,6 +2074,13 @@ var _GameStepManager = class _GameStepManager {
2015
2074
  _GameStepManager._openedLabels = _GameStepManager.originalStepData.openedLabels;
2016
2075
  }
2017
2076
  /* Run Methods */
2077
+ static get canGoNext() {
2078
+ let options = getChoiceMenuOptions();
2079
+ if (options && options.length > 0) {
2080
+ return false;
2081
+ }
2082
+ return true;
2083
+ }
2018
2084
  /**
2019
2085
  * Execute the next step and add it to the history.
2020
2086
  * @param props The props to pass to the step.
@@ -2024,7 +2090,7 @@ var _GameStepManager = class _GameStepManager {
2024
2090
  * ```typescript
2025
2091
  * function nextOnClick() {
2026
2092
  * setLoading(true)
2027
- * GameStepManager.runNextStep(yourParams)
2093
+ * GameStepManager.goNext(yourParams)
2028
2094
  * .then((result) => {
2029
2095
  * setUpdate((p) => p + 1)
2030
2096
  * setLoading(false)
@@ -2039,8 +2105,12 @@ var _GameStepManager = class _GameStepManager {
2039
2105
  * }
2040
2106
  * ```
2041
2107
  */
2042
- static runNextStep(props, choiseMade) {
2108
+ static goNext(props, choiseMade) {
2043
2109
  return __async(this, null, function* () {
2110
+ if (!_GameStepManager.canGoNext) {
2111
+ console.warn("[Pixi'VN] The player must make a choice");
2112
+ return;
2113
+ }
2044
2114
  _GameStepManager.increaseCurrentStepIndex();
2045
2115
  return yield _GameStepManager.runCurrentStep(props, choiseMade);
2046
2116
  });
@@ -2071,7 +2141,7 @@ var _GameStepManager = class _GameStepManager {
2071
2141
  return result;
2072
2142
  } else if (_GameStepManager.openedLabels.length > 1) {
2073
2143
  _GameStepManager.closeCurrentLabel();
2074
- return yield _GameStepManager.runNextStep(props, choiseMade);
2144
+ return yield _GameStepManager.goNext(props, choiseMade);
2075
2145
  } else {
2076
2146
  _GameStepManager.restorLastLabelList();
2077
2147
  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");
@@ -2219,7 +2289,7 @@ var _GameStepManager = class _GameStepManager {
2219
2289
  if (choice.closeCurrentLabel) {
2220
2290
  _GameStepManager.closeCurrentLabel();
2221
2291
  }
2222
- return _GameStepManager.runNextStep(props, choiseMade);
2292
+ return _GameStepManager.goNext(props, choiseMade);
2223
2293
  });
2224
2294
  }
2225
2295
  /* After Update Methods */
@@ -2547,15 +2617,15 @@ var DialogueBaseModel = class {
2547
2617
  if (typeof text === "string") {
2548
2618
  this.text = text;
2549
2619
  if (typeof character === "string") {
2550
- this.characterId = character;
2620
+ this.character = character;
2551
2621
  } else {
2552
- this.characterId = character == null ? void 0 : character.id;
2622
+ this.character = character == null ? void 0 : character.id;
2553
2623
  }
2554
2624
  this.oltherParams = oltherParams;
2555
2625
  } else {
2556
2626
  this.text = text.text;
2557
- if (text.characterId) {
2558
- this.characterId = text.characterId;
2627
+ if (text.character) {
2628
+ this.character = text.character;
2559
2629
  }
2560
2630
  this.oltherParams = text.oltherParams || {};
2561
2631
  }
@@ -2568,7 +2638,7 @@ var DialogueBaseModel = class {
2568
2638
  export() {
2569
2639
  return {
2570
2640
  text: this.text,
2571
- characterId: this.characterId,
2641
+ character: this.character,
2572
2642
  oltherParams: this.oltherParams
2573
2643
  };
2574
2644
  }