@drincs/pixi-vn 0.6.0 → 0.6.1

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 (373) hide show
  1. package/dist/{TickerBase-RQDWNI4K.d.ts → TickerBase-BAUiHet_.d.ts} +18 -13
  2. package/dist/{TickerBase-B5CQCJs8.d.mts → TickerBase-BctFf13y.d.mts} +18 -13
  3. package/dist/classes/CanvasEvent.d.mts +1 -1
  4. package/dist/classes/CanvasEvent.d.ts +1 -1
  5. package/dist/classes/CanvasEvent.js.map +1 -1
  6. package/dist/classes/CanvasEvent.mjs.map +1 -1
  7. package/dist/classes/CharacterBaseModel.d.mts +2 -26
  8. package/dist/classes/CharacterBaseModel.d.ts +2 -26
  9. package/dist/classes/CharacterBaseModel.js +464 -189
  10. package/dist/classes/CharacterBaseModel.js.map +1 -1
  11. package/dist/classes/CharacterBaseModel.mjs +460 -189
  12. package/dist/classes/CharacterBaseModel.mjs.map +1 -1
  13. package/dist/classes/ChoiceMenuOption.d.mts +27 -17
  14. package/dist/classes/ChoiceMenuOption.d.ts +27 -17
  15. package/dist/classes/ChoiceMenuOption.js +467 -190
  16. package/dist/classes/ChoiceMenuOption.js.map +1 -1
  17. package/dist/classes/ChoiceMenuOption.mjs +463 -190
  18. package/dist/classes/ChoiceMenuOption.mjs.map +1 -1
  19. package/dist/classes/CloseLabel.d.mts +1 -1
  20. package/dist/classes/CloseLabel.d.ts +1 -1
  21. package/dist/classes/CloseLabel.js.map +1 -1
  22. package/dist/classes/CloseLabel.mjs.map +1 -1
  23. package/dist/classes/DialogueBaseModel.d.mts +1 -0
  24. package/dist/classes/DialogueBaseModel.d.ts +1 -0
  25. package/dist/classes/StoredClassModel.d.mts +2 -2
  26. package/dist/classes/StoredClassModel.d.ts +2 -2
  27. package/dist/classes/StoredClassModel.js +464 -189
  28. package/dist/classes/StoredClassModel.js.map +1 -1
  29. package/dist/classes/StoredClassModel.mjs +460 -189
  30. package/dist/classes/StoredClassModel.mjs.map +1 -1
  31. package/dist/classes/canvas/CanvasContainer.js.map +1 -1
  32. package/dist/classes/canvas/CanvasContainer.mjs.map +1 -1
  33. package/dist/classes/canvas/CanvasImage.d.mts +2 -2
  34. package/dist/classes/canvas/CanvasImage.d.ts +2 -2
  35. package/dist/classes/canvas/CanvasImage.js.map +1 -1
  36. package/dist/classes/canvas/CanvasImage.mjs.map +1 -1
  37. package/dist/classes/canvas/CanvasSprite.d.mts +1 -1
  38. package/dist/classes/canvas/CanvasSprite.d.ts +1 -1
  39. package/dist/classes/canvas/CanvasSprite.js.map +1 -1
  40. package/dist/classes/canvas/CanvasSprite.mjs.map +1 -1
  41. package/dist/classes/canvas/CanvasText.d.mts +2 -2
  42. package/dist/classes/canvas/CanvasText.d.ts +2 -2
  43. package/dist/classes/canvas/CanvasText.js.map +1 -1
  44. package/dist/classes/canvas/CanvasText.mjs.map +1 -1
  45. package/dist/classes/canvas/index.js.map +1 -1
  46. package/dist/classes/canvas/index.mjs.map +1 -1
  47. package/dist/classes/index.d.mts +5 -4
  48. package/dist/classes/index.d.ts +5 -4
  49. package/dist/classes/index.js +467 -190
  50. package/dist/classes/index.js.map +1 -1
  51. package/dist/classes/index.mjs +463 -190
  52. package/dist/classes/index.mjs.map +1 -1
  53. package/dist/classes/ticker/FadeAlphaTicker.d.mts +26 -0
  54. package/dist/classes/ticker/FadeAlphaTicker.d.ts +26 -0
  55. package/dist/classes/ticker/{TickerFadeAlpha.js → FadeAlphaTicker.js} +469 -196
  56. package/dist/classes/ticker/FadeAlphaTicker.js.map +1 -0
  57. package/dist/classes/ticker/{TickerRotate.mjs → FadeAlphaTicker.mjs} +491 -222
  58. package/dist/classes/ticker/FadeAlphaTicker.mjs.map +1 -0
  59. package/dist/classes/ticker/MoveTicker.d.mts +24 -0
  60. package/dist/classes/ticker/MoveTicker.d.ts +24 -0
  61. package/dist/classes/ticker/MoveTicker.js +1605 -0
  62. package/dist/classes/ticker/MoveTicker.js.map +1 -0
  63. package/dist/classes/ticker/{TickerMove.mjs → MoveTicker.mjs} +463 -192
  64. package/dist/classes/ticker/MoveTicker.mjs.map +1 -0
  65. package/dist/classes/ticker/RotateTicker.d.mts +26 -0
  66. package/dist/classes/ticker/RotateTicker.d.ts +26 -0
  67. package/dist/classes/ticker/{TickerRotate.js → RotateTicker.js} +464 -189
  68. package/dist/classes/ticker/RotateTicker.js.map +1 -0
  69. package/dist/classes/ticker/RotateTicker.mjs +1599 -0
  70. package/dist/classes/ticker/RotateTicker.mjs.map +1 -0
  71. package/dist/classes/ticker/TickerBase.d.mts +1 -1
  72. package/dist/classes/ticker/TickerBase.d.ts +1 -1
  73. package/dist/classes/ticker/TickerBase.js +7 -6
  74. package/dist/classes/ticker/TickerBase.js.map +1 -1
  75. package/dist/classes/ticker/TickerBase.mjs +7 -6
  76. package/dist/classes/ticker/TickerBase.mjs.map +1 -1
  77. package/dist/classes/ticker/ZoomTicker.d.mts +25 -0
  78. package/dist/classes/ticker/ZoomTicker.d.ts +25 -0
  79. package/dist/classes/ticker/{TickerMove.js → ZoomTicker.js} +474 -199
  80. package/dist/classes/ticker/ZoomTicker.js.map +1 -0
  81. package/dist/classes/ticker/{TickerFadeAlpha.mjs → ZoomTicker.mjs} +472 -201
  82. package/dist/classes/ticker/ZoomTicker.mjs.map +1 -0
  83. package/dist/classes/ticker/index.d.mts +10 -8
  84. package/dist/classes/ticker/index.d.ts +10 -8
  85. package/dist/classes/ticker/index.js +479 -206
  86. package/dist/classes/ticker/index.js.map +1 -1
  87. package/dist/classes/ticker/index.mjs +476 -207
  88. package/dist/classes/ticker/index.mjs.map +1 -1
  89. package/dist/constants.d.mts +12 -2
  90. package/dist/constants.d.ts +12 -2
  91. package/dist/constants.js +10 -1
  92. package/dist/constants.js.map +1 -1
  93. package/dist/constants.mjs +9 -2
  94. package/dist/constants.mjs.map +1 -1
  95. package/dist/decorators/CanvasElementDecorator.js.map +1 -1
  96. package/dist/decorators/CanvasElementDecorator.mjs.map +1 -1
  97. package/dist/decorators/CharacterDecorator.d.mts +1 -0
  98. package/dist/decorators/CharacterDecorator.d.ts +1 -0
  99. package/dist/decorators/CharacterDecorator.js +1 -1
  100. package/dist/decorators/CharacterDecorator.js.map +1 -1
  101. package/dist/decorators/CharacterDecorator.mjs +1 -1
  102. package/dist/decorators/CharacterDecorator.mjs.map +1 -1
  103. package/dist/decorators/EventDecorator.js +1 -1
  104. package/dist/decorators/EventDecorator.js.map +1 -1
  105. package/dist/decorators/EventDecorator.mjs +1 -1
  106. package/dist/decorators/EventDecorator.mjs.map +1 -1
  107. package/dist/decorators/LabelDecorator.d.mts +4 -3
  108. package/dist/decorators/LabelDecorator.d.ts +4 -3
  109. package/dist/decorators/LabelDecorator.js +465 -190
  110. package/dist/decorators/LabelDecorator.js.map +1 -1
  111. package/dist/decorators/LabelDecorator.mjs +461 -190
  112. package/dist/decorators/LabelDecorator.mjs.map +1 -1
  113. package/dist/decorators/TickerDecorator.d.mts +6 -3
  114. package/dist/decorators/TickerDecorator.d.ts +6 -3
  115. package/dist/decorators/TickerDecorator.js +1 -1
  116. package/dist/decorators/TickerDecorator.js.map +1 -1
  117. package/dist/decorators/TickerDecorator.mjs +1 -1
  118. package/dist/decorators/TickerDecorator.mjs.map +1 -1
  119. package/dist/decorators/index.d.mts +4 -3
  120. package/dist/decorators/index.d.ts +4 -3
  121. package/dist/decorators/index.js +467 -192
  122. package/dist/decorators/index.js.map +1 -1
  123. package/dist/decorators/index.mjs +463 -192
  124. package/dist/decorators/index.mjs.map +1 -1
  125. package/dist/functions/CanvasUtility.js.map +1 -1
  126. package/dist/functions/CanvasUtility.mjs.map +1 -1
  127. package/dist/functions/DialogueUtility.d.mts +6 -4
  128. package/dist/functions/DialogueUtility.d.ts +6 -4
  129. package/dist/functions/DialogueUtility.js +506 -213
  130. package/dist/functions/DialogueUtility.js.map +1 -1
  131. package/dist/functions/DialogueUtility.mjs +506 -213
  132. package/dist/functions/DialogueUtility.mjs.map +1 -1
  133. package/dist/functions/FlagsUtility.js +464 -189
  134. package/dist/functions/FlagsUtility.js.map +1 -1
  135. package/dist/functions/FlagsUtility.mjs +460 -189
  136. package/dist/functions/FlagsUtility.mjs.map +1 -1
  137. package/dist/functions/GameUtility.js +464 -189
  138. package/dist/functions/GameUtility.js.map +1 -1
  139. package/dist/functions/GameUtility.mjs +460 -189
  140. package/dist/functions/GameUtility.mjs.map +1 -1
  141. package/dist/functions/ImageUtility.d.mts +47 -7
  142. package/dist/functions/ImageUtility.d.ts +47 -7
  143. package/dist/functions/ImageUtility.js +554 -215
  144. package/dist/functions/ImageUtility.js.map +1 -1
  145. package/dist/functions/ImageUtility.mjs +546 -215
  146. package/dist/functions/ImageUtility.mjs.map +1 -1
  147. package/dist/functions/SavesUtility.d.mts +9 -5
  148. package/dist/functions/SavesUtility.d.ts +9 -5
  149. package/dist/functions/SavesUtility.js +485 -196
  150. package/dist/functions/SavesUtility.js.map +1 -1
  151. package/dist/functions/SavesUtility.mjs +485 -196
  152. package/dist/functions/SavesUtility.mjs.map +1 -1
  153. package/dist/functions/TickerUtility.d.mts +1 -1
  154. package/dist/functions/TickerUtility.d.ts +1 -1
  155. package/dist/functions/TickerUtility.js +32 -18
  156. package/dist/functions/TickerUtility.js.map +1 -1
  157. package/dist/functions/TickerUtility.mjs +32 -18
  158. package/dist/functions/TickerUtility.mjs.map +1 -1
  159. package/dist/functions/index.d.mts +15 -8
  160. package/dist/functions/index.d.ts +15 -8
  161. package/dist/functions/index.js +570 -213
  162. package/dist/functions/index.js.map +1 -1
  163. package/dist/functions/index.mjs +566 -213
  164. package/dist/functions/index.mjs.map +1 -1
  165. package/dist/index.d.mts +23 -14
  166. package/dist/index.d.ts +23 -14
  167. package/dist/index.js +990 -224
  168. package/dist/index.js.map +1 -1
  169. package/dist/index.mjs +984 -223
  170. package/dist/index.mjs.map +1 -1
  171. package/dist/interface/CharacterBaseModelProps.d.mts +27 -0
  172. package/dist/interface/CharacterBaseModelProps.d.ts +27 -0
  173. package/dist/interface/CharacterBaseModelProps.js +4 -0
  174. package/dist/interface/CharacterBaseModelProps.mjs +3 -0
  175. package/dist/interface/DialogueHistory.d.mts +3 -7
  176. package/dist/interface/DialogueHistory.d.ts +3 -7
  177. package/dist/interface/IHistoryStep.d.mts +12 -8
  178. package/dist/interface/IHistoryStep.d.ts +12 -8
  179. package/dist/interface/ISaveData.d.mts +8 -4
  180. package/dist/interface/ISaveData.d.ts +8 -4
  181. package/dist/interface/ITicker.d.mts +1 -1
  182. package/dist/interface/ITicker.d.ts +1 -1
  183. package/dist/interface/ITickersSteps.d.mts +3 -3
  184. package/dist/interface/ITickersSteps.d.ts +3 -3
  185. package/dist/interface/{IClassWithArgsHistory.d.mts → TickerHistory.d.mts} +9 -5
  186. package/dist/interface/{IClassWithArgsHistory.d.ts → TickerHistory.d.ts} +9 -5
  187. package/dist/{types/ticker/TickerMoveProps.js → interface/TickerHistory.js} +1 -1
  188. package/dist/interface/TickerHistory.mjs +3 -0
  189. package/dist/interface/TickerProgrationType.d.mts +13 -1
  190. package/dist/interface/TickerProgrationType.d.ts +13 -1
  191. package/dist/interface/TickerTimeoutHistory.d.mts +7 -0
  192. package/dist/interface/TickerTimeoutHistory.d.ts +7 -0
  193. package/dist/interface/TickerTimeoutHistory.js +4 -0
  194. package/dist/interface/TickerTimeoutHistory.mjs +3 -0
  195. package/dist/interface/canvas/ICanvasImageMemory.d.mts +1 -1
  196. package/dist/interface/canvas/ICanvasImageMemory.d.ts +1 -1
  197. package/dist/interface/canvas/ICanvasSpriteMemory.d.mts +1 -1
  198. package/dist/interface/canvas/ICanvasSpriteMemory.d.ts +1 -1
  199. package/dist/interface/canvas/ICanvasTextTextMemory.d.mts +1 -1
  200. package/dist/interface/canvas/ICanvasTextTextMemory.d.ts +1 -1
  201. package/dist/interface/export/ExportedCanvas.d.mts +11 -3
  202. package/dist/interface/export/ExportedCanvas.d.ts +11 -3
  203. package/dist/interface/export/ExportedStep.d.mts +7 -3
  204. package/dist/interface/export/ExportedStep.d.ts +7 -3
  205. package/dist/interface/export/index.d.mts +8 -4
  206. package/dist/interface/export/index.d.ts +8 -4
  207. package/dist/interface/index.d.mts +14 -11
  208. package/dist/interface/index.d.ts +14 -11
  209. package/dist/labels/BaseCanvasElementTestLabel.d.mts +9 -0
  210. package/dist/labels/BaseCanvasElementTestLabel.d.ts +9 -0
  211. package/dist/labels/BaseCanvasElementTestLabel.js +1860 -0
  212. package/dist/labels/BaseCanvasElementTestLabel.js.map +1 -0
  213. package/dist/labels/BaseCanvasElementTestLabel.mjs +1854 -0
  214. package/dist/labels/BaseCanvasElementTestLabel.mjs.map +1 -0
  215. package/dist/labels/EventsTestLabel.d.mts +30 -0
  216. package/dist/labels/EventsTestLabel.d.ts +30 -0
  217. package/dist/labels/EventsTestLabel.js +2600 -0
  218. package/dist/labels/EventsTestLabel.js.map +1 -0
  219. package/dist/labels/EventsTestLabel.mjs +2594 -0
  220. package/dist/labels/EventsTestLabel.mjs.map +1 -0
  221. package/dist/labels/MarkdownTest.d.mts +9 -0
  222. package/dist/labels/MarkdownTest.d.ts +9 -0
  223. package/dist/labels/MarkdownTest.js +2686 -0
  224. package/dist/labels/MarkdownTest.js.map +1 -0
  225. package/dist/labels/MarkdownTest.mjs +2680 -0
  226. package/dist/labels/MarkdownTest.mjs.map +1 -0
  227. package/dist/labels/ShowImageTest.d.mts +9 -0
  228. package/dist/labels/ShowImageTest.d.ts +9 -0
  229. package/dist/labels/ShowImageTest.js +3087 -0
  230. package/dist/labels/ShowImageTest.js.map +1 -0
  231. package/dist/labels/ShowImageTest.mjs +3081 -0
  232. package/dist/labels/ShowImageTest.mjs.map +1 -0
  233. package/dist/labels/StartLabel.d.mts +10 -0
  234. package/dist/labels/StartLabel.d.ts +10 -0
  235. package/dist/labels/StartLabel.js +3199 -0
  236. package/dist/labels/StartLabel.js.map +1 -0
  237. package/dist/labels/StartLabel.mjs +3192 -0
  238. package/dist/labels/StartLabel.mjs.map +1 -0
  239. package/dist/labels/TestConstant.d.mts +15 -0
  240. package/dist/labels/TestConstant.d.ts +15 -0
  241. package/dist/labels/TestConstant.js +1840 -0
  242. package/dist/labels/TestConstant.js.map +1 -0
  243. package/dist/labels/TestConstant.mjs +1826 -0
  244. package/dist/labels/TestConstant.mjs.map +1 -0
  245. package/dist/labels/TickerTestLabel.d.mts +9 -0
  246. package/dist/labels/TickerTestLabel.d.ts +9 -0
  247. package/dist/labels/TickerTestLabel.js +2605 -0
  248. package/dist/labels/TickerTestLabel.js.map +1 -0
  249. package/dist/labels/TickerTestLabel.mjs +2599 -0
  250. package/dist/labels/TickerTestLabel.mjs.map +1 -0
  251. package/dist/labels/TintingTestLabel.d.mts +19 -0
  252. package/dist/labels/TintingTestLabel.d.ts +19 -0
  253. package/dist/labels/TintingTestLabel.js +1786 -0
  254. package/dist/labels/TintingTestLabel.js.map +1 -0
  255. package/dist/labels/TintingTestLabel.mjs +1780 -0
  256. package/dist/labels/TintingTestLabel.mjs.map +1 -0
  257. package/dist/labels/index.d.mts +10 -0
  258. package/dist/labels/index.d.ts +10 -0
  259. package/dist/labels/index.js +3199 -0
  260. package/dist/labels/index.js.map +1 -0
  261. package/dist/labels/index.mjs +3192 -0
  262. package/dist/labels/index.mjs.map +1 -0
  263. package/dist/managers/StepManager.d.mts +18 -13
  264. package/dist/managers/StepManager.d.ts +18 -13
  265. package/dist/managers/StepManager.js +483 -194
  266. package/dist/managers/StepManager.js.map +1 -1
  267. package/dist/managers/StepManager.mjs +483 -194
  268. package/dist/managers/StepManager.mjs.map +1 -1
  269. package/dist/managers/WindowManager.d.mts +38 -24
  270. package/dist/managers/WindowManager.d.ts +38 -24
  271. package/dist/managers/WindowManager.js +280 -118
  272. package/dist/managers/WindowManager.js.map +1 -1
  273. package/dist/managers/WindowManager.mjs +276 -118
  274. package/dist/managers/WindowManager.mjs.map +1 -1
  275. package/dist/managers/index.d.mts +15 -14
  276. package/dist/managers/index.d.ts +15 -14
  277. package/dist/managers/index.js +486 -195
  278. package/dist/managers/index.js.map +1 -1
  279. package/dist/managers/index.mjs +486 -195
  280. package/dist/managers/index.mjs.map +1 -1
  281. package/dist/types/CanvasEventNamesType.d.mts +1 -1
  282. package/dist/types/CanvasEventNamesType.d.ts +1 -1
  283. package/dist/types/ChoiceMenuOptionsType.d.mts +2 -2
  284. package/dist/types/ChoiceMenuOptionsType.d.ts +2 -2
  285. package/dist/types/HistoryChoiceMenuOption.d.mts +22 -0
  286. package/dist/types/HistoryChoiceMenuOption.d.ts +22 -0
  287. package/dist/types/HistoryChoiceMenuOption.js +4 -0
  288. package/dist/types/HistoryChoiceMenuOption.mjs +3 -0
  289. package/dist/types/PauseType.d.mts +8 -4
  290. package/dist/types/PauseType.d.ts +8 -4
  291. package/dist/types/PauseType.js +0 -11
  292. package/dist/types/PauseType.js.map +1 -1
  293. package/dist/types/PauseType.mjs +0 -9
  294. package/dist/types/PauseType.mjs.map +1 -1
  295. package/dist/types/RepeatType.d.mts +1 -2
  296. package/dist/types/RepeatType.d.ts +1 -2
  297. package/dist/types/RepeatType.js +0 -4
  298. package/dist/types/RepeatType.js.map +1 -1
  299. package/dist/types/RepeatType.mjs +0 -3
  300. package/dist/types/RepeatType.mjs.map +1 -1
  301. package/dist/types/index.d.mts +5 -4
  302. package/dist/types/index.d.ts +5 -4
  303. package/dist/types/index.js +0 -15
  304. package/dist/types/index.js.map +1 -1
  305. package/dist/types/index.mjs +1 -13
  306. package/dist/types/index.mjs.map +1 -1
  307. package/dist/types/ticker/{TickerFadeAlphaProps.d.mts → FadeAlphaTickerProps.d.mts} +9 -5
  308. package/dist/types/ticker/{TickerFadeAlphaProps.d.ts → FadeAlphaTickerProps.d.ts} +9 -5
  309. package/dist/types/ticker/FadeAlphaTickerProps.js +4 -0
  310. package/dist/types/ticker/FadeAlphaTickerProps.js.map +1 -0
  311. package/dist/types/ticker/FadeAlphaTickerProps.mjs +3 -0
  312. package/dist/types/ticker/FadeAlphaTickerProps.mjs.map +1 -0
  313. package/dist/types/ticker/MoveTickerProps.d.mts +35 -0
  314. package/dist/types/ticker/MoveTickerProps.d.ts +35 -0
  315. package/dist/types/ticker/{TickerRotateProps.js → MoveTickerProps.js} +1 -1
  316. package/dist/types/ticker/MoveTickerProps.js.map +1 -0
  317. package/dist/types/ticker/MoveTickerProps.mjs +3 -0
  318. package/dist/types/ticker/MoveTickerProps.mjs.map +1 -0
  319. package/dist/types/ticker/{TickerRotateProps.d.mts → RotateTickerProps.d.mts} +11 -5
  320. package/dist/types/ticker/{TickerRotateProps.d.ts → RotateTickerProps.d.ts} +11 -5
  321. package/dist/types/ticker/RotateTickerProps.js +4 -0
  322. package/dist/types/ticker/RotateTickerProps.js.map +1 -0
  323. package/dist/types/ticker/RotateTickerProps.mjs +3 -0
  324. package/dist/types/ticker/RotateTickerProps.mjs.map +1 -0
  325. package/dist/types/ticker/TagToRemoveAfterType.d.mts +4 -0
  326. package/dist/types/ticker/TagToRemoveAfterType.d.ts +4 -0
  327. package/dist/types/ticker/TagToRemoveAfterType.js +8 -0
  328. package/dist/types/ticker/TagToRemoveAfterType.js.map +1 -0
  329. package/dist/types/ticker/TagToRemoveAfterType.mjs +6 -0
  330. package/dist/types/ticker/TagToRemoveAfterType.mjs.map +1 -0
  331. package/dist/types/ticker/ZoomTickerProps.d.mts +45 -0
  332. package/dist/types/ticker/ZoomTickerProps.d.ts +45 -0
  333. package/dist/types/ticker/ZoomTickerProps.js +4 -0
  334. package/dist/types/ticker/ZoomTickerProps.js.map +1 -0
  335. package/dist/types/ticker/ZoomTickerProps.mjs +3 -0
  336. package/dist/types/ticker/ZoomTickerProps.mjs.map +1 -0
  337. package/dist/types/ticker/index.d.mts +4 -2
  338. package/dist/types/ticker/index.d.ts +4 -2
  339. package/package.json +7 -7
  340. package/dist/classes/ticker/TickerFadeAlpha.d.mts +0 -31
  341. package/dist/classes/ticker/TickerFadeAlpha.d.ts +0 -31
  342. package/dist/classes/ticker/TickerFadeAlpha.js.map +0 -1
  343. package/dist/classes/ticker/TickerFadeAlpha.mjs.map +0 -1
  344. package/dist/classes/ticker/TickerMove.d.mts +0 -29
  345. package/dist/classes/ticker/TickerMove.d.ts +0 -29
  346. package/dist/classes/ticker/TickerMove.js.map +0 -1
  347. package/dist/classes/ticker/TickerMove.mjs.map +0 -1
  348. package/dist/classes/ticker/TickerRotate.d.mts +0 -30
  349. package/dist/classes/ticker/TickerRotate.d.ts +0 -30
  350. package/dist/classes/ticker/TickerRotate.js.map +0 -1
  351. package/dist/classes/ticker/TickerRotate.mjs.map +0 -1
  352. package/dist/functions/ErrorUtility.d.mts +0 -24
  353. package/dist/functions/ErrorUtility.d.ts +0 -24
  354. package/dist/functions/ErrorUtility.js +0 -261
  355. package/dist/functions/ErrorUtility.js.map +0 -1
  356. package/dist/functions/ErrorUtility.mjs +0 -258
  357. package/dist/functions/ErrorUtility.mjs.map +0 -1
  358. package/dist/interface/IClassWithArgsHistory.js +0 -4
  359. package/dist/interface/IClassWithArgsHistory.mjs +0 -3
  360. package/dist/types/ticker/TickerFadeAlphaProps.js +0 -4
  361. package/dist/types/ticker/TickerFadeAlphaProps.mjs +0 -3
  362. package/dist/types/ticker/TickerMoveProps.d.mts +0 -26
  363. package/dist/types/ticker/TickerMoveProps.d.ts +0 -26
  364. package/dist/types/ticker/TickerMoveProps.mjs +0 -3
  365. package/dist/types/ticker/TickerRotateProps.mjs +0 -3
  366. /package/dist/interface/{IClassWithArgsHistory.js.map → CharacterBaseModelProps.js.map} +0 -0
  367. /package/dist/interface/{IClassWithArgsHistory.mjs.map → CharacterBaseModelProps.mjs.map} +0 -0
  368. /package/dist/{types/ticker/TickerFadeAlphaProps.js.map → interface/TickerHistory.js.map} +0 -0
  369. /package/dist/{types/ticker/TickerFadeAlphaProps.mjs.map → interface/TickerHistory.mjs.map} +0 -0
  370. /package/dist/{types/ticker/TickerMoveProps.js.map → interface/TickerTimeoutHistory.js.map} +0 -0
  371. /package/dist/{types/ticker/TickerMoveProps.mjs.map → interface/TickerTimeoutHistory.mjs.map} +0 -0
  372. /package/dist/types/{ticker/TickerRotateProps.js.map → HistoryChoiceMenuOption.js.map} +0 -0
  373. /package/dist/types/{ticker/TickerRotateProps.mjs.map → HistoryChoiceMenuOption.mjs.map} +0 -0
