@drincs/pixi-vn 0.6.1 → 0.6.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (289) hide show
  1. package/dist/{TickerBase-BAUiHet_.d.ts → TickerBase-3rLpDpmb.d.ts} +9 -0
  2. package/dist/{TickerBase-BctFf13y.d.mts → TickerBase-DKYzbzro.d.mts} +9 -0
  3. package/dist/classes/CanvasEvent.d.mts +6 -0
  4. package/dist/classes/CanvasEvent.d.ts +6 -0
  5. package/dist/classes/CanvasEvent.js +7 -0
  6. package/dist/classes/CanvasEvent.js.map +1 -1
  7. package/dist/classes/CanvasEvent.mjs +7 -0
  8. package/dist/classes/CanvasEvent.mjs.map +1 -1
  9. package/dist/classes/CharacterBaseModel.js +93 -65
  10. package/dist/classes/CharacterBaseModel.js.map +1 -1
  11. package/dist/classes/CharacterBaseModel.mjs +93 -65
  12. package/dist/classes/CharacterBaseModel.mjs.map +1 -1
  13. package/dist/classes/ChoiceMenuOption.js +94 -66
  14. package/dist/classes/ChoiceMenuOption.js.map +1 -1
  15. package/dist/classes/ChoiceMenuOption.mjs +94 -66
  16. package/dist/classes/ChoiceMenuOption.mjs.map +1 -1
  17. package/dist/classes/CloseLabel.js +1 -1
  18. package/dist/classes/CloseLabel.js.map +1 -1
  19. package/dist/classes/CloseLabel.mjs +1 -1
  20. package/dist/classes/CloseLabel.mjs.map +1 -1
  21. package/dist/classes/DialogueBaseModel.d.mts +2 -2
  22. package/dist/classes/DialogueBaseModel.d.ts +2 -2
  23. package/dist/classes/DialogueBaseModel.js +5 -5
  24. package/dist/classes/DialogueBaseModel.js.map +1 -1
  25. package/dist/classes/DialogueBaseModel.mjs +5 -5
  26. package/dist/classes/DialogueBaseModel.mjs.map +1 -1
  27. package/dist/classes/Label.d.mts +1 -1
  28. package/dist/classes/Label.d.ts +1 -1
  29. package/dist/classes/Label.js +1 -1
  30. package/dist/classes/Label.js.map +1 -1
  31. package/dist/classes/Label.mjs +1 -1
  32. package/dist/classes/Label.mjs.map +1 -1
  33. package/dist/classes/StoredClassModel.js +93 -65
  34. package/dist/classes/StoredClassModel.js.map +1 -1
  35. package/dist/classes/StoredClassModel.mjs +93 -65
  36. package/dist/classes/StoredClassModel.mjs.map +1 -1
  37. package/dist/classes/canvas/CanvasBase.d.mts +5 -1
  38. package/dist/classes/canvas/CanvasBase.d.ts +5 -1
  39. package/dist/classes/canvas/CanvasBase.js +7 -0
  40. package/dist/classes/canvas/CanvasBase.js.map +1 -1
  41. package/dist/classes/canvas/CanvasBase.mjs +7 -0
  42. package/dist/classes/canvas/CanvasBase.mjs.map +1 -1
  43. package/dist/classes/canvas/CanvasContainer.d.mts +4 -1
  44. package/dist/classes/canvas/CanvasContainer.d.ts +4 -1
  45. package/dist/classes/canvas/CanvasContainer.js +57 -37
  46. package/dist/classes/canvas/CanvasContainer.js.map +1 -1
  47. package/dist/classes/canvas/CanvasContainer.mjs +57 -38
  48. package/dist/classes/canvas/CanvasContainer.mjs.map +1 -1
  49. package/dist/classes/canvas/CanvasImage.d.mts +4 -2
  50. package/dist/classes/canvas/CanvasImage.d.ts +4 -2
  51. package/dist/classes/canvas/CanvasImage.js +33 -20
  52. package/dist/classes/canvas/CanvasImage.js.map +1 -1
  53. package/dist/classes/canvas/CanvasImage.mjs +30 -20
  54. package/dist/classes/canvas/CanvasImage.mjs.map +1 -1
  55. package/dist/classes/canvas/CanvasSprite.d.mts +5 -2
  56. package/dist/classes/canvas/CanvasSprite.d.ts +5 -2
  57. package/dist/classes/canvas/CanvasSprite.js +25 -17
  58. package/dist/classes/canvas/CanvasSprite.js.map +1 -1
  59. package/dist/classes/canvas/CanvasSprite.mjs +25 -18
  60. package/dist/classes/canvas/CanvasSprite.mjs.map +1 -1
  61. package/dist/classes/canvas/CanvasText.d.mts +6 -3
  62. package/dist/classes/canvas/CanvasText.d.ts +6 -3
  63. package/dist/classes/canvas/CanvasText.js +25 -17
  64. package/dist/classes/canvas/CanvasText.js.map +1 -1
  65. package/dist/classes/canvas/CanvasText.mjs +25 -18
  66. package/dist/classes/canvas/CanvasText.mjs.map +1 -1
  67. package/dist/classes/canvas/index.js +184 -158
  68. package/dist/classes/canvas/index.js.map +1 -1
  69. package/dist/classes/canvas/index.mjs +184 -158
  70. package/dist/classes/canvas/index.mjs.map +1 -1
  71. package/dist/classes/index.d.mts +1 -0
  72. package/dist/classes/index.d.ts +1 -0
  73. package/dist/classes/index.js +106 -71
  74. package/dist/classes/index.js.map +1 -1
  75. package/dist/classes/index.mjs +106 -71
  76. package/dist/classes/index.mjs.map +1 -1
  77. package/dist/classes/ticker/FadeAlphaTicker.d.mts +2 -1
  78. package/dist/classes/ticker/FadeAlphaTicker.d.ts +2 -1
  79. package/dist/classes/ticker/FadeAlphaTicker.js +93 -65
  80. package/dist/classes/ticker/FadeAlphaTicker.js.map +1 -1
  81. package/dist/classes/ticker/FadeAlphaTicker.mjs +93 -65
  82. package/dist/classes/ticker/FadeAlphaTicker.mjs.map +1 -1
  83. package/dist/classes/ticker/MoveTicker.d.mts +2 -1
  84. package/dist/classes/ticker/MoveTicker.d.ts +2 -1
  85. package/dist/classes/ticker/MoveTicker.js +93 -65
  86. package/dist/classes/ticker/MoveTicker.js.map +1 -1
  87. package/dist/classes/ticker/MoveTicker.mjs +93 -65
  88. package/dist/classes/ticker/MoveTicker.mjs.map +1 -1
  89. package/dist/classes/ticker/RotateTicker.d.mts +2 -1
  90. package/dist/classes/ticker/RotateTicker.d.ts +2 -1
  91. package/dist/classes/ticker/RotateTicker.js +93 -65
  92. package/dist/classes/ticker/RotateTicker.js.map +1 -1
  93. package/dist/classes/ticker/RotateTicker.mjs +93 -65
  94. package/dist/classes/ticker/RotateTicker.mjs.map +1 -1
  95. package/dist/classes/ticker/TickerBase.d.mts +2 -1
  96. package/dist/classes/ticker/TickerBase.d.ts +2 -1
  97. package/dist/classes/ticker/TickerBase.js +5 -0
  98. package/dist/classes/ticker/TickerBase.js.map +1 -1
  99. package/dist/classes/ticker/TickerBase.mjs +5 -0
  100. package/dist/classes/ticker/TickerBase.mjs.map +1 -1
  101. package/dist/classes/ticker/ZoomTicker.d.mts +9 -3
  102. package/dist/classes/ticker/ZoomTicker.d.ts +9 -3
  103. package/dist/classes/ticker/ZoomTicker.js +108 -66
  104. package/dist/classes/ticker/ZoomTicker.js.map +1 -1
  105. package/dist/classes/ticker/ZoomTicker.mjs +106 -66
  106. package/dist/classes/ticker/ZoomTicker.mjs.map +1 -1
  107. package/dist/classes/ticker/index.d.mts +2 -1
  108. package/dist/classes/ticker/index.d.ts +2 -1
  109. package/dist/classes/ticker/index.js +230 -202
  110. package/dist/classes/ticker/index.js.map +1 -1
  111. package/dist/classes/ticker/index.mjs +230 -202
  112. package/dist/classes/ticker/index.mjs.map +1 -1
  113. package/dist/constants.d.mts +1 -1
  114. package/dist/constants.d.ts +1 -1
  115. package/dist/constants.js +1 -1
  116. package/dist/constants.js.map +1 -1
  117. package/dist/constants.mjs +1 -1
  118. package/dist/constants.mjs.map +1 -1
  119. package/dist/decorators/CanvasElementDecorator.d.mts +3 -3
  120. package/dist/decorators/CanvasElementDecorator.d.ts +3 -3
  121. package/dist/decorators/CanvasElementDecorator.js +63 -43
  122. package/dist/decorators/CanvasElementDecorator.js.map +1 -1
  123. package/dist/decorators/CanvasElementDecorator.mjs +62 -42
  124. package/dist/decorators/CanvasElementDecorator.mjs.map +1 -1
  125. package/dist/decorators/EventDecorator.d.mts +7 -7
  126. package/dist/decorators/EventDecorator.d.ts +7 -7
  127. package/dist/decorators/EventDecorator.js +11 -10
  128. package/dist/decorators/EventDecorator.js.map +1 -1
  129. package/dist/decorators/EventDecorator.mjs +10 -9
  130. package/dist/decorators/EventDecorator.mjs.map +1 -1
  131. package/dist/decorators/LabelDecorator.js +94 -66
  132. package/dist/decorators/LabelDecorator.js.map +1 -1
  133. package/dist/decorators/LabelDecorator.mjs +94 -66
  134. package/dist/decorators/LabelDecorator.mjs.map +1 -1
  135. package/dist/decorators/TickerDecorator.d.mts +5 -5
  136. package/dist/decorators/TickerDecorator.d.ts +5 -5
  137. package/dist/decorators/TickerDecorator.js +6 -5
  138. package/dist/decorators/TickerDecorator.js.map +1 -1
  139. package/dist/decorators/TickerDecorator.mjs +6 -5
  140. package/dist/decorators/TickerDecorator.mjs.map +1 -1
  141. package/dist/decorators/index.d.mts +1 -1
  142. package/dist/decorators/index.d.ts +1 -1
  143. package/dist/decorators/index.js +96 -66
  144. package/dist/decorators/index.js.map +1 -1
  145. package/dist/decorators/index.mjs +96 -66
  146. package/dist/decorators/index.mjs.map +1 -1
  147. package/dist/functions/CanvasUtility.js +56 -37
  148. package/dist/functions/CanvasUtility.js.map +1 -1
  149. package/dist/functions/CanvasUtility.mjs +56 -37
  150. package/dist/functions/CanvasUtility.mjs.map +1 -1
  151. package/dist/functions/DialogueUtility.d.mts +1 -1
  152. package/dist/functions/DialogueUtility.d.ts +1 -1
  153. package/dist/functions/DialogueUtility.js +240 -201
  154. package/dist/functions/DialogueUtility.js.map +1 -1
  155. package/dist/functions/DialogueUtility.mjs +240 -201
  156. package/dist/functions/DialogueUtility.mjs.map +1 -1
  157. package/dist/functions/FlagsUtility.js +93 -65
  158. package/dist/functions/FlagsUtility.js.map +1 -1
  159. package/dist/functions/FlagsUtility.mjs +93 -65
  160. package/dist/functions/FlagsUtility.mjs.map +1 -1
  161. package/dist/functions/GameUtility.js +93 -65
  162. package/dist/functions/GameUtility.js.map +1 -1
  163. package/dist/functions/GameUtility.mjs +93 -65
  164. package/dist/functions/GameUtility.mjs.map +1 -1
  165. package/dist/functions/ImageUtility.d.mts +35 -2
  166. package/dist/functions/ImageUtility.d.ts +35 -2
  167. package/dist/functions/ImageUtility.js +371 -186
  168. package/dist/functions/ImageUtility.js.map +1 -1
  169. package/dist/functions/ImageUtility.mjs +368 -187
  170. package/dist/functions/ImageUtility.mjs.map +1 -1
  171. package/dist/functions/SavesUtility.d.mts +2 -2
  172. package/dist/functions/SavesUtility.d.ts +2 -2
  173. package/dist/functions/SavesUtility.js +141 -71
  174. package/dist/functions/SavesUtility.js.map +1 -1
  175. package/dist/functions/SavesUtility.mjs +141 -71
  176. package/dist/functions/SavesUtility.mjs.map +1 -1
  177. package/dist/functions/index.d.mts +6 -3
  178. package/dist/functions/index.d.ts +6 -3
  179. package/dist/functions/index.js +277 -81
  180. package/dist/functions/index.js.map +1 -1
  181. package/dist/functions/index.mjs +275 -83
  182. package/dist/functions/index.mjs.map +1 -1
  183. package/dist/index.d.mts +4 -4
  184. package/dist/index.d.ts +4 -4
  185. package/dist/index.js +644 -153
  186. package/dist/index.js.map +1 -1
  187. package/dist/index.mjs +642 -155
  188. package/dist/index.mjs.map +1 -1
  189. package/dist/interface/IHistoryStep.d.mts +2 -2
  190. package/dist/interface/IHistoryStep.d.ts +2 -2
  191. package/dist/interface/ISaveData.d.mts +2 -2
  192. package/dist/interface/ISaveData.d.ts +2 -2
  193. package/dist/interface/ITicker.d.mts +2 -1
  194. package/dist/interface/ITicker.d.ts +2 -1
  195. package/dist/interface/ITickersSteps.d.mts +12 -3
  196. package/dist/interface/ITickersSteps.d.ts +12 -3
  197. package/dist/interface/TickerHistory.d.mts +3 -3
  198. package/dist/interface/TickerHistory.d.ts +3 -3
  199. package/dist/interface/canvas/ICanvasBaseMemory.d.mts +1 -1
  200. package/dist/interface/canvas/ICanvasBaseMemory.d.ts +1 -1
  201. package/dist/interface/canvas/ICanvasImageMemory.d.mts +2 -2
  202. package/dist/interface/canvas/ICanvasImageMemory.d.ts +2 -2
  203. package/dist/interface/canvas/ICanvasSpriteMemory.d.mts +1 -2
  204. package/dist/interface/canvas/ICanvasSpriteMemory.d.ts +1 -2
  205. package/dist/interface/canvas/ICanvasTextTextMemory.d.mts +1 -2
  206. package/dist/interface/canvas/ICanvasTextTextMemory.d.ts +1 -2
  207. package/dist/interface/export/ExportedCanvas.d.mts +2 -2
  208. package/dist/interface/export/ExportedCanvas.d.ts +2 -2
  209. package/dist/interface/export/ExportedStep.d.mts +2 -2
  210. package/dist/interface/export/ExportedStep.d.ts +2 -2
  211. package/dist/interface/export/index.d.mts +2 -2
  212. package/dist/interface/export/index.d.ts +2 -2
  213. package/dist/interface/index.d.mts +2 -2
  214. package/dist/interface/index.d.ts +2 -2
  215. package/dist/labels/BaseCanvasElementTestLabel.js +400 -372
  216. package/dist/labels/BaseCanvasElementTestLabel.js.map +1 -1
  217. package/dist/labels/BaseCanvasElementTestLabel.mjs +401 -373
  218. package/dist/labels/BaseCanvasElementTestLabel.mjs.map +1 -1
  219. package/dist/labels/{EventsTestLabel.d.mts → CanvasEventsTestLabel.d.mts} +4 -7
  220. package/dist/labels/{EventsTestLabel.d.ts → CanvasEventsTestLabel.d.ts} +4 -7
  221. package/dist/labels/{EventsTestLabel.js → CanvasEventsTestLabel.js} +320 -98
  222. package/dist/labels/CanvasEventsTestLabel.js.map +1 -0
  223. package/dist/labels/{EventsTestLabel.mjs → CanvasEventsTestLabel.mjs} +320 -98
  224. package/dist/labels/CanvasEventsTestLabel.mjs.map +1 -0
  225. package/dist/labels/{TintingTestLabel.d.mts → CustomTickerCanvasElementTestLabel.d.mts} +5 -4
  226. package/dist/labels/{TintingTestLabel.d.ts → CustomTickerCanvasElementTestLabel.d.ts} +5 -4
  227. package/dist/labels/CustomTickerCanvasElementTestLabel.js +2792 -0
  228. package/dist/labels/CustomTickerCanvasElementTestLabel.js.map +1 -0
  229. package/dist/labels/CustomTickerCanvasElementTestLabel.mjs +2786 -0
  230. package/dist/labels/CustomTickerCanvasElementTestLabel.mjs.map +1 -0
  231. package/dist/labels/{ShowImageTest.js → ImagesAnimationsTestLabel.js} +373 -82
  232. package/dist/labels/ImagesAnimationsTestLabel.js.map +1 -0
  233. package/dist/labels/{ShowImageTest.mjs → ImagesAnimationsTestLabel.mjs} +373 -82
  234. package/dist/labels/ImagesAnimationsTestLabel.mjs.map +1 -0
  235. package/dist/labels/MarkdownTest.js +150 -80
  236. package/dist/labels/MarkdownTest.js.map +1 -1
  237. package/dist/labels/MarkdownTest.mjs +150 -80
  238. package/dist/labels/MarkdownTest.mjs.map +1 -1
  239. package/dist/labels/StartLabel.js +689 -152
  240. package/dist/labels/StartLabel.js.map +1 -1
  241. package/dist/labels/StartLabel.mjs +690 -153
  242. package/dist/labels/StartLabel.mjs.map +1 -1
  243. package/dist/labels/TestConstant.d.mts +3 -1
  244. package/dist/labels/TestConstant.d.ts +3 -1
  245. package/dist/labels/TestConstant.js +97 -65
  246. package/dist/labels/TestConstant.js.map +1 -1
  247. package/dist/labels/TestConstant.mjs +96 -66
  248. package/dist/labels/TestConstant.mjs.map +1 -1
  249. package/dist/labels/TickerTestLabel.js +472 -402
  250. package/dist/labels/TickerTestLabel.js.map +1 -1
  251. package/dist/labels/TickerTestLabel.mjs +473 -403
  252. package/dist/labels/TickerTestLabel.mjs.map +1 -1
  253. package/dist/labels/index.js +689 -152
  254. package/dist/labels/index.js.map +1 -1
  255. package/dist/labels/index.mjs +690 -153
  256. package/dist/labels/index.mjs.map +1 -1
  257. package/dist/managers/StepManager.d.mts +5 -4
  258. package/dist/managers/StepManager.d.ts +5 -4
  259. package/dist/managers/StepManager.js +140 -70
  260. package/dist/managers/StepManager.js.map +1 -1
  261. package/dist/managers/StepManager.mjs +140 -70
  262. package/dist/managers/StepManager.mjs.map +1 -1
  263. package/dist/managers/WindowManager.d.mts +1 -1
  264. package/dist/managers/WindowManager.d.ts +1 -1
  265. package/dist/managers/WindowManager.js +84 -60
  266. package/dist/managers/WindowManager.js.map +1 -1
  267. package/dist/managers/WindowManager.mjs +84 -60
  268. package/dist/managers/WindowManager.mjs.map +1 -1
  269. package/dist/managers/index.d.mts +2 -2
  270. package/dist/managers/index.d.ts +2 -2
  271. package/dist/managers/index.js +140 -70
  272. package/dist/managers/index.js.map +1 -1
  273. package/dist/managers/index.mjs +140 -70
  274. package/dist/managers/index.mjs.map +1 -1
  275. package/dist/types/ticker/MoveTickerProps.d.mts +1 -1
  276. package/dist/types/ticker/MoveTickerProps.d.ts +1 -1
  277. package/dist/types/ticker/RotateTickerProps.d.mts +1 -1
  278. package/dist/types/ticker/RotateTickerProps.d.ts +1 -1
  279. package/package.json +1 -1
  280. package/dist/labels/EventsTestLabel.js.map +0 -1
  281. package/dist/labels/EventsTestLabel.mjs.map +0 -1
  282. package/dist/labels/ShowImageTest.js.map +0 -1
  283. package/dist/labels/ShowImageTest.mjs.map +0 -1
  284. package/dist/labels/TintingTestLabel.js +0 -1786
  285. package/dist/labels/TintingTestLabel.js.map +0 -1
  286. package/dist/labels/TintingTestLabel.mjs +0 -1780
  287. package/dist/labels/TintingTestLabel.mjs.map +0 -1
  288. /package/dist/labels/{ShowImageTest.d.mts → ImagesAnimationsTestLabel.d.mts} +0 -0
  289. /package/dist/labels/{ShowImageTest.d.ts → ImagesAnimationsTestLabel.d.ts} +0 -0
