@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
@@ -69,17 +69,23 @@ function exportCanvasElement(element) {
69
69
  return element.memory;
70
70
  }
71
71
  function importCanvasElement(memory) {
72
- let element = getCanvasElementInstanceByClassName(memory.className);
72
+ let element = getCanvasElementInstanceById(memory.pixivnId);
73
73
  if (element) {
74
74
  element.memory = memory;
75
75
  } else {
76
- throw new Error("[Pixi'VN] The element " + memory.className + " could not be created");
76
+ throw new Error("[Pixi'VN] The element " + memory.pixivnId + " could not be created");
77
77
  }
78
78
  return element;
79
79
  }
80
80
 
81
81
  // src/classes/canvas/CanvasContainer.ts
82
+ var CANVAS_CONTAINER_ID = "CanvasContainer";
82
83
  var CanvasContainer = class extends pixi_js.Container {
84
+ constructor(options) {
85
+ super(options);
86
+ this.pixivnId = CANVAS_CONTAINER_ID;
87
+ this.pixivnId = this.constructor.prototype.pixivnId;
88
+ }
83
89
  get memory() {
84
90
  let memory = getMemoryContainer(this);
85
91
  this.children.forEach((child) => {
@@ -95,8 +101,12 @@ var CanvasContainer = class extends pixi_js.Container {
95
101
  }
96
102
  };
97
103
  function getMemoryContainer(element) {
104
+ let className = "CanvasContainer";
105
+ if (element.hasOwnProperty("pixivnId")) {
106
+ className = element.pixivnId;
107
+ }
98
108
  return {
99
- className: "CanvasContainer",
109
+ pixivnId: className,
100
110
  elements: [],
101
111
  width: element.width,
102
112
  height: element.height,
@@ -212,40 +222,43 @@ function getTextStyle(style) {
212
222
 
213
223
  // src/decorators/EventDecorator.ts
214
224
  var registeredEvents = {};
215
- function getEventTypeByClassName(eventName) {
225
+ function getEventTypeById(eventId) {
216
226
  try {
217
- let eventType = registeredEvents[eventName];
227
+ let eventType = registeredEvents[eventId];
218
228
  if (!eventType) {
219
- console.error(`[Pixi'VN] Event ${eventName} not found`);
229
+ console.error(`[Pixi'VN] Event ${eventId} not found`);
220
230
  return;
221
231
  }
222
232
  new eventType();
223
233
  return eventType;
224
234
  } catch (e) {
225
- console.error(`[Pixi'VN] Error while getting Event ${eventName}`, e);
235
+ console.error(`[Pixi'VN] Error while getting Event ${eventId}`, e);
226
236
  return;
227
237
  }
228
238
  }
229
- function getEventInstanceByClassName(eventName) {
239
+ function getEventInstanceById(eventId) {
230
240
  try {
231
- let eventType = registeredEvents[eventName];
241
+ let eventType = registeredEvents[eventId];
232
242
  if (!eventType) {
233
- console.error(`[Pixi'VN] Event ${eventName} not found`);
243
+ console.error(`[Pixi'VN] Event ${eventId} not found`);
234
244
  return;
235
245
  }
236
246
  let event = new eventType();
237
247
  return event;
238
248
  } catch (e) {
239
- console.error(`[Pixi'VN] Error while getting Event ${eventName}`, e);
249
+ console.error(`[Pixi'VN] Error while getting Event ${eventId}`, e);
240
250
  return;
241
251
  }
242
252
  }
243
253
 
244
254
  // src/classes/canvas/CanvasSprite.ts
255
+ var CANVAS_SPRITE_ID = "CanvasSprite";
245
256
  var CanvasSprite = class _CanvasSprite extends pixi_js.Sprite {
246
- constructor() {
247
- super(...arguments);
257
+ constructor(options) {
258
+ super(options);
259
+ this.pixivnId = CANVAS_SPRITE_ID;
248
260
  this._onEvents = {};
261
+ this.pixivnId = this.constructor.prototype.pixivnId;
249
262
  }
250
263
  get memory() {
251
264
  return getMemorySprite(this);
@@ -286,9 +299,9 @@ var CanvasSprite = class _CanvasSprite extends pixi_js.Sprite {
286
299
  * ```
287
300
  */
288
301
  onEvent(event, eventClass) {
289
- let className = eventClass.name;
290
- let instance = getEventInstanceByClassName(className);
291
- this._onEvents[event] = className;
302
+ let id = eventClass.prototype.id;
303
+ let instance = getEventInstanceById(id);
304
+ this._onEvents[event] = id;
292
305
  if (instance) {
293
306
  super.on(event, () => {
294
307
  instance.fn(event, this);
@@ -317,7 +330,7 @@ var CanvasSprite = class _CanvasSprite extends pixi_js.Sprite {
317
330
  function getMemorySprite(element) {
318
331
  let temp = getMemoryContainer(element);
319
332
  return __spreadProps(__spreadValues({}, temp), {
320
- className: "CanvasSprite",
333
+ pixivnId: element.pixivnId,
321
334
  textureImage: getTextureMemory(element.texture),
322
335
  anchor: { x: element.anchor.x, y: element.anchor.y },
323
336
  roundPixels: element.roundPixels,
@@ -340,8 +353,8 @@ function setMemorySprite(element, memory) {
340
353
  }
341
354
  memory.roundPixels && (element.roundPixels = memory.roundPixels);
342
355
  for (let event in memory.onEvents) {
343
- let className = memory.onEvents[event];
344
- let instance = getEventTypeByClassName(className);
356
+ let id = memory.onEvents[event];
357
+ let instance = getEventTypeById(id);
345
358
  if (instance) {
346
359
  element.onEvent(event, instance);
347
360
  }
@@ -349,9 +362,11 @@ function setMemorySprite(element, memory) {
349
362
  }
350
363
 
351
364
  // src/classes/canvas/CanvasImage.ts
365
+ var CANVAS_IMAGE_ID = "CanvasImage";
352
366
  var CanvasImage = class _CanvasImage extends CanvasSprite {
353
367
  constructor(options, imageLink) {
354
368
  super(options);
369
+ this.pixivnId = CANVAS_IMAGE_ID;
355
370
  this.imageLink = "";
356
371
  if (imageLink) {
357
372
  this.imageLink = imageLink;
@@ -359,12 +374,13 @@ var CanvasImage = class _CanvasImage extends CanvasSprite {
359
374
  }
360
375
  get memory() {
361
376
  return __spreadProps(__spreadValues({}, getMemorySprite(this)), {
362
- className: "CanvasImage",
363
- textureImage: { image: this.imageLink }
377
+ pixivnId: this.pixivnId,
378
+ imageLink: this.imageLink
364
379
  });
365
380
  }
366
381
  set memory(memory) {
367
382
  setMemorySprite(this, memory);
383
+ this.imageLink = memory.imageLink;
368
384
  }
369
385
  static from(source, skipCache) {
370
386
  let sprite = pixi_js.Sprite.from(source, skipCache);
@@ -392,10 +408,13 @@ var CanvasImage = class _CanvasImage extends CanvasSprite {
392
408
  });
393
409
  }
394
410
  };
411
+ var CANVAS_TEXT_ID = "CanvasText";
395
412
  var CanvasText = class extends pixi_js.Text {
396
- constructor() {
397
- super(...arguments);
413
+ constructor(options) {
414
+ super(options);
415
+ this.pixivnId = CANVAS_TEXT_ID;
398
416
  this._onEvents = {};
417
+ this.pixivnId = this.constructor.prototype.pixivnId;
399
418
  }
400
419
  get memory() {
401
420
  return getMemoryText(this);
@@ -436,9 +455,9 @@ var CanvasText = class extends pixi_js.Text {
436
455
  * ```
437
456
  */
438
457
  onEvent(event, eventClass) {
439
- let className = eventClass.name;
440
- let instance = getEventInstanceByClassName(className);
441
- this._onEvents[event] = className;
458
+ let id = eventClass.prototype.id;
459
+ let instance = getEventInstanceById(id);
460
+ this._onEvents[event] = id;
442
461
  if (instance) {
443
462
  super.on(event, () => {
444
463
  instance.fn(event, this);
@@ -461,7 +480,7 @@ var CanvasText = class extends pixi_js.Text {
461
480
  function getMemoryText(element) {
462
481
  let temp = getMemoryContainer(element);
463
482
  return __spreadProps(__spreadValues({}, temp), {
464
- className: "CanvasText",
483
+ pixivnId: element.pixivnId,
465
484
  anchor: { x: element.anchor.x, y: element.anchor.y },
466
485
  text: element.text,
467
486
  resolution: element.resolution,
@@ -484,8 +503,8 @@ function setMemoryText(element, memory) {
484
503
  memory.style && (element.style = memory.style);
485
504
  memory.roundPixels && (element.roundPixels = memory.roundPixels);
486
505
  for (let event in memory.onEvents) {
487
- let className = memory.onEvents[event];
488
- let instance = getEventTypeByClassName(className);
506
+ let id = memory.onEvents[event];
507
+ let instance = getEventTypeById(id);
489
508
  if (instance) {
490
509
  element.onEvent(event, instance);
491
510
  }
@@ -494,28 +513,28 @@ function setMemoryText(element, memory) {
494
513
 
495
514
  // src/decorators/CanvasElementDecorator.ts
496
515
  var registeredCanvasElement = {};
497
- function getCanvasElementInstanceByClassName(canvasName) {
516
+ function getCanvasElementInstanceById(canvasId) {
498
517
  try {
499
- let eventType = registeredCanvasElement[canvasName];
518
+ let eventType = registeredCanvasElement[canvasId];
500
519
  if (!eventType) {
501
- if (canvasName === "CanvasContainer") {
520
+ if (canvasId === CANVAS_CONTAINER_ID) {
502
521
  eventType = CanvasContainer;
503
- } else if (canvasName === "CanvasImage") {
522
+ } else if (canvasId === CANVAS_IMAGE_ID) {
504
523
  eventType = CanvasImage;
505
- } else if (canvasName === "CanvasSprite") {
524
+ } else if (canvasId === CANVAS_SPRITE_ID) {
506
525
  eventType = CanvasSprite;
507
- } else if (canvasName === "CanvasText") {
526
+ } else if (canvasId === CANVAS_TEXT_ID) {
508
527
  eventType = CanvasText;
509
528
  }
510
529
  }
511
530
  if (!eventType) {
512
- console.error(`[Pixi'VN] CanvasElement ${canvasName} not found`);
531
+ console.error(`[Pixi'VN] CanvasElement ${canvasId} not found`);
513
532
  return;
514
533
  }
515
534
  let canvasElement = new eventType();
516
535
  return canvasElement;
517
536
  } catch (e) {
518
- console.error(`[Pixi'VN] Error while getting CanvasElement ${canvasName}`, e);
537
+ console.error(`[Pixi'VN] Error while getting CanvasElement ${canvasId}`, e);
519
538
  return;
520
539
  }
521
540
  }
@@ -555,7 +574,7 @@ var Label = class {
555
574
  this._choiseIndex = choiseIndex;
556
575
  }
557
576
  /**
558
- * Get the id of the label
577
+ * Get the id of the label. This variable is used in the system to get the label by id, {@link getLabelById}
559
578
  */
560
579
  get id() {
561
580
  return this._id;
@@ -613,24 +632,27 @@ function newCloseLabel(choiseIndex) {
613
632
  return new Label(CLOSE_LABEL_ID, [], void 0, choiseIndex);
614
633
  }
615
634
 
635
+ // src/types/CloseType.ts
636
+ var Close = "close";
637
+
616
638
  // src/functions/DialogueUtility.ts
617
639
  function setDialogue(props) {
618
640
  let text = "";
619
- let characterId = void 0;
641
+ let character = void 0;
620
642
  let dialogue;
621
643
  if (typeof props === "string") {
622
644
  text = props;
623
- dialogue = new DialogueBaseModel(text, characterId);
645
+ dialogue = new DialogueBaseModel(text, character);
624
646
  } else if (!(props instanceof DialogueBaseModel)) {
625
647
  text = props.text;
626
648
  if (props.character) {
627
649
  if (typeof props.character === "string") {
628
- characterId = props.character;
650
+ character = props.character;
629
651
  } else {
630
- characterId = props.character.id;
652
+ character = props.character.id;
631
653
  }
632
654
  }
633
- dialogue = new DialogueBaseModel(text, characterId);
655
+ dialogue = new DialogueBaseModel(text, character);
634
656
  } else {
635
657
  dialogue = props;
636
658
  }
@@ -640,6 +662,34 @@ function setDialogue(props) {
640
662
  function getDialogue() {
641
663
  return GameStorageManager.getVariable(GameStorageManager.keysSystem.CURRENT_DIALOGUE_MEMORY_KEY);
642
664
  }
665
+ function getChoiceMenuOptions() {
666
+ let d = GameStorageManager.getVariable(GameStorageManager.keysSystem.CURRENT_MENU_OPTIONS_MEMORY_KEY);
667
+ if (d) {
668
+ let options = [];
669
+ d.forEach((option, index) => {
670
+ if (option.type === Close) {
671
+ let itemLabel = newCloseLabel(index);
672
+ options.push({
673
+ text: option.text,
674
+ label: itemLabel,
675
+ type: Close,
676
+ closeCurrentLabel: option.closeCurrentLabel,
677
+ props: {}
678
+ });
679
+ return;
680
+ }
681
+ let label = getLabelById(option.label);
682
+ if (label) {
683
+ let itemLabel = new Label(label.id, label.steps, label.onStepRun, index);
684
+ options.push(__spreadProps(__spreadValues({}, option), {
685
+ label: itemLabel
686
+ }));
687
+ }
688
+ });
689
+ return options;
690
+ }
691
+ return void 0;
692
+ }
643
693
 
644
694
  // src/classes/ticker/TickerBase.ts
645
695
  var TickerBase = class {
@@ -649,9 +699,14 @@ var TickerBase = class {
649
699
  * @param priority The priority of the ticker. @default UPDATE_PRIORITY.NORMAL
650
700
  */
651
701
  constructor(args, duration, priority) {
702
+ /**
703
+ * Get the id of the ticker. This variable is used in the system to get the ticker by id, {@link geTickerInstanceById}
704
+ */
705
+ this.id = "ticker_id_not_set";
652
706
  this.args = args;
653
707
  this.duration = duration;
654
708
  this.priority = priority;
709
+ this.id = this.constructor.prototype.id;
655
710
  }
656
711
  /**
657
712
  * The method that will be called every frame.
@@ -874,8 +929,8 @@ var ZoomTicker = class extends TickerBase {
874
929
  tagToRemoveAfter2 = [tagToRemoveAfter2];
875
930
  }
876
931
  let type = args.type || "zoom";
877
- let xLimit = Infinity;
878
- let yLimit = Infinity;
932
+ let xLimit = type === "zoom" ? Infinity : 0;
933
+ let yLimit = type === "zoom" ? Infinity : 0;
879
934
  if (args.limit) {
880
935
  if (typeof args.limit === "number") {
881
936
  xLimit = args.limit;
@@ -914,7 +969,7 @@ var ZoomTicker = class extends TickerBase {
914
969
  if (element.scale.x >= xLimit && element.scale.y >= yLimit) {
915
970
  element.scale.x = xLimit;
916
971
  element.scale.y = yLimit;
917
- GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
972
+ this.onEndOfTicker(tag, tickerId, element, tagToRemoveAfter2);
918
973
  }
919
974
  } else if (type === "unzoom") {
920
975
  if (element.scale.x < xLimit) {
@@ -926,17 +981,20 @@ var ZoomTicker = class extends TickerBase {
926
981
  if (element.scale.x <= xLimit && element.scale.y <= yLimit) {
927
982
  element.scale.x = xLimit;
928
983
  element.scale.y = yLimit;
929
- GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
984
+ this.onEndOfTicker(tag, tickerId, element, tagToRemoveAfter2);
930
985
  }
931
986
  }
932
987
  if (xSpeed < 1e-5 && ySpeed < 1e-5 && !(args.speedProgression && args.speedProgression.type == "linear" && args.speedProgression.amt != 0)) {
933
- GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
988
+ this.onEndOfTicker(tag, tickerId, element, tagToRemoveAfter2);
934
989
  }
935
990
  }
936
991
  });
937
992
  if (args.speedProgression)
938
993
  updateTickerProgression(args, "speed", args.speedProgression);
939
994
  }
995
+ onEndOfTicker(tag, tickerId, _element, tagToRemoveAfter2) {
996
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
997
+ }
940
998
  };
941
999
  ZoomTicker = __decorateClass([
942
1000
  tickerDecorator()
@@ -1092,19 +1150,20 @@ function tickerDecorator(name) {
1092
1150
  if (registeredTickers[name]) {
1093
1151
  console.info(`[Pixi'VN] Ticker ${name} already exists, it will be overwritten`);
1094
1152
  }
1153
+ target.prototype.id = name;
1095
1154
  registeredTickers[name] = target;
1096
1155
  };
1097
1156
  }
1098
- function geTickerInstanceByClassName(tickerName, args, duration, priority) {
1157
+ function geTickerInstanceById(tickerId, args, duration, priority) {
1099
1158
  try {
1100
- let ticker = registeredTickers[tickerName];
1159
+ let ticker = registeredTickers[tickerId];
1101
1160
  if (!ticker) {
1102
- console.error(`[Pixi'VN] Ticker ${tickerName} not found`);
1161
+ console.error(`[Pixi'VN] Ticker ${tickerId} not found`);
1103
1162
  return;
1104
1163
  }
1105
1164
  return new ticker(args, duration, priority);
1106
1165
  } catch (e) {
1107
- console.error(`[Pixi'VN] Error while getting Ticker ${tickerName}`, e);
1166
+ console.error(`[Pixi'VN] Error while getting Ticker ${tickerId}`, e);
1108
1167
  return;
1109
1168
  }
1110
1169
  }
@@ -1433,18 +1492,18 @@ var _GameWindowManager = class _GameWindowManager {
1433
1492
  * ```
1434
1493
  */
1435
1494
  static addTicker(canvasElementTag, ticker) {
1436
- let tickerName = ticker.constructor.name;
1495
+ let tickerId = ticker.id;
1437
1496
  if (typeof canvasElementTag === "string") {
1438
1497
  canvasElementTag = [canvasElementTag];
1439
1498
  }
1440
- if (!geTickerInstanceByClassName(tickerName, ticker.args, ticker.duration, ticker.priority)) {
1441
- console.error(`[Pixi'VN] Ticker ${tickerName} not found`);
1499
+ if (!geTickerInstanceById(tickerId, ticker.args, ticker.duration, ticker.priority)) {
1500
+ console.error(`[Pixi'VN] Ticker ${tickerId} not found`);
1442
1501
  return;
1443
1502
  }
1444
1503
  let tickerHistory = {
1445
1504
  fn: () => {
1446
1505
  },
1447
- className: tickerName,
1506
+ id: tickerId,
1448
1507
  args: createExportableElement(ticker.args),
1449
1508
  canvasElementTags: canvasElementTag,
1450
1509
  priority: ticker.priority,
@@ -1460,11 +1519,11 @@ var _GameWindowManager = class _GameWindowManager {
1460
1519
  _GameWindowManager.removeTicker(id);
1461
1520
  }
1462
1521
  }, ticker.duration * 1e3);
1463
- _GameWindowManager.addTickerTimeoutInfo(canvasElementTag, tickerName, timeout.toString(), true);
1522
+ _GameWindowManager.addTickerTimeoutInfo(canvasElementTag, tickerId, timeout.toString(), true);
1464
1523
  }
1465
1524
  }
1466
1525
  static pushTicker(id, tickerData, ticker) {
1467
- _GameWindowManager.removeAssociationBetweenTickerCanvasElement(tickerData.canvasElementTags, tickerData);
1526
+ _GameWindowManager.removeAssociationBetweenTickerCanvasElement(tickerData.canvasElementTags, ticker);
1468
1527
  _GameWindowManager._currentTickers[id] = tickerData;
1469
1528
  tickerData.fn = (t) => {
1470
1529
  let data = _GameWindowManager._currentTickers[id];
@@ -1505,9 +1564,9 @@ var _GameWindowManager = class _GameWindowManager {
1505
1564
  if (step.hasOwnProperty("type") && step.type === "pause") {
1506
1565
  return step;
1507
1566
  }
1508
- let tickerName = step.constructor.name;
1567
+ let tickerId = step.id;
1509
1568
  return {
1510
- ticker: tickerName,
1569
+ ticker: tickerId,
1511
1570
  args: createExportableElement(step.args),
1512
1571
  duration: step.duration
1513
1572
  };
@@ -1545,16 +1604,16 @@ var _GameWindowManager = class _GameWindowManager {
1545
1604
  _GameWindowManager.addTickerTimeoutInfo(tag, "steps", timeout.toString(), false);
1546
1605
  return;
1547
1606
  }
1548
- let ticker = geTickerInstanceByClassName(step.ticker, step.args, step.duration, step.priority);
1607
+ let ticker = geTickerInstanceById(step.ticker, step.args, step.duration, step.priority);
1549
1608
  if (!ticker) {
1550
1609
  console.error(`[Pixi'VN] Ticker ${step.ticker} not found`);
1551
1610
  return;
1552
1611
  }
1553
- let tickerName = ticker.constructor.name;
1612
+ let tickerName = ticker.id;
1554
1613
  let tickerHistory = {
1555
1614
  fn: () => {
1556
1615
  },
1557
- className: tickerName,
1616
+ id: tickerName,
1558
1617
  args: createExportableElement(ticker.args),
1559
1618
  canvasElementTags: [tag],
1560
1619
  priority: ticker.priority,
@@ -1611,26 +1670,26 @@ var _GameWindowManager = class _GameWindowManager {
1611
1670
  * ```
1612
1671
  */
1613
1672
  static removeAssociationBetweenTickerCanvasElement(tags, ticker) {
1614
- let tickerName;
1673
+ let tickerId;
1615
1674
  if (typeof ticker === "string") {
1616
- tickerName = ticker;
1675
+ tickerId = ticker;
1617
1676
  } else if (ticker instanceof TickerBase) {
1618
- tickerName = ticker.constructor.name;
1677
+ tickerId = ticker.id;
1619
1678
  } else {
1620
- tickerName = ticker.name;
1679
+ tickerId = ticker.prototype.id;
1621
1680
  }
1622
1681
  if (typeof tags === "string") {
1623
1682
  tags = [tags];
1624
1683
  }
1625
1684
  for (let id in _GameWindowManager._currentTickers) {
1626
1685
  let ticker2 = _GameWindowManager._currentTickers[id];
1627
- if (ticker2.className === tickerName) {
1686
+ if (ticker2.id === tickerId) {
1628
1687
  _GameWindowManager._currentTickers[id].canvasElementTags = ticker2.canvasElementTags.filter((e) => !tags.includes(e));
1629
1688
  }
1630
1689
  }
1631
1690
  for (let timeout in _GameWindowManager._currentTickersTimeouts) {
1632
1691
  let TickerTimeout = _GameWindowManager._currentTickersTimeouts[timeout];
1633
- if (TickerTimeout.ticker === tickerName && TickerTimeout.canBeDeletedBeforeEnd) {
1692
+ if (TickerTimeout.ticker === tickerId && TickerTimeout.canBeDeletedBeforeEnd) {
1634
1693
  _GameWindowManager._currentTickersTimeouts[timeout].tags = TickerTimeout.tags.filter((t) => !tags.includes(t));
1635
1694
  }
1636
1695
  }
@@ -1816,11 +1875,11 @@ var _GameWindowManager = class _GameWindowManager {
1816
1875
  for (let id in currentTickers) {
1817
1876
  let t = currentTickers[id];
1818
1877
  let tags = t.canvasElementTags;
1819
- let ticker = geTickerInstanceByClassName(t.className, t.args, t.duration, t.priority);
1878
+ let ticker = geTickerInstanceById(t.id, t.args, t.duration, t.priority);
1820
1879
  if (ticker) {
1821
1880
  _GameWindowManager.addTicker(tags, ticker);
1822
1881
  } else {
1823
- console.error(`[Pixi'VN] Ticker ${t.className} not found`);
1882
+ console.error(`[Pixi'VN] Ticker ${t.id} not found`);
1824
1883
  }
1825
1884
  }
1826
1885
  }
@@ -2021,6 +2080,13 @@ var _GameStepManager = class _GameStepManager {
2021
2080
  _GameStepManager._openedLabels = _GameStepManager.originalStepData.openedLabels;
2022
2081
  }
2023
2082
  /* Run Methods */
2083
+ static get canGoNext() {
2084
+ let options = getChoiceMenuOptions();
2085
+ if (options && options.length > 0) {
2086
+ return false;
2087
+ }
2088
+ return true;
2089
+ }
2024
2090
  /**
2025
2091
  * Execute the next step and add it to the history.
2026
2092
  * @param props The props to pass to the step.
@@ -2030,7 +2096,7 @@ var _GameStepManager = class _GameStepManager {
2030
2096
  * ```typescript
2031
2097
  * function nextOnClick() {
2032
2098
  * setLoading(true)
2033
- * GameStepManager.runNextStep(yourParams)
2099
+ * GameStepManager.goNext(yourParams)
2034
2100
  * .then((result) => {
2035
2101
  * setUpdate((p) => p + 1)
2036
2102
  * setLoading(false)
@@ -2045,8 +2111,12 @@ var _GameStepManager = class _GameStepManager {
2045
2111
  * }
2046
2112
  * ```
2047
2113
  */
2048
- static runNextStep(props, choiseMade) {
2114
+ static goNext(props, choiseMade) {
2049
2115
  return __async(this, null, function* () {
2116
+ if (!_GameStepManager.canGoNext) {
2117
+ console.warn("[Pixi'VN] The player must make a choice");
2118
+ return;
2119
+ }
2050
2120
  _GameStepManager.increaseCurrentStepIndex();
2051
2121
  return yield _GameStepManager.runCurrentStep(props, choiseMade);
2052
2122
  });
@@ -2077,7 +2147,7 @@ var _GameStepManager = class _GameStepManager {
2077
2147
  return result;
2078
2148
  } else if (_GameStepManager.openedLabels.length > 1) {
2079
2149
  _GameStepManager.closeCurrentLabel();
2080
- return yield _GameStepManager.runNextStep(props, choiseMade);
2150
+ return yield _GameStepManager.goNext(props, choiseMade);
2081
2151
  } else {
2082
2152
  _GameStepManager.restorLastLabelList();
2083
2153
  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");
@@ -2225,7 +2295,7 @@ var _GameStepManager = class _GameStepManager {
2225
2295
  if (choice.closeCurrentLabel) {
2226
2296
  _GameStepManager.closeCurrentLabel();
2227
2297
  }
2228
- return _GameStepManager.runNextStep(props, choiseMade);
2298
+ return _GameStepManager.goNext(props, choiseMade);
2229
2299
  });
2230
2300
  }
2231
2301
  /* After Update Methods */
@@ -2553,15 +2623,15 @@ var DialogueBaseModel = class {
2553
2623
  if (typeof text === "string") {
2554
2624
  this.text = text;
2555
2625
  if (typeof character === "string") {
2556
- this.characterId = character;
2626
+ this.character = character;
2557
2627
  } else {
2558
- this.characterId = character == null ? void 0 : character.id;
2628
+ this.character = character == null ? void 0 : character.id;
2559
2629
  }
2560
2630
  this.oltherParams = oltherParams;
2561
2631
  } else {
2562
2632
  this.text = text.text;
2563
- if (text.characterId) {
2564
- this.characterId = text.characterId;
2633
+ if (text.character) {
2634
+ this.character = text.character;
2565
2635
  }
2566
2636
  this.oltherParams = text.oltherParams || {};
2567
2637
  }
@@ -2574,7 +2644,7 @@ var DialogueBaseModel = class {
2574
2644
  export() {
2575
2645
  return {
2576
2646
  text: this.text,
2577
- characterId: this.characterId,
2647
+ character: this.character,
2578
2648
  oltherParams: this.oltherParams
2579
2649
  };
2580
2650
  }