@@ -27,8 +27,7 @@ var __decorateClass = (decorators, target, key, kind) => {
27
27
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
28
28
  if (decorator = decorators[i])
29
29
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
30
- if (kind && result)
31
- __defProp(target, key, result);
30
+ if (kind && result) __defProp(target, key, result);
32
31
  return result;
33
32
  };
34
33
  var __async = (__this, __arguments, generator) => {
@@ -603,7 +602,7 @@ function tickerDecorator(name) {
603
602
  name = target.name;
604
603
  }
605
604
  if (registeredTickers[name]) {
606
- console.warn(`[Pixi'VN] Ticker ${name} already exists, it will be overwritten`);
605
+ console.info(`[Pixi'VN] Ticker ${name} already exists, it will be overwritten`);
607
606
  }
608
607
  registeredTickers[name] = target;
609
608
  };
@@ -622,12 +621,6 @@ function geTickerInstanceByClassName(tickerName, args, duration, priority) {
622
621
  }
623
622
  }
624
623
 
625
- // src/types/PauseType.ts
626
- var PauseValueType = "pause";
627
-
628
- // src/types/RepeatType.ts
629
- var Repeat = "repeat";
630
-
631
624
  // src/decorators/LabelDecorator.ts
632
625
  var registeredLabels = {};