@@ -73,7 +73,7 @@ var Label = class {
73
73
  this._choiseIndex = choiseIndex;
74
74
  }
75
75
  /**
76
- * Get the id of the label
76
+ * Get the id of the label. This variable is used in the system to get the label by id, {@link getLabelById}
77
77
  */
78
78
  get id() {
79
79
  return this._id;
@@ -141,138 +141,6 @@ function getLabelById(id) {
141
141
  }
142
142
  return label;
143
143
  }
144
-
145
- // src/decorators/CanvasElementDecorator.ts
146
- var registeredCanvasElement = {};
147
- function getCanvasElementInstanceByClassName(canvasName) {
148
- try {
149
- let eventType = registeredCanvasElement[canvasName];
150
- if (!eventType) {
151
- if (canvasName === "CanvasContainer") {
152
- eventType = CanvasContainer;
153
- } else if (canvasName === "CanvasImage") {
154
- eventType = CanvasImage;
155
- } else if (canvasName === "CanvasSprite") {
156
- eventType = CanvasSprite;
157
- } else if (canvasName === "CanvasText") {
158
- eventType = CanvasText;
159
- }
160
- }
161
- if (!eventType) {
162
- console.error(`[Pixi'VN] CanvasElement ${canvasName} not found`);
163
- return;
164
- }
165
- let canvasElement = new eventType();
166
- return canvasElement;
167
- } catch (e) {
168
- console.error(`[Pixi'VN] Error while getting CanvasElement ${canvasName}`, e);
169
- return;
170
- }
171
- }
172
-
173
- // src/functions/CanvasUtility.ts
174
- function getTextureMemory(texture) {
175
- let sourceTexture = texture.source;
176
- let textureMemory = {
177
- image: sourceTexture.label
178
- };
179
- return textureMemory;
180
- }
181
- function exportCanvasElement(element) {
182
- return element.memory;
183
- }
184
- function importCanvasElement(memory) {
185
- let element = getCanvasElementInstanceByClassName(memory.className);
186
- if (element) {
187
- element.memory = memory;
188
- } else {
189
- throw new Error("[Pixi'VN] The element " + memory.className + " could not be created");
190
- }
191
- return element;
192
- }
193
-
194
- // src/classes/canvas/CanvasContainer.ts
195
- var CanvasContainer = class extends Container {
196
- get memory() {
197
- let memory = getMemoryContainer(this);
198
- this.children.forEach((child) => {
199
- memory.elements.push(exportCanvasElement(child));
200
- });
201
- return memory;
202
- }
203
- set memory(value) {
204
- setMemoryContainer(this, value);
205
- value.elements.forEach((child) => {
206
- this.addChild(importCanvasElement(child));
207
- });
208
- }
209
- };
210
- function getMemoryContainer(element) {
211
- return {
212
- className: "CanvasContainer",
213
- elements: [],
214
- width: element.width,
215
- height: element.height,
216
- isRenderGroup: element.isRenderGroup,
217
- blendMode: element.blendMode,
218
- tint: element.tint,
219
- alpha: element.alpha,
220
- angle: element.angle,
221
- renderable: element.renderable,
222
- rotation: element.rotation,
223
- scale: { x: element.scale.x, y: element.scale.y },
224
- pivot: { x: element.pivot.x, y: element.pivot.y },
225
- position: { x: element.position.x, y: element.position.y },
226
- skew: { x: element.skew.x, y: element.skew.y },
227
- visible: element.visible,
228
- culled: element.culled,
229
- x: element.x,
230
- y: element.y,
231
- boundsArea: element.boundsArea,
232
- cursor: element.cursor,
233
- eventMode: element.eventMode,
234
- interactive: element.interactive,
235
- interactiveChildren: element.interactiveChildren,
236
- hitArea: element.hitArea
237
- };
238
- }
239
- function setMemoryContainer(element, memory) {
240
- memory.width && (element.width = memory.width);
241
- memory.height && (element.height = memory.height);
242
- memory.isRenderGroup && (element.isRenderGroup = memory.isRenderGroup);
243
- memory.blendMode && (element.blendMode = memory.blendMode);
244
- memory.tint && (element.tint = memory.tint);
245
- memory.alpha && (element.alpha = memory.alpha);
246
- memory.angle && (element.angle = memory.angle);
247
- memory.renderable && (element.renderable = memory.renderable);
248
- memory.rotation && (element.rotation = memory.rotation);
249
- if (memory.scale) {
250
- if (typeof memory.scale === "number") {
251
- element.scale.set(memory.scale, memory.scale);
252
- } else {
253
- element.scale.set(memory.scale.x, memory.scale.y);
254
- }
255
- }
256
- if (memory.pivot) {
257
- if (typeof memory.pivot === "number") {
258
- element.pivot.set(memory.pivot, memory.pivot);
259
- } else {
260
- element.pivot.set(memory.pivot.x, memory.pivot.y);
261
- }
262
- }
263
- memory.position && element.position.set(memory.position.x, memory.position.y);
264
- memory.skew && element.skew.set(memory.skew.x, memory.skew.y);
265
- memory.visible && (element.visible = memory.visible);
266
- memory.culled && (element.culled = memory.culled);
267
- memory.x && (element.x = memory.x);
268
- memory.y && (element.y = memory.y);
269
- memory.boundsArea && (element.boundsArea = memory.boundsArea);
270
- memory.cursor && (element.cursor = memory.cursor);
271
- memory.eventMode && (element.eventMode = memory.eventMode);
272
- memory.interactive && (element.interactive = memory.interactive);
273
- memory.interactiveChildren && (element.interactiveChildren = memory.interactiveChildren);
274
- memory.hitArea && (element.hitArea = memory.hitArea);
275
- }
276
144
  function getTexture(imageUrl) {
277
145
  return __async(this, null, function* () {
278
146
  if (Assets.cache.has(imageUrl)) {
@@ -325,40 +193,43 @@ function getTextStyle(style) {
325
193
 
326
194
  // src/decorators/EventDecorator.ts
327
195
  var registeredEvents = {};
328
- function getEventTypeByClassName(eventName) {
196
+ function getEventTypeById(eventId) {
329
197
  try {
330
- let eventType = registeredEvents[eventName];
198
+ let eventType = registeredEvents[eventId];
331
199
  if (!eventType) {
332
- console.error(`[Pixi'VN] Event ${eventName} not found`);
200
+ console.error(`[Pixi'VN] Event ${eventId} not found`);
333
201
  return;
334
202
  }
335
203
  new eventType();
336
204
  return eventType;
337
205
  } catch (e) {
338
- console.error(`[Pixi'VN] Error while getting Event ${eventName}`, e);
206
+ console.error(`[Pixi'VN] Error while getting Event ${eventId}`, e);
339
207
  return;
340
208
  }
341
209
  }
342
- function getEventInstanceByClassName(eventName) {
210
+ function getEventInstanceById(eventId) {
343
211
  try {
344
- let eventType = registeredEvents[eventName];
212
+ let eventType = registeredEvents[eventId];
345
213
  if (!eventType) {
346
- console.error(`[Pixi'VN] Event ${eventName} not found`);
214
+ console.error(`[Pixi'VN] Event ${eventId} not found`);
347
215
  return;
348
216
  }
349
217
  let event = new eventType();
350
218
  return event;
351
219
  } catch (e) {
352
- console.error(`[Pixi'VN] Error while getting Event ${eventName}`, e);
220
+ console.error(`[Pixi'VN] Error while getting Event ${eventId}`, e);
353
221
  return;
354
222
  }
355
223
  }
356
224
 
357
225
  // src/classes/canvas/CanvasSprite.ts
226
+ var CANVAS_SPRITE_ID = "CanvasSprite";
358
227
  var CanvasSprite = class _CanvasSprite extends Sprite {
359
- constructor() {
360
- super(...arguments);
228
+ constructor(options) {
229
+ super(options);
230
+ this.pixivnId = CANVAS_SPRITE_ID;
361
231
  this._onEvents = {};
232
+ this.pixivnId = this.constructor.prototype.pixivnId;
362
233
  }
363
234
  get memory() {
364
235
  return getMemorySprite(this);
@@ -399,9 +270,9 @@ var CanvasSprite = class _CanvasSprite extends Sprite {
399
270
  * ```
400
271
  */
401
272
  onEvent(event, eventClass) {
402
- let className = eventClass.name;
403
- let instance = getEventInstanceByClassName(className);
404
- this._onEvents[event] = className;
273
+ let id = eventClass.prototype.id;
274
+ let instance = getEventInstanceById(id);
275
+ this._onEvents[event] = id;
405
276
  if (instance) {
406
277
  super.on(event, () => {
407
278
  instance.fn(event, this);
@@ -430,7 +301,7 @@ var CanvasSprite = class _CanvasSprite extends Sprite {
430
301
  function getMemorySprite(element) {
431
302
  let temp = getMemoryContainer(element);
432
303
  return __spreadProps(__spreadValues({}, temp), {
433
- className: "CanvasSprite",
304
+ pixivnId: element.pixivnId,
434
305
  textureImage: getTextureMemory(element.texture),
435
306
  anchor: { x: element.anchor.x, y: element.anchor.y },
436
307
  roundPixels: element.roundPixels,
@@ -453,8 +324,8 @@ function setMemorySprite(element, memory) {
453
324
  }
454
325
  memory.roundPixels && (element.roundPixels = memory.roundPixels);
455
326
  for (let event in memory.onEvents) {
456
- let className = memory.onEvents[event];
457
- let instance = getEventTypeByClassName(className);
327
+ let id = memory.onEvents[event];
328
+ let instance = getEventTypeById(id);
458
329
  if (instance) {
459
330
  element.onEvent(event, instance);
460
331
  }
@@ -462,9 +333,11 @@ function setMemorySprite(element, memory) {
462
333
  }
463
334
 
464
335
  // src/classes/canvas/CanvasImage.ts
336
+ var CANVAS_IMAGE_ID = "CanvasImage";
465
337
  var CanvasImage = class _CanvasImage extends CanvasSprite {
466
338
  constructor(options, imageLink) {
467
339
  super(options);
340
+ this.pixivnId = CANVAS_IMAGE_ID;
468
341
  this.imageLink = "";
469
342
  if (imageLink) {
470
343
  this.imageLink = imageLink;
@@ -472,12 +345,13 @@ var CanvasImage = class _CanvasImage extends CanvasSprite {
472
345
  }
473
346
  get memory() {
474
347
  return __spreadProps(__spreadValues({}, getMemorySprite(this)), {
475
- className: "CanvasImage",
476
- textureImage: { image: this.imageLink }
348
+ pixivnId: this.pixivnId,
349
+ imageLink: this.imageLink
477
350
  });
478
351
  }
479
352
  set memory(memory) {
480
353
  setMemorySprite(this, memory);
354
+ this.imageLink = memory.imageLink;
481
355
  }
482
356
  static from(source, skipCache) {
483
357
  let sprite = Sprite.from(source, skipCache);
@@ -505,10 +379,13 @@ var CanvasImage = class _CanvasImage extends CanvasSprite {
505
379
  });
506
380
  }
507
381
  };
382
+ var CANVAS_TEXT_ID = "CanvasText";
508
383
  var CanvasText = class extends Text {
509
- constructor() {
510
- super(...arguments);
384
+ constructor(options) {
385
+ super(options);
386
+ this.pixivnId = CANVAS_TEXT_ID;
511
387
  this._onEvents = {};
388
+ this.pixivnId = this.constructor.prototype.pixivnId;
512
389
  }
513
390
  get memory() {
514
391
  return getMemoryText(this);
@@ -549,9 +426,9 @@ var CanvasText = class extends Text {
549
426
  * ```
550
427
  */
551
428
  onEvent(event, eventClass) {
552
- let className = eventClass.name;
553
- let instance = getEventInstanceByClassName(className);
554
- this._onEvents[event] = className;
429
+ let id = eventClass.prototype.id;
430
+ let instance = getEventInstanceById(id);
431
+ this._onEvents[event] = id;
555
432
  if (instance) {
556
433
  super.on(event, () => {
557
434
  instance.fn(event, this);
@@ -574,7 +451,7 @@ var CanvasText = class extends Text {
574
451
  function getMemoryText(element) {
575
452
  let temp = getMemoryContainer(element);
576
453
  return __spreadProps(__spreadValues({}, temp), {
577
- className: "CanvasText",
454
+ pixivnId: element.pixivnId,
578
455
  anchor: { x: element.anchor.x, y: element.anchor.y },
579
456
  text: element.text,
580
457
  resolution: element.resolution,
@@ -597,14 +474,156 @@ function setMemoryText(element, memory) {
597
474
  memory.style && (element.style = memory.style);
598
475
  memory.roundPixels && (element.roundPixels = memory.roundPixels);
599
476
  for (let event in memory.onEvents) {
600
- let className = memory.onEvents[event];
601
- let instance = getEventTypeByClassName(className);
477
+ let id = memory.onEvents[event];
478
+ let instance = getEventTypeById(id);
602
479
  if (instance) {
603
480
  element.onEvent(event, instance);
604
481
  }
605
482
  }
606
483
  }
607
484
 
485
+ // src/decorators/CanvasElementDecorator.ts
486
+ var registeredCanvasElement = {};
487
+ function getCanvasElementInstanceById(canvasId) {
488
+ try {
489
+ let eventType = registeredCanvasElement[canvasId];
490
+ if (!eventType) {
491
+ if (canvasId === CANVAS_CONTAINER_ID) {
492
+ eventType = CanvasContainer;
493
+ } else if (canvasId === CANVAS_IMAGE_ID) {
494
+ eventType = CanvasImage;
495
+ } else if (canvasId === CANVAS_SPRITE_ID) {
496
+ eventType = CanvasSprite;
497
+ } else if (canvasId === CANVAS_TEXT_ID) {
498
+ eventType = CanvasText;
499
+ }
500
+ }
501
+ if (!eventType) {
502
+ console.error(`[Pixi'VN] CanvasElement ${canvasId} not found`);
503
+ return;
504
+ }
505
+ let canvasElement = new eventType();
506
+ return canvasElement;
507
+ } catch (e) {
508
+ console.error(`[Pixi'VN] Error while getting CanvasElement ${canvasId}`, e);
509
+ return;
510
+ }
511
+ }
512
+
513
+ // src/functions/CanvasUtility.ts
514
+ function getTextureMemory(texture) {
515
+ let sourceTexture = texture.source;
516
+ let textureMemory = {
517
+ image: sourceTexture.label
518
+ };
519
+ return textureMemory;
520
+ }
521
+ function exportCanvasElement(element) {
522
+ return element.memory;
523
+ }
524
+ function importCanvasElement(memory) {
525
+ let element = getCanvasElementInstanceById(memory.pixivnId);
526
+ if (element) {
527
+ element.memory = memory;
528
+ } else {
529
+ throw new Error("[Pixi'VN] The element " + memory.pixivnId + " could not be created");
530
+ }
531
+ return element;
532
+ }
533
+
534
+ // src/classes/canvas/CanvasContainer.ts
535
+ var CANVAS_CONTAINER_ID = "CanvasContainer";
536
+ var CanvasContainer = class extends Container {
537
+ constructor(options) {
538
+ super(options);
539
+ this.pixivnId = CANVAS_CONTAINER_ID;
540
+ this.pixivnId = this.constructor.prototype.pixivnId;
541
+ }
542
+ get memory() {
543
+ let memory = getMemoryContainer(this);
544
+ this.children.forEach((child) => {
545
+ memory.elements.push(exportCanvasElement(child));
546
+ });
547
+ return memory;
548
+ }
549
+ set memory(value) {
550
+ setMemoryContainer(this, value);
551
+ value.elements.forEach((child) => {
552
+ this.addChild(importCanvasElement(child));
553
+ });
554
+ }
555
+ };
556
+ function getMemoryContainer(element) {
557
+ let className = "CanvasContainer";
558
+ if (element.hasOwnProperty("pixivnId")) {
559
+ className = element.pixivnId;
560
+ }
561
+ return {
562
+ pixivnId: className,
563
+ elements: [],
564
+ width: element.width,
565
+ height: element.height,
566
+ isRenderGroup: element.isRenderGroup,
567
+ blendMode: element.blendMode,
568
+ tint: element.tint,
569
+ alpha: element.alpha,
570
+ angle: element.angle,
571
+ renderable: element.renderable,
572
+ rotation: element.rotation,
573
+ scale: { x: element.scale.x, y: element.scale.y },
574
+ pivot: { x: element.pivot.x, y: element.pivot.y },
575
+ position: { x: element.position.x, y: element.position.y },
576
+ skew: { x: element.skew.x, y: element.skew.y },
577
+ visible: element.visible,
578
+ culled: element.culled,
579
+ x: element.x,
580
+ y: element.y,
581
+ boundsArea: element.boundsArea,
582
+ cursor: element.cursor,
583
+ eventMode: element.eventMode,
584
+ interactive: element.interactive,
585
+ interactiveChildren: element.interactiveChildren,
586
+ hitArea: element.hitArea
587
+ };
588
+ }
589
+ function setMemoryContainer(element, memory) {
590
+ memory.width && (element.width = memory.width);
591
+ memory.height && (element.height = memory.height);
592
+ memory.isRenderGroup && (element.isRenderGroup = memory.isRenderGroup);
593
+ memory.blendMode && (element.blendMode = memory.blendMode);
594
+ memory.tint && (element.tint = memory.tint);
595
+ memory.alpha && (element.alpha = memory.alpha);
596
+ memory.angle && (element.angle = memory.angle);
597
+ memory.renderable && (element.renderable = memory.renderable);
598
+ memory.rotation && (element.rotation = memory.rotation);
599
+ if (memory.scale) {
600
+ if (typeof memory.scale === "number") {
601
+ element.scale.set(memory.scale, memory.scale);
602
+ } else {
603
+ element.scale.set(memory.scale.x, memory.scale.y);
604
+ }
605
+ }
606
+ if (memory.pivot) {
607
+ if (typeof memory.pivot === "number") {
608
+ element.pivot.set(memory.pivot, memory.pivot);
609
+ } else {
610
+ element.pivot.set(memory.pivot.x, memory.pivot.y);
611
+ }
612
+ }
613
+ memory.position && element.position.set(memory.position.x, memory.position.y);
614
+ memory.skew && element.skew.set(memory.skew.x, memory.skew.y);
615
+ memory.visible && (element.visible = memory.visible);
616
+ memory.culled && (element.culled = memory.culled);
617
+ memory.x && (element.x = memory.x);
618
+ memory.y && (element.y = memory.y);
619
+ memory.boundsArea && (element.boundsArea = memory.boundsArea);
620
+ memory.cursor && (element.cursor = memory.cursor);
621
+ memory.eventMode && (element.eventMode = memory.eventMode);
622
+ memory.interactive && (element.interactive = memory.interactive);
623
+ memory.interactiveChildren && (element.interactiveChildren = memory.interactiveChildren);
624
+ memory.hitArea && (element.hitArea = memory.hitArea);
625
+ }
626
+
608
627
  // src/decorators/TickerDecorator.ts
609
628
  var registeredTickers = {};
610
629
  function tickerDecorator(name) {
@@ -615,19 +634,20 @@ function tickerDecorator(name) {
615
634
  if (registeredTickers[name]) {
616
635
  console.info(`[Pixi'VN] Ticker ${name} already exists, it will be overwritten`);
617
636
  }
637
+ target.prototype.id = name;
618
638
  registeredTickers[name] = target;
619
639
  };
620
640
  }
621
- function geTickerInstanceByClassName(tickerName, args, duration, priority) {
641
+ function geTickerInstanceById(tickerId, args, duration, priority) {
622
642
  try {
623
- let ticker = registeredTickers[tickerName];
643
+ let ticker = registeredTickers[tickerId];
624
644
  if (!ticker) {
625
- console.error(`[Pixi'VN] Ticker ${tickerName} not found`);
645
+ console.error(`[Pixi'VN] Ticker ${tickerId} not found`);
626
646
  return;
627
647
  }
628
648
  return new ticker(args, duration, priority);
629
649
  } catch (e) {
630
- console.error(`[Pixi'VN] Error while getting Ticker ${tickerName}`, e);
650
+ console.error(`[Pixi'VN] Error while getting Ticker ${tickerId}`, e);
631
651
  return;
632
652
  }
633
653
  }
@@ -640,9 +660,14 @@ var TickerBase = class {
640
660
  * @param priority The priority of the ticker. @default UPDATE_PRIORITY.NORMAL
641
661
  */
642
662
  constructor(args, duration, priority) {
663
+ /**
664
+ * Get the id of the ticker. This variable is used in the system to get the ticker by id, {@link geTickerInstanceById}
665
+ */
666
+ this.id = "ticker_id_not_set";
643
667
  this.args = args;
644
668
  this.duration = duration;
645
669
  this.priority = priority;
670
+ this.id = this.constructor.prototype.id;
646
671
  }
647
672
  /**
648
673
  * The method that will be called every frame.
@@ -865,8 +890,8 @@ var ZoomTicker = class extends TickerBase {
865
890
  tagToRemoveAfter2 = [tagToRemoveAfter2];
866
891
  }
867
892
  let type = args.type || "zoom";
868
- let xLimit = Infinity;
869
- let yLimit = Infinity;
893
+ let xLimit = type === "zoom" ? Infinity : 0;
894
+ let yLimit = type === "zoom" ? Infinity : 0;
870
895
  if (args.limit) {
871
896
  if (typeof args.limit === "number") {
872
897
  xLimit = args.limit;
@@ -905,7 +930,7 @@ var ZoomTicker = class extends TickerBase {
905
930
  if (element.scale.x >= xLimit && element.scale.y >= yLimit) {
906
931
  element.scale.x = xLimit;
907
932
  element.scale.y = yLimit;
908
- GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
933
+ this.onEndOfTicker(tag, tickerId, element, tagToRemoveAfter2);
909
934
  }
910
935
  } else if (type === "unzoom") {
911
936
  if (element.scale.x < xLimit) {
@@ -917,17 +942,20 @@ var ZoomTicker = class extends TickerBase {
917
942
  if (element.scale.x <= xLimit && element.scale.y <= yLimit) {
918
943
  element.scale.x = xLimit;
919
944
  element.scale.y = yLimit;
920
- GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
945
+ this.onEndOfTicker(tag, tickerId, element, tagToRemoveAfter2);
921
946
  }
922
947
  }
923
948
  if (xSpeed < 1e-5 && ySpeed < 1e-5 && !(args.speedProgression && args.speedProgression.type == "linear" && args.speedProgression.amt != 0)) {
924
- GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
949
+ this.onEndOfTicker(tag, tickerId, element, tagToRemoveAfter2);
925
950
  }
926
951
  }
927
952
  });
928
953
  if (args.speedProgression)
929
954
  updateTickerProgression(args, "speed", args.speedProgression);
930
955
  }
956
+ onEndOfTicker(tag, tickerId, _element, tagToRemoveAfter2) {
957
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
958
+ }
931
959
  };
932
960
  ZoomTicker = __decorateClass([
933
961
  tickerDecorator()
@@ -1397,18 +1425,18 @@ var _GameWindowManager = class _GameWindowManager {
1397
1425
  * ```
1398
1426
  */
1399
1427
  static addTicker(canvasElementTag, ticker) {
1400
- let tickerName = ticker.constructor.name;
1428
+ let tickerId = ticker.id;
1401
1429
  if (typeof canvasElementTag === "string") {
1402
1430
  canvasElementTag = [canvasElementTag];
1403
1431
  }
1404
- if (!geTickerInstanceByClassName(tickerName, ticker.args, ticker.duration, ticker.priority)) {
1405
- console.error(`[Pixi'VN] Ticker ${tickerName} not found`);
1432
+ if (!geTickerInstanceById(tickerId, ticker.args, ticker.duration, ticker.priority)) {
1433
+ console.error(`[Pixi'VN] Ticker ${tickerId} not found`);
1406
1434
  return;
1407
1435
  }
1408
1436
  let tickerHistory = {
1409
1437
  fn: () => {
1410
1438
  },
1411
- className: tickerName,
1439
+ id: tickerId,
1412
1440
  args: createExportableElement(ticker.args),
1413
1441
  canvasElementTags: canvasElementTag,
1414
1442
  priority: ticker.priority,
@@ -1424,11 +1452,11 @@ var _GameWindowManager = class _GameWindowManager {
1424
1452
  _GameWindowManager.removeTicker(id);
1425
1453
  }
1426
1454
  }, ticker.duration * 1e3);
1427
- _GameWindowManager.addTickerTimeoutInfo(canvasElementTag, tickerName, timeout.toString(), true);
1455
+ _GameWindowManager.addTickerTimeoutInfo(canvasElementTag, tickerId, timeout.toString(), true);
1428
1456
  }
1429
1457
  }
1430
1458
  static pushTicker(id, tickerData, ticker) {
1431
- _GameWindowManager.removeAssociationBetweenTickerCanvasElement(tickerData.canvasElementTags, tickerData);
1459
+ _GameWindowManager.removeAssociationBetweenTickerCanvasElement(tickerData.canvasElementTags, ticker);
1432
1460
  _GameWindowManager._currentTickers[id] = tickerData;
1433
1461
  tickerData.fn = (t) => {
1434
1462
  let data = _GameWindowManager._currentTickers[id];
@@ -1469,9 +1497,9 @@ var _GameWindowManager = class _GameWindowManager {
1469
1497
  if (step.hasOwnProperty("type") && step.type === "pause") {
1470
1498
  return step;
1471
1499
  }
1472
- let tickerName = step.constructor.name;
1500
+ let tickerId = step.id;
1473
1501
  return {
1474
- ticker: tickerName,
1502
+ ticker: tickerId,
1475
1503
  args: createExportableElement(step.args),
1476
1504
  duration: step.duration
1477
1505
  };
@@ -1509,16 +1537,16 @@ var _GameWindowManager = class _GameWindowManager {
1509
1537
  _GameWindowManager.addTickerTimeoutInfo(tag, "steps", timeout.toString(), false);
1510
1538
  return;
1511
1539
  }
1512
- let ticker = geTickerInstanceByClassName(step.ticker, step.args, step.duration, step.priority);
1540
+ let ticker = geTickerInstanceById(step.ticker, step.args, step.duration, step.priority);
1513
1541
  if (!ticker) {
1514
1542
  console.error(`[Pixi'VN] Ticker ${step.ticker} not found`);
1515
1543
  return;
1516
1544
  }
1517
- let tickerName = ticker.constructor.name;
1545
+ let tickerName = ticker.id;
1518
1546
  let tickerHistory = {
1519
1547
  fn: () => {
1520
1548
  },
1521
- className: tickerName,
1549
+ id: tickerName,
1522
1550
  args: createExportableElement(ticker.args),
1523
1551
  canvasElementTags: [tag],
1524
1552
  priority: ticker.priority,
@@ -1575,26 +1603,26 @@ var _GameWindowManager = class _GameWindowManager {
1575
1603
  * ```
1576
1604
  */
1577
1605
  static removeAssociationBetweenTickerCanvasElement(tags, ticker) {
1578
- let tickerName;
1606
+ let tickerId;
1579
1607
  if (typeof ticker === "string") {
1580
- tickerName = ticker;
1608
+ tickerId = ticker;
1581
1609
  } else if (ticker instanceof TickerBase) {
1582
- tickerName = ticker.constructor.name;
1610
+ tickerId = ticker.id;
1583
1611
  } else {
1584
- tickerName = ticker.name;
1612
+ tickerId = ticker.prototype.id;
1585
1613
  }
1586
1614
  if (typeof tags === "string") {
1587
1615
  tags = [tags];
1588
1616
  }
1589
1617
  for (let id in _GameWindowManager._currentTickers) {
1590
1618
  let ticker2 = _GameWindowManager._currentTickers[id];
1591
- if (ticker2.className === tickerName) {
1619
+ if (ticker2.id === tickerId) {
1592
1620
  _GameWindowManager._currentTickers[id].canvasElementTags = ticker2.canvasElementTags.filter((e) => !tags.includes(e));
1593
1621
  }
1594
1622
  }
1595
1623
  for (let timeout in _GameWindowManager._currentTickersTimeouts) {
1596
1624
  let TickerTimeout = _GameWindowManager._currentTickersTimeouts[timeout];
1597
- if (TickerTimeout.ticker === tickerName && TickerTimeout.canBeDeletedBeforeEnd) {
1625
+ if (TickerTimeout.ticker === tickerId && TickerTimeout.canBeDeletedBeforeEnd) {
1598
1626
  _GameWindowManager._currentTickersTimeouts[timeout].tags = TickerTimeout.tags.filter((t) => !tags.includes(t));
1599
1627
  }
1600
1628
  }
@@ -1780,11 +1808,11 @@ var _GameWindowManager = class _GameWindowManager {
1780
1808
  for (let id in currentTickers) {
1781
1809
  let t = currentTickers[id];
1782
1810
  let tags = t.canvasElementTags;
1783
- let ticker = geTickerInstanceByClassName(t.className, t.args, t.duration, t.priority);
1811
+ let ticker = geTickerInstanceById(t.id, t.args, t.duration, t.priority);
1784
1812
  if (ticker) {
1785
1813
  _GameWindowManager.addTicker(tags, ticker);
1786
1814
  } else {
1787
- console.error(`[Pixi'VN] Ticker ${t.className} not found`);
1815
+ console.error(`[Pixi'VN] Ticker ${t.id} not found`);
1788
1816
  }
1789
1817
  }
1790
1818
  }
@@ -1985,6 +2013,13 @@ var _GameStepManager = class _GameStepManager {
1985
2013
  _GameStepManager._openedLabels = _GameStepManager.originalStepData.openedLabels;
1986
2014
  }
1987
2015
  /* Run Methods */
2016
+ static get canGoNext() {
2017
+ let options = getChoiceMenuOptions();
2018
+ if (options && options.length > 0) {
2019
+ return false;
2020
+ }
2021
+ return true;
2022
+ }
1988
2023
  /**
1989
2024
  * Execute the next step and add it to the history.
1990
2025
  * @param props The props to pass to the step.
@@ -1994,7 +2029,7 @@ var _GameStepManager = class _GameStepManager {
1994
2029
  * ```typescript
1995
2030
  * function nextOnClick() {
1996
2031
  * setLoading(true)
1997
- * GameStepManager.runNextStep(yourParams)
2032
+ * GameStepManager.goNext(yourParams)
1998
2033
  * .then((result) => {
1999
2034
  * setUpdate((p) => p + 1)
2000
2035
  * setLoading(false)
@@ -2009,8 +2044,12 @@ var _GameStepManager = class _GameStepManager {
2009
2044
  * }
2010
2045
  * ```
2011
2046
  */
2012
- static runNextStep(props, choiseMade) {
2047
+ static goNext(props, choiseMade) {
2013
2048
  return __async(this, null, function* () {
2049
+ if (!_GameStepManager.canGoNext) {
2050
+ console.warn("[Pixi'VN] The player must make a choice");
2051
+ return;
2052
+ }
2014
2053
  _GameStepManager.increaseCurrentStepIndex();
2015
2054
  return yield _GameStepManager.runCurrentStep(props, choiseMade);
2016
2055
  });
@@ -2041,7 +2080,7 @@ var _GameStepManager = class _GameStepManager {
2041
2080
  return result;
2042
2081
  } else if (_GameStepManager.openedLabels.length > 1) {
2043
2082
  _GameStepManager.closeCurrentLabel();
2044
- return yield _GameStepManager.runNextStep(props, choiseMade);
2083
+ return yield _GameStepManager.goNext(props, choiseMade);
2045
2084
  } else {
2046
2085
  _GameStepManager.restorLastLabelList();
2047
2086
  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");
@@ -2189,7 +2228,7 @@ var _GameStepManager = class _GameStepManager {
2189
2228
  if (choice.closeCurrentLabel) {
2190
2229
  _GameStepManager.closeCurrentLabel();
2191
2230
  }
2192
- return _GameStepManager.runNextStep(props, choiseMade);
2231
+ return _GameStepManager.goNext(props, choiseMade);
2193
2232
  });
2194
2233
  }
2195
2234
  /* After Update Methods */
@@ -2430,15 +2469,15 @@ var DialogueBaseModel = class {
2430
2469
  if (typeof text === "string") {
2431
2470
  this.text = text;
2432
2471
  if (typeof character === "string") {
2433
- this.characterId = character;
2472
+ this.character = character;
2434
2473
  } else {
2435
- this.characterId = character == null ? void 0 : character.id;
2474
+ this.character = character == null ? void 0 : character.id;
2436
2475
  }
2437
2476
  this.oltherParams = oltherParams;
2438
2477
  } else {
2439
2478
  this.text = text.text;
2440
- if (text.characterId) {
2441
- this.characterId = text.characterId;
2479
+ if (text.character) {
2480
+ this.character = text.character;
2442
2481
  }
2443
2482
  this.oltherParams = text.oltherParams || {};
2444
2483
  }
@@ -2451,7 +2490,7 @@ var DialogueBaseModel = class {
2451
2490
  export() {
2452
2491
  return {
2453
2492
  text: this.text,
2454
- characterId: this.characterId,
2493
+ character: this.character,
2455
2494
  oltherParams: this.oltherParams
2456
2495
  };
2457
2496
  }
@@ -2460,21 +2499,21 @@ var DialogueBaseModel = class {
2460
2499
  // src/functions/DialogueUtility.ts
2461
2500
  function setDialogue(props) {
2462
2501
  let text = "";
2463
- let characterId = void 0;
2502
+ let character = void 0;
2464
2503
  let dialogue;
2465
2504
  if (typeof props === "string") {
2466
2505
  text = props;
2467
- dialogue = new DialogueBaseModel(text, characterId);
2506
+ dialogue = new DialogueBaseModel(text, character);
2468
2507
  } else if (!(props instanceof DialogueBaseModel)) {
2469
2508
  text = props.text;
2470
2509
  if (props.character) {
2471
2510
  if (typeof props.character === "string") {
2472
- characterId = props.character;
2511
+ character = props.character;
2473
2512
  } else {
2474
- characterId = props.character.id;
2513
+ character = props.character.id;
2475
2514
  }
2476
2515
  }
2477
- dialogue = new DialogueBaseModel(text, characterId);
2516
+ dialogue = new DialogueBaseModel(text, character);
2478
2517
  } else {
2479
2518
  dialogue = props;
2480
2519
  }