633
626
  function getLabelById(id) {
@@ -648,8 +641,8 @@ function getDialogue() {
648
641
  var TickerBase = class {
649
642
  /**
650
643
  * @param args The arguments that you want to pass to the ticker.
651
- * @param duration The duration of the ticker. If is undefined, the ticker will be called every frame.
652
- * @param priority The priority of the ticker. If is undefined, the priority will be UPDATE_PRIORITY.NORMAL.
644
+ * @param duration The duration of the ticker in seconds. If is undefined, the step will end only when the animation is finished (if the animation doesn't have a goal to reach then it won't finish). @default undefined
645
+ * @param priority The priority of the ticker. @default UPDATE_PRIORITY.NORMAL
653
646
  */
654
647
  constructor(args, duration, priority) {
655
648
  this.args = args;
@@ -659,28 +652,26 @@ var TickerBase = class {
659
652
  /**
660
653
  * The method that will be called every frame.
661
654
  * This method should be overridden and you can use GameWindowManager.addCanvasElement() to get the canvas element of the canvas, and edit them.
662
- * @param t The ticker that is calling this method
663
- * @param args The arguments that you passed when you added the ticker
664
- * @param tags The tags of the canvas elements that are connected to this ticker
655
+ * @param _ticker The ticker that is calling this method
656
+ * @param _args The arguments that you passed when you added the ticker
657
+ * @param _tags The tags of the canvas elements that are connected to this ticker
658
+ * @param _tickerId The id of the ticker. You can use this to get the ticker from the {@link GameWindowManager.currentTickers}
665
659
  */
666
- fn(_t, _args, _tags) {
660
+ fn(_ticker, _args, _tags, _tickerId) {
667
661
  throw new Error("[Pixi'VN] The method TickerBase.fn() must be overridden");
668
662
  }
669
663
  };
670
- var TickerFadeAlpha = class extends TickerBase {
671
- /**
672
- * The method that will be called every frame to fade the alpha of the canvas element of the canvas.
673
- * @param delta The delta time
674
- * @param args The arguments that are passed to the ticker
675
- * @param tags The tags of the canvas element that are connected to this ticker
676
- */
677
- fn(t, args, tags) {
664
+
665
+ // src/classes/ticker/FadeAlphaTicker.ts
666
+ var FadeAlphaTicker = class extends TickerBase {
667
+ fn(ticker, args, tags, tickerId) {
678
668
  let type = args.type === void 0 ? "hide" : args.type;
679
- let speed = args.speed === void 0 ? 0.1 : args.speed;
669
+ let duration = args.duration === void 0 ? 1 : args.duration;
670
+ let speed = 1 / (duration * 60);
680
671
  let limit = args.limit === void 0 ? type === "hide" ? 0 : 1 : args.limit;
681
- let removeElementAfter = args.tagToRemoveAfter || [];
682
- if (typeof removeElementAfter === "string") {
683
- removeElementAfter = [removeElementAfter];
672
+ let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
673
+ if (typeof tagToRemoveAfter2 === "string") {
674
+ tagToRemoveAfter2 = [tagToRemoveAfter2];
684
675
  }
685
676
  if (type === "hide" && limit < 0) {
686
677
  limit = 0;
@@ -701,61 +692,88 @@ var TickerFadeAlpha = class extends TickerBase {
701
692
  let element = GameWindowManager.getCanvasElement(tag);
702
693
  if (element && element instanceof Container) {
703
694
  if (type === "show" && element.alpha < limit) {
704
- element.alpha += speed * t.deltaTime;
695
+ element.alpha += speed * ticker.deltaTime;
705
696
  } else if (type === "hide" && element.alpha > limit) {
706
- element.alpha -= speed * t.deltaTime;
707
- } else {
697
+ element.alpha -= speed * ticker.deltaTime;
698
+ }
699
+ if (type === "show" && element.alpha >= limit) {
700
+ element.alpha = limit;
701
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
702
+ } else if (type === "hide" && element.alpha <= limit) {
708
703
  element.alpha = limit;
709
- GameWindowManager.removeAssociationBetweenTickerCanvasElement(tag, this);
710
- GameWindowManager.removeCanvasElement(removeElementAfter);
704
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
711
705
  }
712
706
  }
713
707
  });
714
708
  }
715
709
  };
716
- TickerFadeAlpha = __decorateClass([
710
+ FadeAlphaTicker = __decorateClass([
717
711
  tickerDecorator()
718
- ], TickerFadeAlpha);
712
+ ], FadeAlphaTicker);
719
713
 
720
714
  // src/functions/TickerUtility.ts
721
715
  function updateTickerProgression(args, propertyName, progression) {
722
- if (args.hasOwnProperty(propertyName) && typeof args[propertyName] !== "number") {
716
+ if (args[propertyName] === void 0 || !progression || args[propertyName] === progression.limit) {
723
717
  return;
724
718
  }
725
- if (args[propertyName] !== void 0 && progression && args[propertyName] !== progression.limit) {
719
+ if (typeof args[propertyName] === "number") {
726
720
  if (progression.type === "linear") {
727
- args[propertyName] += progression.amt;
728
- if (progression.limit !== void 0) {
729
- if (args[propertyName] > progression.limit && progression.amt > 0) {
730
- args[propertyName] = progression.limit;
731
- } else if (args[propertyName] < progression.limit && progression.amt < 0) {
732
- args[propertyName] = progression.limit;
733
- }
734
- }
721
+ args[propertyName] = getLinearProgression(args[propertyName], progression);
735
722
  } else if (progression.type === "exponential") {
736
- args[propertyName] += args[propertyName] * progression.percentage;
737
- if (progression.limit !== void 0) {
738
- if (args[propertyName] > progression.limit && progression.percentage > 0) {
739
- args[propertyName] = progression.limit;
740
- } else if (args[propertyName] < progression.limit && progression.percentage < 0) {
741
- args[propertyName] = progression.limit;
742
- }
743
- }
723
+ args[propertyName] = getExponentialProgression(args[propertyName], progression);
724
+ }
725
+ } else if (args[propertyName] !== void 0 && typeof args[propertyName] === "object" && args[propertyName].haveOwnProperty("x") && args[propertyName].haveOwnProperty("y") && typeof args[propertyName].x === "number" && typeof args[propertyName].y === "number") {
726
+ if (progression.type === "linear") {
727
+ args[propertyName].x = getLinearProgression(args[propertyName].x, progression);
728
+ args[propertyName].y = getLinearProgression(args[propertyName].y, progression);
729
+ } else if (progression.type === "exponential") {
730
+ args[propertyName].x = getExponentialProgression(args[propertyName].x, progression);
731
+ args[propertyName].y = getExponentialProgression(args[propertyName].y, progression);
732
+ }
733
+ }
734
+ }
735
+ function getLinearProgression(number, progression) {
736
+ if (progression.limit !== void 0) {
737
+ if (number > progression.limit && progression.amt > 0) {
738
+ return progression.limit;
739
+ } else if (number < progression.limit && progression.amt < 0) {
740
+ return progression.limit;
741
+ }
742
+ }
743
+ return number + progression.amt / 60;
744
+ }
745
+ function getExponentialProgression(number, progression) {
746
+ if (progression.limit !== void 0) {
747
+ if (number > progression.limit && progression.percentage > 0) {
748
+ return progression.limit;
749
+ } else if (number < progression.limit && progression.percentage < 0) {
750
+ return progression.limit;
744
751
  }
745
752
  }
753
+ return number + number * progression.percentage;
746
754
  }
747
755
 
748
- // src/classes/ticker/TickerMove.ts
749
- var TickerMove = class extends TickerBase {
750
- /**
751
- * The method that will be called every frame to move the canvas element of the canvas.
752
- * @param t The ticker that is calling this method
753
- * @param args The arguments that are passed to the ticker
754
- * @param tags The tags of the canvas element that are connected to this ticker
755
- */
756
- fn(t, args, tags) {
757
- let speed = args.speed === void 0 ? 0.1 : args.speed;
756
+ // src/classes/ticker/MoveTicker.ts
757
+ var MoveTicker = class extends TickerBase {
758
+ fn(ticker, args, tags, tickerId) {
759
+ let xSpeed = 1;
760
+ let ySpeed = 1;
761
+ if (args.speed) {
762
+ if (typeof args.speed === "number") {
763
+ xSpeed = args.speed;
764
+ ySpeed = args.speed;
765
+ } else {
766
+ xSpeed = args.speed.x;
767
+ ySpeed = args.speed.y;
768
+ }
769
+ }
770
+ xSpeed /= 60;
771
+ ySpeed /= 60;
758
772
  let destination = args.destination;
773
+ let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
774
+ if (typeof tagToRemoveAfter2 === "string") {
775
+ tagToRemoveAfter2 = [tagToRemoveAfter2];
776
+ }
759
777
  tags.filter((tag) => {
760
778
  var _a;
761
779
  let element = GameWindowManager.getCanvasElement(tag);
@@ -768,41 +786,42 @@ var TickerMove = class extends TickerBase {
768
786
  }).forEach((tag) => {
769
787
  let element = GameWindowManager.getCanvasElement(tag);
770
788
  if (element && element instanceof Container) {
771
- let xDistance = destination.x - element.x;
789
+ let xDistance = destination.x - element.x > 0 ? 1 : -1;
772
790
  if (xDistance != 0) {
773
- element.x += xDistance / speed * t.deltaTime;
791
+ element.x += xDistance * xSpeed * ticker.deltaTime;
774
792
  let newDistance = destination.x - element.x;
775
793
  if (xDistance < 0 && newDistance > 0 || xDistance > 0 && newDistance < 0) {
776
794
  element.x = destination.x;
777
795
  }
778
796
  }
779
- let yDistance = destination.y - element.y;
797
+ let yDistance = destination.y - element.y > 0 ? 1 : -1;
780
798
  if (yDistance != 0) {
781
- element.y += yDistance / speed * t.deltaTime;
799
+ element.y += yDistance * ySpeed * ticker.deltaTime;
782
800
  let newDistance = destination.y - element.y;
783
801
  if (yDistance < 0 && newDistance > 0 || yDistance > 0 && newDistance < 0) {
784
802
  element.y = destination.y;
785
803
  }
786
804
  }
805
+ if (element.x == destination.x && element.y == destination.y) {
806
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
807
+ }
787
808
  }
788
809
  });
789
810
  if (args.speedProgression)
790
811
  updateTickerProgression(args, "speed", args.speedProgression);
791
812
  }
792
813
  };
793
- TickerMove = __decorateClass([
814
+ MoveTicker = __decorateClass([
794
815
  tickerDecorator()
795
- ], TickerMove);
796
- var TickerRotate = class extends TickerBase {
797
- /**
798
- * The method that will be called every frame to rotate the canvas element of the canvas.
799
- * @param delta The delta time
800
- * @param args The arguments that are passed to the ticker
801
- * @param tags The tags of the canvas element that are connected to this ticker
802
- */
803
- fn(t, args, tags) {
804
- let speed = args.speed === void 0 ? 0.1 : args.speed;
816
+ ], MoveTicker);
817
+ var RotateTicker = class extends TickerBase {
818
+ fn(ticker, args, tags, tickerId) {
819
+ let speed = (args.speed === void 0 ? 1 : args.speed) / 60;
805
820
  let clockwise = args.clockwise === void 0 ? true : args.clockwise;
821
+ let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
822
+ if (typeof tagToRemoveAfter2 === "string") {
823
+ tagToRemoveAfter2 = [tagToRemoveAfter2];
824
+ }
806
825
  tags.filter((tag) => {
807
826
  var _a;
808
827
  let element = GameWindowManager.getCanvasElement(tag);
@@ -816,18 +835,111 @@ var TickerRotate = class extends TickerBase {
816
835
  let element = GameWindowManager.getCanvasElement(tag);
817
836
  if (element && element instanceof Container) {
818
837
  if (clockwise)
819
- element.rotation += speed * t.deltaTime;
838
+ element.rotation += speed * ticker.deltaTime;
820
839
  else
821
- element.rotation -= speed * t.deltaTime;
840
+ element.rotation -= speed * ticker.deltaTime;
841
+ if (speed < 1e-5 && !(args.speedProgression && args.speedProgression.type == "linear" && args.speedProgression.amt != 0)) {
842
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
843
+ }
844
+ }
845
+ });
846
+ if (args.speedProgression)
847
+ updateTickerProgression(args, "speed", args.speedProgression);
848
+ }
849
+ };
850
+ RotateTicker = __decorateClass([
851
+ tickerDecorator()
852
+ ], RotateTicker);
853
+ var ZoomTicker = class extends TickerBase {
854
+ fn(ticker, args, tags, tickerId) {
855
+ let xSpeed = 0.1;
856
+ let ySpeed = 0.1;
857
+ if (args.speed) {
858
+ if (typeof args.speed === "number") {
859
+ xSpeed = args.speed;
860
+ ySpeed = args.speed;
861
+ } else {
862
+ xSpeed = args.speed.x;
863
+ ySpeed = args.speed.y;
864
+ }
865
+ }
866
+ xSpeed /= 60;
867
+ ySpeed /= 60;
868
+ let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
869
+ if (typeof tagToRemoveAfter2 === "string") {
870
+ tagToRemoveAfter2 = [tagToRemoveAfter2];
871
+ }
872
+ let type = args.type || "zoom";
873
+ let xLimit = Infinity;
874
+ let yLimit = Infinity;
875
+ if (args.limit) {
876
+ if (typeof args.limit === "number") {
877
+ xLimit = args.limit;
878
+ yLimit = args.limit;
879
+ } else {
880
+ xLimit = args.limit.x;
881
+ yLimit = args.limit.y;
882
+ }
883
+ }
884
+ tags.filter((tag) => {
885
+ var _a;
886
+ let element = GameWindowManager.getCanvasElement(tag);
887
+ if (args.startOnlyIfHaveTexture) {
888
+ if (element && element instanceof Sprite && ((_a = element.texture) == null ? void 0 : _a.label) == "EMPTY") {
889
+ return false;
890
+ }
891
+ }
892
+ return true;
893
+ }).forEach((tag) => {
894
+ let element = GameWindowManager.getCanvasElement(tag);
895
+ if (element && element instanceof Container) {
896
+ if (type === "zoom" && (element.scale.x < xLimit || element.scale.y < yLimit)) {
897
+ element.scale.x += xSpeed * ticker.deltaTime;
898
+ element.scale.y += ySpeed * ticker.deltaTime;
899
+ } else if (type === "unzoom" && (element.scale.x > xLimit || element.scale.y > yLimit)) {
900
+ element.scale.x -= xSpeed * ticker.deltaTime;
901
+ element.scale.y -= ySpeed * ticker.deltaTime;
902
+ }
903
+ if (type === "zoom") {
904
+ if (element.scale.x > xLimit) {
905
+ element.scale.x = xLimit;
906
+ }
907
+ if (element.scale.y > yLimit) {
908
+ element.scale.y = yLimit;
909
+ }
910
+ if (element.scale.x >= xLimit && element.scale.y >= yLimit) {
911
+ element.scale.x = xLimit;
912
+ element.scale.y = yLimit;
913
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
914
+ }
915
+ } else if (type === "unzoom") {
916
+ if (element.scale.x < xLimit) {
917
+ element.scale.x = xLimit;
918
+ }
919
+ if (element.scale.y < yLimit) {
920
+ element.scale.y = yLimit;
921
+ }
922
+ if (element.scale.x <= xLimit && element.scale.y <= yLimit) {
923
+ element.scale.x = xLimit;
924
+ element.scale.y = yLimit;
925
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
926
+ }
927
+ }
928
+ if (xSpeed < 1e-5 && ySpeed < 1e-5 && !(args.speedProgression && args.speedProgression.type == "linear" && args.speedProgression.amt != 0)) {
929
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
930
+ }
822
931
  }
823
932
  });
824
933
  if (args.speedProgression)
825
934
  updateTickerProgression(args, "speed", args.speedProgression);
826
935
  }
827
936
  };
828
- TickerRotate = __decorateClass([
937
+ ZoomTicker = __decorateClass([
829
938
  tickerDecorator()
830
- ], TickerRotate);
939
+ ], ZoomTicker);
940
+
941
+ // src/constants.ts
942
+ var Repeat = "repeat";
831
943
 
832
944
  // src/functions/ExportUtility.ts
833
945
  function createExportableElement(element) {
@@ -977,6 +1089,9 @@ function asciiArtLog() {
977
1089
  `);
978
1090
  }
979
1091
 
1092
+ // src/types/ticker/TagToRemoveAfterType.ts
1093
+ var tagToRemoveAfter = "tagToRemoveAfter";
1094
+
980
1095
  // src/managers/WindowManager.ts
981
1096
  var _GameWindowManager = class _GameWindowManager {
982
1097
  constructor() {
@@ -1159,25 +1274,25 @@ var _GameWindowManager = class _GameWindowManager {
1159
1274
  /**
1160
1275
  * Remove a canvas element from the canvas.
1161
1276
  * And remove all tickers that are not connected to any canvas element.
1162
- * @param tag The tag of the canvas element to be removed.
1277
+ * @param tags The tag of the canvas element to be removed.
1163
1278
  * @returns
1164
1279
  * @example
1165
1280
  * ```typescript
1166
1281
  * GameWindowManager.removeCanvasElement("bunny");
1167
1282
  * ```
1168
1283
  */
1169
- static removeCanvasElement(tag) {
1170
- if (typeof tag === "string") {
1171
- tag = [tag];
1284
+ static removeCanvasElement(tags) {
1285
+ if (typeof tags === "string") {
1286
+ tags = [tags];
1172
1287
  }
1173
- tag.forEach((t) => {
1174
- if (_GameWindowManager._children[t]) {
1175
- _GameWindowManager.app.stage.removeChild(_GameWindowManager._children[t]);
1176
- delete _GameWindowManager._children[t];
1288
+ tags.forEach((tag) => {
1289
+ if (_GameWindowManager._children[tag]) {
1290
+ _GameWindowManager.app.stage.removeChild(_GameWindowManager._children[tag]);
1291
+ delete _GameWindowManager._children[tag];
1292
+ _GameWindowManager.removeTickerByCanvasElement(tag);
1177
1293
  }
1178
1294
  });
1179
- _GameWindowManager.removeTickersWithoutAssociatedCanvasElement();
1180
- _GameWindowManager.childrenTagsOrder = _GameWindowManager.childrenTagsOrder.filter((t) => !tag.includes(t));
1295
+ _GameWindowManager.childrenTagsOrder = _GameWindowManager.childrenTagsOrder.filter((t) => !tags.includes(t));
1181
1296
  }
1182
1297
  /**
1183
1298
  * Get a canvas element by the tag.
@@ -1207,18 +1322,43 @@ var _GameWindowManager = class _GameWindowManager {
1207
1322
  _GameWindowManager.app.stage.removeChildren();
1208
1323
  _GameWindowManager._children = {};
1209
1324
  _GameWindowManager.childrenTagsOrder = [];
1210
- _GameWindowManager.removeTickers();
1325
+ _GameWindowManager.removeAllTickers();
1211
1326
  }
1212
1327
  /**
1213
1328
  * Edit the tag of a canvas element.
1214
1329
  * @param oldTag The old tag of the canvas element.
1215
1330
  * @param newTag The new tag of the canvas element.
1216
1331
  */
1217
- static editTagCanvasElement(oldTag, newTag) {
1332
+ static editCanvasElementTag(oldTag, newTag) {
1218
1333
  if (_GameWindowManager._children[oldTag]) {
1219
1334
  _GameWindowManager._children[newTag] = _GameWindowManager._children[oldTag];
1220
1335
  delete _GameWindowManager._children[oldTag];
1221
1336
  }
1337
+ if (_GameWindowManager._currentTickersSteps[oldTag]) {
1338
+ _GameWindowManager._currentTickersSteps[newTag] = _GameWindowManager._currentTickersSteps[oldTag];
1339
+ delete _GameWindowManager._currentTickersSteps[oldTag];
1340
+ }
1341
+ for (let id in _GameWindowManager._currentTickers) {
1342
+ let ticker = _GameWindowManager._currentTickers[id];
1343
+ if (ticker.canvasElementTags.includes(oldTag)) {
1344
+ ticker.canvasElementTags = ticker.canvasElementTags.map((t) => t === oldTag ? newTag : t);
1345
+ if (ticker.args.hasOwnProperty(tagToRemoveAfter)) {
1346
+ let tagToRemoveAfter2 = ticker.args.tagToRemoveAfter;
1347
+ if (typeof tagToRemoveAfter2 === "string") {
1348
+ tagToRemoveAfter2 = [tagToRemoveAfter2];
1349
+ }
1350
+ if (Array.isArray(tagToRemoveAfter2)) {
1351
+ ticker.args.tagToRemoveAfter = tagToRemoveAfter2.map((t) => t === oldTag ? newTag : t);
1352
+ }
1353
+ }
1354
+ }
1355
+ }
1356
+ for (let timeout in _GameWindowManager._currentTickersTimeouts) {
1357
+ let TickerTimeout = _GameWindowManager._currentTickersTimeouts[timeout];
1358
+ if (TickerTimeout.tags.includes(oldTag)) {
1359
+ TickerTimeout.tags = TickerTimeout.tags.map((t) => t === oldTag ? newTag : t);
1360
+ }
1361
+ }
1222
1362
  }
1223
1363
  /** Edit Tickers Methods */
1224
1364
  /**
@@ -1227,23 +1367,38 @@ var _GameWindowManager = class _GameWindowManager {
1227
1367
  static get currentTickers() {
1228
1368
  return _GameWindowManager._currentTickers;
1229
1369
  }
1370
+ static get currentTickersList() {
1371
+ return Object.values(_GameWindowManager._currentTickers);
1372
+ }
1373
+ static get currentTickersWithoutCreatedBySteps() {
1374
+ return Object.fromEntries(Object.entries(_GameWindowManager._currentTickers).filter(([_, ticker]) => !ticker.createdByTicketStepsId));
1375
+ }
1230
1376
  /**
1231
1377
  * The steps of the tickers
1232
1378
  */
1233
1379
  static get currentTickersSteps() {
1234
1380
  return _GameWindowManager._currentTickersSteps;
1235
1381
  }
1382
+ static generateTickerId(tickerData) {
1383
+ try {
1384
+ return sha1(JSON.stringify(tickerData)).toString() + "_" + Math.random().toString(36).substring(7);
1385
+ } catch (e) {
1386
+ throw new Error(`[Pixi'VN] Error to generate ticker id: ${e}`);
1387
+ }
1388
+ }
1236
1389
  /**
1237
- * Run a ticker.
1390
+ * Run a ticker. You can run multiple addTicker with the same tag and different tickerClasses.
1391
+ * If you run a ticker with the same tag and tickerClass, the old ticker will be removed.
1392
+ * If already exists a sequence of tickers with the same tag, it will be removed.
1238
1393
  * @param canvasEslementTag The tag of the canvas element that will use the ticker.
1239
1394
  * @param ticker The ticker class to be run.
1240
1395
  * @param args The arguments to be used in the ticker.
1241
- * @param duration The time to be used in the ticker. This number is in milliseconds. If it is undefined, the ticker will run forever.
1396
+ * @param duration The time to be used in the ticker. This number is in seconds. If it is undefined, the ticker will run forever.
1242
1397
  * @param priority The priority to be used in the ticker.
1243
1398
  * @returns
1244
1399
  * @example
1245
1400
  * ```typescript
1246
- * GameWindowManager.addTicker("alien", new TickerRotate({ speed: 0.2 }))
1401
+ * GameWindowManager.addTicker("alien", new RotateTicker({ speed: 0.2 }))
1247
1402
  * ```
1248
1403
  */
1249
1404
  static addTicker(canvasElementTag, ticker) {
@@ -1251,82 +1406,88 @@ var _GameWindowManager = class _GameWindowManager {
1251
1406
  if (typeof canvasElementTag === "string") {
1252
1407
  canvasElementTag = [canvasElementTag];
1253
1408
  }
1254
- let t = geTickerInstanceByClassName(tickerName, ticker.args, ticker.duration, ticker.priority);
1255
- if (!t) {
1409
+ if (!geTickerInstanceByClassName(tickerName, ticker.args, ticker.duration, ticker.priority)) {
1256
1410
  console.error(`[Pixi'VN] Ticker ${tickerName} not found`);
1257
1411
  return;
1258
1412
  }
1259
- _GameWindowManager.removeAssociationBetweenTickerCanvasElement(canvasElementTag, ticker);
1260
1413
  let tickerHistory = {
1261
1414
  fn: () => {
1262
1415
  },
1263
1416
  className: tickerName,
1264
- args: ticker.args,
1417
+ args: createExportableElement(ticker.args),
1265
1418
  canvasElementTags: canvasElementTag,
1266
1419
  priority: ticker.priority,
1267
1420
  duration: ticker.duration
1268
1421
  };
1269
- _GameWindowManager.pushTicker(tickerHistory, t);
1270
- _GameWindowManager.removeTickersWithoutAssociatedCanvasElement();
1422
+ let id = _GameWindowManager.generateTickerId(tickerHistory);
1423
+ _GameWindowManager.pushTicker(id, tickerHistory, ticker);
1271
1424
  if (ticker.duration) {
1272
1425
  let timeout = setTimeout(() => {
1273
1426
  _GameWindowManager.removeTickerTimeoutInfo(timeout);
1274
- _GameWindowManager.nextTickerStep(canvasElementTag);
1275
- }, ticker.duration);
1276
- _GameWindowManager.addTickerTimeoutInfo(canvasElementTag, tickerName, timeout.toString());
1427
+ let tickerTimeoutInfo = _GameWindowManager._currentTickersTimeouts[timeout.toString()];
1428
+ if (tickerTimeoutInfo) {
1429
+ _GameWindowManager.removeTicker(id);
1430
+ }
1431
+ }, ticker.duration * 1e3);
1432
+ _GameWindowManager.addTickerTimeoutInfo(canvasElementTag, tickerName, timeout.toString(), true);
1277
1433
  }
1278
1434
  }
1279
- static pushTicker(tickerData, ticker) {
1435
+ static pushTicker(id, tickerData, ticker) {
1280
1436
  _GameWindowManager.removeAssociationBetweenTickerCanvasElement(tickerData.canvasElementTags, tickerData);
1281
- _GameWindowManager._currentTickers.push(tickerData);
1437
+ _GameWindowManager._currentTickers[id] = tickerData;
1282
1438
  tickerData.fn = (t) => {
1283
- ticker == null ? void 0 : ticker.fn(t, tickerData.args, tickerData.canvasElementTags);
1439
+ let data = _GameWindowManager._currentTickers[id];
1440
+ if (data) {
1441
+ ticker == null ? void 0 : ticker.fn(t, data.args, data.canvasElementTags, id);
1442
+ }
1284
1443
  };
1285
1444
  _GameWindowManager.app.ticker.add(tickerData.fn, void 0, tickerData.priority);
1286
1445
  }
1287
1446
  /**
1288
- * Run a sequence of tickers.
1447
+ * Run a sequence of tickers. If exists a ticker steps with the same tag, it will be removed.
1289
1448
  * @param tag The tag of canvas element that will use the tickers.
1290
1449
  * @param steps The steps of the tickers.
1450
+ * @param currentStepNumber The current step number. It is used to continue the sequence of tickers.
1291
1451
  * @returns
1292
1452
  * @example
1293
1453
  * ```typescript
1294
1454
  * GameWindowManager.addTickersSteps("alien", [
1295
- * new TickerRotate({ speed: 0.1, clockwise: true }, 2000),
1296
- * Pause(500),
1297
- * new TickerRotate({ speed: 0.2, clockwise: false }, 2000),
1455
+ * new RotateTicker({ speed: 0.1, clockwise: true }, 2), // 2 seconds
1456
+ * Pause(1), // 1 second
1457
+ * new RotateTicker({ speed: 0.2, clockwise: false }, 2),
1298
1458
  * Repeat,
1299
1459
  * ])
1300
1460
  * ```
1301
1461
  */
1302
- static addTickersSteps(tag, steps) {
1462
+ static addTickersSteps(tag, steps, currentStepNumber = 0) {
1303
1463
  if (steps.length == 0) {
1304
1464
  console.warn("[Pixi'VN] The steps of the tickers is empty");
1305
1465
  return;
1306
1466
  }
1307
- let alredyExists = _GameWindowManager._currentTickersSteps[tag] !== void 0;
1467
+ _GameWindowManager.removeTickerStepByCanvasElement(tag);
1308
1468
  _GameWindowManager._currentTickersSteps[tag] = {
1309
- currentStepNumber: 0,
1310
- steps: steps.map((s) => {
1311
- if (s === Repeat) {
1312
- return s;
1313
- }
1314
- if (!s.duration) {
1315
- console.warn("[Pixi'VN] Duration is not defined, so it will be set to 1000");
1316
- s.duration = 1e3;
1469
+ currentStepNumber,
1470
+ steps: steps.map((step) => {
1471
+ if (step === Repeat) {
1472
+ return step;
1317
1473
  }
1318
- if (s.hasOwnProperty("type") && s.type === PauseValueType) {
1319
- return s;
1474
+ if (step.hasOwnProperty("type") && step.type === "pause") {
1475
+ return step;
1320
1476
  }
1321
- let tickerName = s.constructor.name;
1477
+ let tickerName = step.constructor.name;
1322
1478
  return {
1323
1479
  ticker: tickerName,
1324
- args: s.args,
1325
- duration: s.duration
1480
+ args: createExportableElement(step.args),
1481
+ duration: step.duration
1326
1482
  };
1327
1483
  })
1328
1484
  };
1329
- if (!alredyExists) {
1485
+ _GameWindowManager.runTickersSteps(tag);
1486
+ }
1487
+ static restoneTickersSteps(data) {
1488
+ for (let tag in data) {
1489
+ let steps = data[tag];
1490
+ _GameWindowManager._currentTickersSteps[tag] = steps;
1330
1491
  _GameWindowManager.runTickersSteps(tag);
1331
1492
  }
1332
1493
  }
@@ -1340,12 +1501,17 @@ var _GameWindowManager = class _GameWindowManager {
1340
1501
  return;
1341
1502
  }
1342
1503
  }
1343
- if (step.hasOwnProperty("type") && step.type === PauseValueType) {
1504
+ if (step.hasOwnProperty("type") && step.type === "pause") {
1344
1505
  let timeout = setTimeout(() => {
1506
+ let tickerTimeoutInfo = _GameWindowManager._currentTickersTimeouts[timeout.toString()];
1507
+ if (tickerTimeoutInfo) {
1508
+ tickerTimeoutInfo.tags.forEach((tag2) => {
1509
+ _GameWindowManager.nextTickerStep(tag2);
1510
+ });
1511
+ }
1345
1512
  _GameWindowManager.removeTickerTimeoutInfo(timeout);
1346
- _GameWindowManager.nextTickerStep(tag);
1347
- }, step.duration);
1348
- _GameWindowManager.addTickerTimeoutInfo(tag, "steps", timeout.toString());
1513
+ }, step.duration * 1e3);
1514
+ _GameWindowManager.addTickerTimeoutInfo(tag, "steps", timeout.toString(), false);
1349
1515
  return;
1350
1516
  }
1351
1517
  let ticker = geTickerInstanceByClassName(step.ticker, step.args, step.duration, step.priority);
@@ -1353,57 +1519,88 @@ var _GameWindowManager = class _GameWindowManager {
1353
1519
  console.error(`[Pixi'VN] Ticker ${step.ticker} not found`);
1354
1520
  return;
1355
1521
  }
1356
- _GameWindowManager.addTicker(tag, ticker);
1522
+ let tickerName = ticker.constructor.name;
1523
+ let tickerHistory = {
1524
+ fn: () => {
1525
+ },
1526
+ className: tickerName,
1527
+ args: createExportableElement(ticker.args),
1528
+ canvasElementTags: [tag],
1529
+ priority: ticker.priority,
1530
+ duration: ticker.duration,
1531
+ createdByTicketStepsId: tag
1532
+ };
1533
+ let id = _GameWindowManager.generateTickerId(tickerHistory);
1534
+ _GameWindowManager.pushTicker(id, tickerHistory, ticker);
1535
+ if (ticker.duration) {
1536
+ let timeout = setTimeout(() => {
1537
+ let tickerTimeoutInfo = _GameWindowManager._currentTickersTimeouts[timeout.toString()];
1538
+ if (tickerTimeoutInfo) {
1539
+ _GameWindowManager.removeTicker(id);
1540
+ tickerTimeoutInfo.tags.forEach((tag2) => {
1541
+ _GameWindowManager.nextTickerStep(tag2);
1542
+ });
1543
+ }
1544
+ _GameWindowManager.removeTickerTimeoutInfo(timeout);
1545
+ }, ticker.duration * 1e3);
1546
+ _GameWindowManager.addTickerTimeoutInfo(tag, tickerName, timeout.toString(), false);
1547
+ }
1357
1548
  }
1358
1549
  static nextTickerStep(tag) {
1359
- if (typeof tag === "string") {
1360
- tag = [tag];
1550
+ if (_GameWindowManager._currentTickersSteps[tag]) {
1551
+ let steps = _GameWindowManager._currentTickersSteps[tag];
1552
+ if (steps.currentStepNumber + 1 < steps.steps.length) {
1553
+ steps.currentStepNumber++;
1554
+ _GameWindowManager._currentTickersSteps[tag] = steps;
1555
+ _GameWindowManager.runTickersSteps(tag);
1556
+ } else {
1557
+ _GameWindowManager.removeTickerStepByCanvasElement(tag);
1558
+ }
1361
1559
  }
1362
- tag.forEach((tag2) => {
1363
- if (_GameWindowManager._currentTickersSteps[tag2]) {
1364
- let steps = _GameWindowManager._currentTickersSteps[tag2];
1365
- if (steps.currentStepNumber + 1 < steps.steps.length) {
1366
- steps.currentStepNumber++;
1367
- _GameWindowManager._currentTickersSteps[tag2] = steps;
1368
- _GameWindowManager.runTickersSteps(tag2);
1369
- } else {
1370
- delete _GameWindowManager._currentTickersSteps[tag2];
1371
- }
1560
+ }
1561
+ static onEndOfTicker(canvasElementTags, ticker, canvasElementTagsToDelete, tickerId) {
1562
+ let tickerData = _GameWindowManager._currentTickers[tickerId];
1563
+ _GameWindowManager.removeAssociationBetweenTickerCanvasElement(canvasElementTags, ticker);
1564
+ _GameWindowManager.removeCanvasElement(canvasElementTagsToDelete);
1565
+ if (tickerData) {
1566
+ _GameWindowManager.removeTicker(tickerId);
1567
+ if (tickerData.duration == void 0 && tickerData.createdByTicketStepsId) {
1568
+ _GameWindowManager.nextTickerStep(tickerData.createdByTicketStepsId);
1372
1569
  }
1373
- });
1570
+ }
1374
1571
  }
1375
1572
  /**
1376
1573
  * Remove a connection between a canvas element and a ticker.
1377
1574
  * And remove the ticker if there is no canvas element connected to it.
1378
- * @param tag The tag of the canvas element that will use the ticker.
1575
+ * @param tags The tag of the canvas element that will use the ticker.
1379
1576
  * @param ticker The ticker class to be removed.
1380
1577
  * @example
1381
1578
  * ```typescript
1382
- * GameWindowManager.removeAssociationBetweenTickerCanvasElement("alien", TickerRotate)
1579
+ * GameWindowManager.removeAssociationBetweenTickerCanvasElement("alien", RotateTicker)
1383
1580
  * ```
1384
1581
  */
1385
- static removeAssociationBetweenTickerCanvasElement(tag, ticker) {
1582
+ static removeAssociationBetweenTickerCanvasElement(tags, ticker) {
1386
1583
  let tickerName;
1387
- if (ticker instanceof TickerBase) {
1584
+ if (typeof ticker === "string") {
1585
+ tickerName = ticker;
1586
+ } else if (ticker instanceof TickerBase) {
1388
1587
  tickerName = ticker.constructor.name;
1389
1588
  } else {
1390
1589
  tickerName = ticker.name;
1391
1590
  }
1392
- if (typeof tag === "string") {
1393
- tag = [tag];
1591
+ if (typeof tags === "string") {
1592
+ tags = [tags];
1394
1593
  }
1395
- _GameWindowManager._currentTickers = _GameWindowManager._currentTickers.map((t) => {
1396
- if (t.className === tickerName) {
1397
- t.canvasElementTags = t.canvasElementTags.filter((e) => !tag.includes(e));
1594
+ for (let id in _GameWindowManager._currentTickers) {
1595
+ let ticker2 = _GameWindowManager._currentTickers[id];
1596
+ if (ticker2.className === tickerName) {
1597
+ _GameWindowManager._currentTickers[id].canvasElementTags = ticker2.canvasElementTags.filter((e) => !tags.includes(e));
1398
1598
  }
1399
- return t;
1400
- });
1401
- for (let timeout in _GameWindowManager.currentTickersTimeouts) {
1402
- let t = _GameWindowManager.currentTickersTimeouts[timeout].tags.filter((e) => !tag.includes(e));
1403
- if (t.length == 0) {
1404
- _GameWindowManager.removeTickerTimeoutInfo(timeout);
1405
- } else {
1406
- _GameWindowManager.currentTickersTimeouts[timeout].tags = t;
1599
+ }
1600
+ for (let timeout in _GameWindowManager._currentTickersTimeouts) {
1601
+ let TickerTimeout = _GameWindowManager._currentTickersTimeouts[timeout];
1602
+ if (TickerTimeout.ticker === tickerName && TickerTimeout.canBeDeletedBeforeEnd) {
1603
+ _GameWindowManager._currentTickersTimeouts[timeout].tags = TickerTimeout.tags.filter((t) => !tags.includes(t));
1407
1604
  }
1408
1605
  }
1409
1606
  _GameWindowManager.removeTickersWithoutAssociatedCanvasElement();
@@ -1412,49 +1609,117 @@ var _GameWindowManager = class _GameWindowManager {
1412
1609
  * Remove all tickers that are not connected to any existing canvas element.
1413
1610
  */
1414
1611
  static removeTickersWithoutAssociatedCanvasElement() {
1415
- let currentTickers = _GameWindowManager._currentTickers.map((t) => {
1416
- t.canvasElementTags = t.canvasElementTags.filter((e) => _GameWindowManager._children[e]);
1417
- return t;
1418
- });
1419
- currentTickers.filter((t) => t.canvasElementTags.length === 0).forEach((t) => {
1420
- _GameWindowManager.app.ticker.remove(t.fn);
1421
- });
1422
- currentTickers = currentTickers.filter((t) => t.canvasElementTags.length > 0);
1423
- _GameWindowManager._currentTickers = currentTickers;
1612
+ for (let id in _GameWindowManager._currentTickers) {
1613
+ let ticker = _GameWindowManager._currentTickers[id];
1614
+ ticker.canvasElementTags = ticker.canvasElementTags.filter((e) => _GameWindowManager._children[e]);
1615
+ if (ticker.canvasElementTags.length === 0) {
1616
+ _GameWindowManager.removeTicker(id);
1617
+ }
1618
+ }
1424
1619
  for (let tag in _GameWindowManager._currentTickersSteps) {
1425
1620
  if (_GameWindowManager._children[tag] === void 0) {
1426
1621
  delete _GameWindowManager._currentTickersSteps[tag];
1427
1622
  }
1428
1623
  }
1624
+ Object.entries(_GameWindowManager._currentTickersTimeouts).forEach(([timeout, { tags }]) => {
1625
+ if (tags.length === 0) {
1626
+ _GameWindowManager.removeTickerTimeout(timeout);
1627
+ }
1628
+ });
1429
1629
  }
1430
- static addTickerTimeoutInfo(tags, ticker, timeout) {
1630
+ static addTickerTimeoutInfo(tags, ticker, timeout, canBeDeletedBeforeEnd) {
1431
1631
  if (typeof tags === "string") {
1432
1632
  tags = [tags];
1433
1633
  }
1434
- _GameWindowManager.currentTickersTimeouts[timeout] = {
1634
+ _GameWindowManager._currentTickersTimeouts[timeout] = {
1435
1635
  tags,
1436
- ticker
1636
+ ticker,
1637
+ canBeDeletedBeforeEnd
1437
1638
  };
1438
1639
  }
1439
1640
  static removeTickerTimeoutInfo(timeout) {
1440
1641
  if (typeof timeout !== "string") {
1441
1642
  timeout = timeout.toString();
1442
1643
  }
1443
- if (_GameWindowManager.currentTickersTimeouts[timeout]) {
1444
- delete _GameWindowManager.currentTickersTimeouts[timeout];
1644
+ if (_GameWindowManager._currentTickersTimeouts[timeout]) {
1645
+ delete _GameWindowManager._currentTickersTimeouts[timeout];
1646
+ }
1647
+ }
1648
+ static removeTickerTimeout(timeout) {
1649
+ if (typeof timeout !== "string") {
1650
+ timeout = timeout.toString();
1651
+ }
1652
+ clearTimeout(Number(timeout));
1653
+ _GameWindowManager.removeTickerTimeoutInfo(timeout);
1654
+ }
1655
+ static removeTickerTimeoutsByTag(tag, checkCanBeDeletedBeforeEnd) {
1656
+ for (let timeout in _GameWindowManager._currentTickersTimeouts) {
1657
+ let tagsWithoutTagToRemove = _GameWindowManager._currentTickersTimeouts[timeout].tags.filter((t) => t !== tag);
1658
+ if (tagsWithoutTagToRemove.length === 0) {
1659
+ let canBeDeletedBeforeEnd = _GameWindowManager._currentTickersTimeouts[timeout].canBeDeletedBeforeEnd;
1660
+ if (!checkCanBeDeletedBeforeEnd || canBeDeletedBeforeEnd) {
1661
+ _GameWindowManager.removeTickerTimeout(timeout);
1662
+ }
1663
+ } else {
1664
+ _GameWindowManager._currentTickersTimeouts[timeout].tags = tagsWithoutTagToRemove;
1665
+ }
1445
1666
  }
1446
1667
  }
1447
1668
  /**
1448
1669
  * Remove all tickers from the canvas.
1449
1670
  */
1450
- static removeTickers() {
1671
+ static removeAllTickers() {
1451
1672
  _GameWindowManager._currentTickersSteps = {};
1452
- _GameWindowManager._currentTickers.forEach((t) => {
1453
- _GameWindowManager.app.ticker.remove(t.fn);
1673
+ Object.keys(_GameWindowManager._currentTickers).forEach((id) => {
1674
+ _GameWindowManager.removeTicker(id);
1454
1675
  });
1455
- _GameWindowManager._currentTickers = [];
1456
- for (let timeout in _GameWindowManager.currentTickersTimeouts) {
1457
- _GameWindowManager.removeTickerTimeoutInfo(timeout);
1676
+ _GameWindowManager._currentTickers = {};
1677
+ for (let timeout in _GameWindowManager._currentTickersTimeouts) {
1678
+ _GameWindowManager.removeTickerTimeout(timeout);
1679
+ }
1680
+ }
1681
+ /**
1682
+ * Remove all tickers from a canvas element.
1683
+ * @param tag The tag of the canvas element that will use the ticker.
1684
+ */
1685
+ static removeTickerByCanvasElement(tag) {
1686
+ if (typeof tag === "string") {
1687
+ tag = [tag];
1688
+ }
1689
+ tag.forEach((tag2) => {
1690
+ for (let id in _GameWindowManager._currentTickers) {
1691
+ let ticker = _GameWindowManager._currentTickers[id];
1692
+ if (ticker.canvasElementTags.includes(tag2)) {
1693
+ _GameWindowManager.removeTicker(id);
1694
+ }
1695
+ }
1696
+ if (_GameWindowManager._currentTickersSteps[tag2]) {
1697
+ delete _GameWindowManager._currentTickersSteps[tag2];
1698
+ }
1699
+ _GameWindowManager.removeTickerTimeoutsByTag(tag2, false);
1700
+ delete _GameWindowManager._currentTickersSteps[tag2];
1701
+ });
1702
+ }
1703
+ static removeTickerStepByCanvasElement(tag) {
1704
+ if (_GameWindowManager._currentTickersSteps[tag]) {
1705
+ delete _GameWindowManager._currentTickersSteps[tag];
1706
+ }
1707
+ for (let id in _GameWindowManager._currentTickers) {
1708
+ let ticker = _GameWindowManager._currentTickers[id];
1709
+ if (ticker.createdByTicketStepsId === tag) {
1710
+ _GameWindowManager.removeTicker(id);
1711
+ }
1712
+ }
1713
+ }
1714
+ static removeTicker(tickerId) {
1715
+ let ticker = _GameWindowManager._currentTickers[tickerId];
1716
+ if (ticker) {
1717
+ if (ticker.args.hasOwnProperty(tagToRemoveAfter)) {
1718
+ let tagToRemoveAfter2 = ticker.args.tagToRemoveAfter;
1719
+ _GameWindowManager.removeCanvasElement(tagToRemoveAfter2);
1720
+ }
1721
+ _GameWindowManager.app.ticker.remove(ticker.fn);
1722
+ delete _GameWindowManager._currentTickers[tickerId];
1458
1723
  }
1459
1724
  }
1460
1725
  /**
@@ -1481,7 +1746,8 @@ var _GameWindowManager = class _GameWindowManager {
1481
1746
  currentElements[tag] = exportCanvasElement(_GameWindowManager._children[tag]);
1482
1747
  }
1483
1748
  return {
1484
- currentTickers: createExportableElement(_GameWindowManager._currentTickers),
1749
+ currentTickers: createExportableElement(_GameWindowManager.currentTickersWithoutCreatedBySteps),
1750
+ currentTickersSteps: createExportableElement(_GameWindowManager._currentTickersSteps),
1485
1751
  currentElements: createExportableElement(currentElements),
1486
1752
  childrenTagsOrder: createExportableElement(_GameWindowManager.childrenTagsOrder)
1487
1753
  };
@@ -1516,7 +1782,8 @@ var _GameWindowManager = class _GameWindowManager {
1516
1782
  }
1517
1783
  if (data.hasOwnProperty("currentTickers")) {
1518
1784
  let currentTickers = data["currentTickers"];
1519
- currentTickers.forEach((t) => {
1785
+ for (let id in currentTickers) {
1786
+ let t = currentTickers[id];
1520
1787
  let tags = t.canvasElementTags;
1521
1788
  let ticker = geTickerInstanceByClassName(t.className, t.args, t.duration, t.priority);
1522
1789
  if (ticker) {
@@ -1524,7 +1791,11 @@ var _GameWindowManager = class _GameWindowManager {
1524
1791
  } else {
1525
1792
  console.error(`[Pixi'VN] Ticker ${t.className} not found`);
1526
1793
  }
1527
- });
1794
+ }
1795
+ }
1796
+ if (data.hasOwnProperty("currentTickersSteps")) {
1797
+ let currentTickersSteps = data["currentTickersSteps"];
1798
+ _GameWindowManager.restoneTickersSteps(currentTickersSteps);
1528
1799
  }
1529
1800
  } catch (e) {
1530
1801
  console.error("[Pixi'VN] Error importing data", e);
@@ -1538,9 +1809,9 @@ _GameWindowManager._children = {};
1538
1809
  * The order of the children tags.
1539
1810
  */
1540
1811
  _GameWindowManager.childrenTagsOrder = [];
1541
- _GameWindowManager._currentTickers = [];
1812
+ _GameWindowManager._currentTickers = {};
1542
1813
  _GameWindowManager._currentTickersSteps = {};
1543
- _GameWindowManager.currentTickersTimeouts = {};
1814
+ _GameWindowManager._currentTickersTimeouts = {};
1544
1815
  var GameWindowManager = _GameWindowManager;
1545
1816
 
1546
1817
  // src/managers/StepManager.ts
@@ -1607,7 +1878,8 @@ var _GameStepManager = class _GameStepManager {
1607
1878
  canvas: {
1608
1879
  childrenTagsOrder: [],
1609
1880
  currentElements: {},
1610
- currentTickers: []
1881
+ currentTickers: {},
1882
+ currentTickersSteps: {}
1611
1883
  },
1612
1884
  labelIndex: -1,
1613
1885
  openedLabels: []
@@ -1818,8 +2090,15 @@ var _GameStepManager = class _GameStepManager {
1818
2090
  }
1819
2091
  try {
1820
2092
  if (labelId === CLOSE_LABEL_ID) {
1821
- let closeLabel = newCloseLabel(choiseMade);
1822
- return _GameStepManager.closeChoiceMenu(closeLabel, props);
2093
+ let closeCurrentLabel = newCloseLabel(choiseMade);
2094
+ let choice = {
2095
+ label: closeCurrentLabel,
2096
+ text: "",
2097
+ closeCurrentLabel: false,
2098
+ type: "close",
2099
+ props: {}
2100
+ };
2101
+ return _GameStepManager.closeChoiceMenu(choice, props);
1823
2102
  }
1824
2103
  let tempLabel = getLabelById(labelId);
1825
2104
  if (!tempLabel) {
@@ -1869,8 +2148,15 @@ var _GameStepManager = class _GameStepManager {
1869
2148
  }
1870
2149
  try {
1871
2150
  if (labelId === CLOSE_LABEL_ID) {
1872
- let closeLabel = newCloseLabel(choiseMade);
1873
- return _GameStepManager.closeChoiceMenu(closeLabel, props);
2151
+ let closeCurrentLabel = newCloseLabel(choiseMade);
2152
+ let choice = {
2153
+ label: closeCurrentLabel,
2154
+ text: "",
2155
+ closeCurrentLabel: false,
2156
+ type: "close",
2157
+ props: {}
2158
+ };
2159
+ return _GameStepManager.closeChoiceMenu(choice, props);
1874
2160
  }
1875
2161
  let tempLabel = getLabelById(labelId);
1876
2162
  if (!tempLabel) {
@@ -1886,7 +2172,8 @@ var _GameStepManager = class _GameStepManager {
1886
2172
  }
1887
2173
  /**
1888
2174
  * When the player is in a choice menu, can use this function to exit to the choice menu.
1889
- * @param props The props to pass to the step.
2175
+ * @param choice
2176
+ * @param props
1890
2177
  * @returns StepLabelResultType or undefined.
1891
2178
  * @example
1892
2179
  * ```typescript
@@ -1897,12 +2184,16 @@ var _GameStepManager = class _GameStepManager {
1897
2184
  * })
1898
2185
  * ```
1899
2186
  */
1900
- static closeChoiceMenu(label, props) {
2187
+ static closeChoiceMenu(choice, props) {
1901
2188
  return __async(this, null, function* () {
2189
+ let label = choice.label;
1902
2190
  let choiseMade = void 0;
1903
2191
  if (typeof label.choiseIndex === "number") {
1904
2192
  choiseMade = label.choiseIndex;
1905
2193
  }
2194
+ if (choice.closeCurrentLabel) {
2195
+ _GameStepManager.closeCurrentLabel();
2196
+ }
1906
2197
  return _GameStepManager.runNextStep(props, choiseMade);
1907
2198
  });
1908
2199
  }