@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) => {
@@ -53,7 +52,8 @@ var __async = (__this, __arguments, generator) => {
53
52
  };
54
53
 
55
54
  // src/constants.ts
56
- var PIXIVN_VERSION = "0.6.0";
55
+ var PIXIVN_VERSION = "0.6.1";
56
+ var Repeat = "repeat";
57
57
  function getStepSha1(step) {
58
58
  let sha1String = sha1(step.toString().toLocaleLowerCase());
59
59
  return sha1String.toString();
@@ -606,7 +606,7 @@ function tickerDecorator(name) {
606
606
  name = target.name;
607
607
  }
608
608
  if (registeredTickers[name]) {
609
- console.warn(`[Pixi'VN] Ticker ${name} already exists, it will be overwritten`);
609
+ console.info(`[Pixi'VN] Ticker ${name} already exists, it will be overwritten`);
610
610
  }
611
611
  registeredTickers[name] = target;
612
612
  };
@@ -625,12 +625,6 @@ function geTickerInstanceByClassName(tickerName, args, duration, priority) {
625
625
  }
626
626
  }
627
627
 
628
- // src/types/PauseType.ts
629
- var PauseValueType = "pause";
630
-
631
- // src/types/RepeatType.ts
632
- var Repeat = "repeat";
633
-
634
628
  // src/decorators/LabelDecorator.ts
635
629
  var registeredLabels = {};
636
630
  function getLabelById(id) {
@@ -651,8 +645,8 @@ function getDialogue() {
651
645
  var TickerBase = class {
652
646
  /**
653
647
  * @param args The arguments that you want to pass to the ticker.
654
- * @param duration The duration of the ticker. If is undefined, the ticker will be called every frame.
655
- * @param priority The priority of the ticker. If is undefined, the priority will be UPDATE_PRIORITY.NORMAL.
648
+ * @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
649
+ * @param priority The priority of the ticker. @default UPDATE_PRIORITY.NORMAL
656
650
  */
657
651
  constructor(args, duration, priority) {
658
652
  this.args = args;
@@ -662,28 +656,26 @@ var TickerBase = class {
662
656
  /**
663
657
  * The method that will be called every frame.
664
658
  * This method should be overridden and you can use GameWindowManager.addCanvasElement() to get the canvas element of the canvas, and edit them.
665
- * @param t The ticker that is calling this method
666
- * @param args The arguments that you passed when you added the ticker
667
- * @param tags The tags of the canvas elements that are connected to this ticker
659
+ * @param _ticker The ticker that is calling this method
660
+ * @param _args The arguments that you passed when you added the ticker
661
+ * @param _tags The tags of the canvas elements that are connected to this ticker
662
+ * @param _tickerId The id of the ticker. You can use this to get the ticker from the {@link GameWindowManager.currentTickers}
668
663
  */
669
- fn(_t, _args, _tags) {
664
+ fn(_ticker, _args, _tags, _tickerId) {
670
665
  throw new Error("[Pixi'VN] The method TickerBase.fn() must be overridden");
671
666
  }
672
667
  };
673
- var TickerFadeAlpha = class extends TickerBase {
674
- /**
675
- * The method that will be called every frame to fade the alpha of the canvas element of the canvas.
676
- * @param delta The delta time
677
- * @param args The arguments that are passed to the ticker
678
- * @param tags The tags of the canvas element that are connected to this ticker
679
- */
680
- fn(t, args, tags) {
668
+
669
+ // src/classes/ticker/FadeAlphaTicker.ts
670
+ var FadeAlphaTicker = class extends TickerBase {
671
+ fn(ticker, args, tags, tickerId) {
681
672
  let type = args.type === void 0 ? "hide" : args.type;
682
- let speed = args.speed === void 0 ? 0.1 : args.speed;
673
+ let duration = args.duration === void 0 ? 1 : args.duration;
674
+ let speed = 1 / (duration * 60);
683
675
  let limit = args.limit === void 0 ? type === "hide" ? 0 : 1 : args.limit;
684
- let removeElementAfter = args.tagToRemoveAfter || [];
685
- if (typeof removeElementAfter === "string") {
686
- removeElementAfter = [removeElementAfter];
676
+ let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
677
+ if (typeof tagToRemoveAfter2 === "string") {
678
+ tagToRemoveAfter2 = [tagToRemoveAfter2];
687
679
  }
688
680
  if (type === "hide" && limit < 0) {
689
681
  limit = 0;
@@ -704,61 +696,88 @@ var TickerFadeAlpha = class extends TickerBase {
704
696
  let element = GameWindowManager.getCanvasElement(tag);
705
697
  if (element && element instanceof Container) {
706
698
  if (type === "show" && element.alpha < limit) {
707
- element.alpha += speed * t.deltaTime;
699
+ element.alpha += speed * ticker.deltaTime;
708
700
  } else if (type === "hide" && element.alpha > limit) {
709
- element.alpha -= speed * t.deltaTime;
710
- } else {
701
+ element.alpha -= speed * ticker.deltaTime;
702
+ }
703
+ if (type === "show" && element.alpha >= limit) {
711
704
  element.alpha = limit;
712
- GameWindowManager.removeAssociationBetweenTickerCanvasElement(tag, this);
713
- GameWindowManager.removeCanvasElement(removeElementAfter);
705
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
706
+ } else if (type === "hide" && element.alpha <= limit) {
707
+ element.alpha = limit;
708
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
714
709
  }
715
710
  }
716
711
  });
717
712
  }
718
713
  };
719
- TickerFadeAlpha = __decorateClass([
714
+ FadeAlphaTicker = __decorateClass([
720
715
  tickerDecorator()
721
- ], TickerFadeAlpha);
716
+ ], FadeAlphaTicker);
722
717
 
723
718
  // src/functions/TickerUtility.ts
724
719
  function updateTickerProgression(args, propertyName, progression) {
725
- if (args.hasOwnProperty(propertyName) && typeof args[propertyName] !== "number") {
720
+ if (args[propertyName] === void 0 || !progression || args[propertyName] === progression.limit) {
726
721
  return;
727
722
  }
728
- if (args[propertyName] !== void 0 && progression && args[propertyName] !== progression.limit) {
723
+ if (typeof args[propertyName] === "number") {
729
724
  if (progression.type === "linear") {
730
- args[propertyName] += progression.amt;
731
- if (progression.limit !== void 0) {
732
- if (args[propertyName] > progression.limit && progression.amt > 0) {
733
- args[propertyName] = progression.limit;
734
- } else if (args[propertyName] < progression.limit && progression.amt < 0) {
735
- args[propertyName] = progression.limit;
736
- }
737
- }
725
+ args[propertyName] = getLinearProgression(args[propertyName], progression);
738
726
  } else if (progression.type === "exponential") {
739
- args[propertyName] += args[propertyName] * progression.percentage;
740
- if (progression.limit !== void 0) {
741
- if (args[propertyName] > progression.limit && progression.percentage > 0) {
742
- args[propertyName] = progression.limit;
743
- } else if (args[propertyName] < progression.limit && progression.percentage < 0) {
744
- args[propertyName] = progression.limit;
745
- }
746
- }
727
+ args[propertyName] = getExponentialProgression(args[propertyName], progression);
728
+ }
729
+ } 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") {
730
+ if (progression.type === "linear") {
731
+ args[propertyName].x = getLinearProgression(args[propertyName].x, progression);
732
+ args[propertyName].y = getLinearProgression(args[propertyName].y, progression);
733
+ } else if (progression.type === "exponential") {
734
+ args[propertyName].x = getExponentialProgression(args[propertyName].x, progression);
735
+ args[propertyName].y = getExponentialProgression(args[propertyName].y, progression);
736
+ }
737
+ }
738
+ }
739
+ function getLinearProgression(number, progression) {
740
+ if (progression.limit !== void 0) {
741
+ if (number > progression.limit && progression.amt > 0) {
742
+ return progression.limit;
743
+ } else if (number < progression.limit && progression.amt < 0) {
744
+ return progression.limit;
745
+ }
746
+ }
747
+ return number + progression.amt / 60;
748
+ }
749
+ function getExponentialProgression(number, progression) {
750
+ if (progression.limit !== void 0) {
751
+ if (number > progression.limit && progression.percentage > 0) {
752
+ return progression.limit;
753
+ } else if (number < progression.limit && progression.percentage < 0) {
754
+ return progression.limit;
747
755
  }
748
756
  }
757
+ return number + number * progression.percentage;
749
758
  }
750
759
 
751
- // src/classes/ticker/TickerMove.ts
752
- var TickerMove = class extends TickerBase {
753
- /**
754
- * The method that will be called every frame to move the canvas element of the canvas.
755
- * @param t The ticker that is calling this method
756
- * @param args The arguments that are passed to the ticker
757
- * @param tags The tags of the canvas element that are connected to this ticker
758
- */
759
- fn(t, args, tags) {
760
- let speed = args.speed === void 0 ? 0.1 : args.speed;
760
+ // src/classes/ticker/MoveTicker.ts
761
+ var MoveTicker = class extends TickerBase {
762
+ fn(ticker, args, tags, tickerId) {
763
+ let xSpeed = 1;
764
+ let ySpeed = 1;
765
+ if (args.speed) {
766
+ if (typeof args.speed === "number") {
767
+ xSpeed = args.speed;
768
+ ySpeed = args.speed;
769
+ } else {
770
+ xSpeed = args.speed.x;
771
+ ySpeed = args.speed.y;
772
+ }
773
+ }
774
+ xSpeed /= 60;
775
+ ySpeed /= 60;
761
776
  let destination = args.destination;
777
+ let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
778
+ if (typeof tagToRemoveAfter2 === "string") {
779
+ tagToRemoveAfter2 = [tagToRemoveAfter2];
780
+ }
762
781
  tags.filter((tag) => {
763
782
  var _a;
764
783
  let element = GameWindowManager.getCanvasElement(tag);
@@ -771,41 +790,42 @@ var TickerMove = class extends TickerBase {
771
790
  }).forEach((tag) => {
772
791
  let element = GameWindowManager.getCanvasElement(tag);
773
792
  if (element && element instanceof Container) {
774
- let xDistance = destination.x - element.x;
793
+ let xDistance = destination.x - element.x > 0 ? 1 : -1;
775
794
  if (xDistance != 0) {
776
- element.x += xDistance / speed * t.deltaTime;
795
+ element.x += xDistance * xSpeed * ticker.deltaTime;
777
796
  let newDistance = destination.x - element.x;
778
797
  if (xDistance < 0 && newDistance > 0 || xDistance > 0 && newDistance < 0) {
779
798
  element.x = destination.x;
780
799
  }
781
800
  }
782
- let yDistance = destination.y - element.y;
801
+ let yDistance = destination.y - element.y > 0 ? 1 : -1;
783
802
  if (yDistance != 0) {
784
- element.y += yDistance / speed * t.deltaTime;
803
+ element.y += yDistance * ySpeed * ticker.deltaTime;
785
804
  let newDistance = destination.y - element.y;
786
805
  if (yDistance < 0 && newDistance > 0 || yDistance > 0 && newDistance < 0) {
787
806
  element.y = destination.y;
788
807
  }
789
808
  }
809
+ if (element.x == destination.x && element.y == destination.y) {
810
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
811
+ }
790
812
  }
791
813
  });
792
814
  if (args.speedProgression)
793
815
  updateTickerProgression(args, "speed", args.speedProgression);
794
816
  }
795
817
  };
796
- TickerMove = __decorateClass([
818
+ MoveTicker = __decorateClass([
797
819
  tickerDecorator()
798
- ], TickerMove);
799
- var TickerRotate = class extends TickerBase {
800
- /**
801
- * The method that will be called every frame to rotate the canvas element of the canvas.
802
- * @param delta The delta time
803
- * @param args The arguments that are passed to the ticker
804
- * @param tags The tags of the canvas element that are connected to this ticker
805
- */
806
- fn(t, args, tags) {
807
- let speed = args.speed === void 0 ? 0.1 : args.speed;
820
+ ], MoveTicker);
821
+ var RotateTicker = class extends TickerBase {
822
+ fn(ticker, args, tags, tickerId) {
823
+ let speed = (args.speed === void 0 ? 1 : args.speed) / 60;
808
824
  let clockwise = args.clockwise === void 0 ? true : args.clockwise;
825
+ let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
826
+ if (typeof tagToRemoveAfter2 === "string") {
827
+ tagToRemoveAfter2 = [tagToRemoveAfter2];
828
+ }
809
829
  tags.filter((tag) => {
810
830
  var _a;
811
831
  let element = GameWindowManager.getCanvasElement(tag);
@@ -819,18 +839,108 @@ var TickerRotate = class extends TickerBase {
819
839
  let element = GameWindowManager.getCanvasElement(tag);
820
840
  if (element && element instanceof Container) {
821
841
  if (clockwise)
822
- element.rotation += speed * t.deltaTime;
842
+ element.rotation += speed * ticker.deltaTime;
823
843
  else
824
- element.rotation -= speed * t.deltaTime;
844
+ element.rotation -= speed * ticker.deltaTime;
845
+ if (speed < 1e-5 && !(args.speedProgression && args.speedProgression.type == "linear" && args.speedProgression.amt != 0)) {
846
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
847
+ }
825
848
  }
826
849
  });
827
850
  if (args.speedProgression)
828
851
  updateTickerProgression(args, "speed", args.speedProgression);
829
852
  }
830
853
  };
831
- TickerRotate = __decorateClass([
854
+ RotateTicker = __decorateClass([
832
855
  tickerDecorator()
833
- ], TickerRotate);
856
+ ], RotateTicker);
857
+ var ZoomTicker = class extends TickerBase {
858
+ fn(ticker, args, tags, tickerId) {
859
+ let xSpeed = 0.1;
860
+ let ySpeed = 0.1;
861
+ if (args.speed) {
862
+ if (typeof args.speed === "number") {
863
+ xSpeed = args.speed;
864
+ ySpeed = args.speed;
865
+ } else {
866
+ xSpeed = args.speed.x;
867
+ ySpeed = args.speed.y;
868
+ }
869
+ }
870
+ xSpeed /= 60;
871
+ ySpeed /= 60;
872
+ let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
873
+ if (typeof tagToRemoveAfter2 === "string") {
874
+ tagToRemoveAfter2 = [tagToRemoveAfter2];
875
+ }
876
+ let type = args.type || "zoom";
877
+ let xLimit = Infinity;
878
+ let yLimit = Infinity;
879
+ if (args.limit) {
880
+ if (typeof args.limit === "number") {
881
+ xLimit = args.limit;
882
+ yLimit = args.limit;
883
+ } else {
884
+ xLimit = args.limit.x;
885
+ yLimit = args.limit.y;
886
+ }
887
+ }
888
+ tags.filter((tag) => {
889
+ var _a;
890
+ let element = GameWindowManager.getCanvasElement(tag);
891
+ if (args.startOnlyIfHaveTexture) {
892
+ if (element && element instanceof Sprite && ((_a = element.texture) == null ? void 0 : _a.label) == "EMPTY") {
893
+ return false;
894
+ }
895
+ }
896
+ return true;
897
+ }).forEach((tag) => {
898
+ let element = GameWindowManager.getCanvasElement(tag);
899
+ if (element && element instanceof Container) {
900
+ if (type === "zoom" && (element.scale.x < xLimit || element.scale.y < yLimit)) {
901
+ element.scale.x += xSpeed * ticker.deltaTime;
902
+ element.scale.y += ySpeed * ticker.deltaTime;
903
+ } else if (type === "unzoom" && (element.scale.x > xLimit || element.scale.y > yLimit)) {
904
+ element.scale.x -= xSpeed * ticker.deltaTime;
905
+ element.scale.y -= ySpeed * ticker.deltaTime;
906
+ }
907
+ if (type === "zoom") {
908
+ if (element.scale.x > xLimit) {
909
+ element.scale.x = xLimit;
910
+ }
911
+ if (element.scale.y > yLimit) {
912
+ element.scale.y = yLimit;
913
+ }
914
+ if (element.scale.x >= xLimit && element.scale.y >= yLimit) {
915
+ element.scale.x = xLimit;
916
+ element.scale.y = yLimit;
917
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
918
+ }
919
+ } else if (type === "unzoom") {
920
+ if (element.scale.x < xLimit) {
921
+ element.scale.x = xLimit;
922
+ }
923
+ if (element.scale.y < yLimit) {
924
+ element.scale.y = yLimit;
925
+ }
926
+ if (element.scale.x <= xLimit && element.scale.y <= yLimit) {
927
+ element.scale.x = xLimit;
928
+ element.scale.y = yLimit;
929
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
930
+ }
931
+ }
932
+ if (xSpeed < 1e-5 && ySpeed < 1e-5 && !(args.speedProgression && args.speedProgression.type == "linear" && args.speedProgression.amt != 0)) {
933
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
934
+ }
935
+ }
936
+ });
937
+ if (args.speedProgression)
938
+ updateTickerProgression(args, "speed", args.speedProgression);
939
+ }
940
+ };
941
+ ZoomTicker = __decorateClass([
942
+ tickerDecorator()
943
+ ], ZoomTicker);
834
944
 
835
945
  // src/functions/ExportUtility.ts
836
946
  function createExportableElement(element) {
@@ -980,6 +1090,9 @@ function asciiArtLog() {
980
1090
  `);
981
1091
  }
982
1092
 
1093
+ // src/types/ticker/TagToRemoveAfterType.ts
1094
+ var tagToRemoveAfter = "tagToRemoveAfter";
1095
+
983
1096
  // src/managers/WindowManager.ts
984
1097
  var _GameWindowManager = class _GameWindowManager {
985
1098
  constructor() {
@@ -1162,25 +1275,25 @@ var _GameWindowManager = class _GameWindowManager {
1162
1275
  /**
1163
1276
  * Remove a canvas element from the canvas.
1164
1277
  * And remove all tickers that are not connected to any canvas element.
1165
- * @param tag The tag of the canvas element to be removed.
1278
+ * @param tags The tag of the canvas element to be removed.
1166
1279
  * @returns
1167
1280
  * @example
1168
1281
  * ```typescript
1169
1282
  * GameWindowManager.removeCanvasElement("bunny");
1170
1283
  * ```
1171
1284
  */
1172
- static removeCanvasElement(tag) {
1173
- if (typeof tag === "string") {
1174
- tag = [tag];
1285
+ static removeCanvasElement(tags) {
1286
+ if (typeof tags === "string") {
1287
+ tags = [tags];
1175
1288
  }
1176
- tag.forEach((t) => {
1177
- if (_GameWindowManager._children[t]) {
1178
- _GameWindowManager.app.stage.removeChild(_GameWindowManager._children[t]);
1179
- delete _GameWindowManager._children[t];
1289
+ tags.forEach((tag) => {
1290
+ if (_GameWindowManager._children[tag]) {
1291
+ _GameWindowManager.app.stage.removeChild(_GameWindowManager._children[tag]);
1292
+ delete _GameWindowManager._children[tag];
1293
+ _GameWindowManager.removeTickerByCanvasElement(tag);
1180
1294
  }
1181
1295
  });
1182
- _GameWindowManager.removeTickersWithoutAssociatedCanvasElement();
1183
- _GameWindowManager.childrenTagsOrder = _GameWindowManager.childrenTagsOrder.filter((t) => !tag.includes(t));
1296
+ _GameWindowManager.childrenTagsOrder = _GameWindowManager.childrenTagsOrder.filter((t) => !tags.includes(t));
1184
1297
  }
1185
1298
  /**
1186
1299
  * Get a canvas element by the tag.
@@ -1210,18 +1323,43 @@ var _GameWindowManager = class _GameWindowManager {
1210
1323
  _GameWindowManager.app.stage.removeChildren();
1211
1324
  _GameWindowManager._children = {};
1212
1325
  _GameWindowManager.childrenTagsOrder = [];
1213
- _GameWindowManager.removeTickers();
1326
+ _GameWindowManager.removeAllTickers();
1214
1327
  }
1215
1328
  /**
1216
1329
  * Edit the tag of a canvas element.
1217
1330
  * @param oldTag The old tag of the canvas element.
1218
1331
  * @param newTag The new tag of the canvas element.
1219
1332
  */
1220
- static editTagCanvasElement(oldTag, newTag) {
1333
+ static editCanvasElementTag(oldTag, newTag) {
1221
1334
  if (_GameWindowManager._children[oldTag]) {
1222
1335
  _GameWindowManager._children[newTag] = _GameWindowManager._children[oldTag];
1223
1336
  delete _GameWindowManager._children[oldTag];
1224
1337
  }
1338
+ if (_GameWindowManager._currentTickersSteps[oldTag]) {
1339
+ _GameWindowManager._currentTickersSteps[newTag] = _GameWindowManager._currentTickersSteps[oldTag];
1340
+ delete _GameWindowManager._currentTickersSteps[oldTag];
1341
+ }
1342
+ for (let id in _GameWindowManager._currentTickers) {
1343
+ let ticker = _GameWindowManager._currentTickers[id];
1344
+ if (ticker.canvasElementTags.includes(oldTag)) {
1345
+ ticker.canvasElementTags = ticker.canvasElementTags.map((t) => t === oldTag ? newTag : t);
1346
+ if (ticker.args.hasOwnProperty(tagToRemoveAfter)) {
1347
+ let tagToRemoveAfter2 = ticker.args.tagToRemoveAfter;
1348
+ if (typeof tagToRemoveAfter2 === "string") {
1349
+ tagToRemoveAfter2 = [tagToRemoveAfter2];
1350
+ }
1351
+ if (Array.isArray(tagToRemoveAfter2)) {
1352
+ ticker.args.tagToRemoveAfter = tagToRemoveAfter2.map((t) => t === oldTag ? newTag : t);
1353
+ }
1354
+ }
1355
+ }
1356
+ }
1357
+ for (let timeout in _GameWindowManager._currentTickersTimeouts) {
1358
+ let TickerTimeout = _GameWindowManager._currentTickersTimeouts[timeout];
1359
+ if (TickerTimeout.tags.includes(oldTag)) {
1360
+ TickerTimeout.tags = TickerTimeout.tags.map((t) => t === oldTag ? newTag : t);
1361
+ }
1362
+ }
1225
1363
  }
1226
1364
  /** Edit Tickers Methods */
1227
1365
  /**
@@ -1230,23 +1368,38 @@ var _GameWindowManager = class _GameWindowManager {
1230
1368
  static get currentTickers() {
1231
1369
  return _GameWindowManager._currentTickers;
1232
1370
  }
1371
+ static get currentTickersList() {
1372
+ return Object.values(_GameWindowManager._currentTickers);
1373
+ }
1374
+ static get currentTickersWithoutCreatedBySteps() {
1375
+ return Object.fromEntries(Object.entries(_GameWindowManager._currentTickers).filter(([_, ticker]) => !ticker.createdByTicketStepsId));
1376
+ }
1233
1377
  /**
1234
1378
  * The steps of the tickers
1235
1379
  */
1236
1380
  static get currentTickersSteps() {
1237
1381
  return _GameWindowManager._currentTickersSteps;
1238
1382
  }
1383
+ static generateTickerId(tickerData) {
1384
+ try {
1385
+ return sha1(JSON.stringify(tickerData)).toString() + "_" + Math.random().toString(36).substring(7);
1386
+ } catch (e) {
1387
+ throw new Error(`[Pixi'VN] Error to generate ticker id: ${e}`);
1388
+ }
1389
+ }
1239
1390
  /**
1240
- * Run a ticker.
1391
+ * Run a ticker. You can run multiple addTicker with the same tag and different tickerClasses.
1392
+ * If you run a ticker with the same tag and tickerClass, the old ticker will be removed.
1393
+ * If already exists a sequence of tickers with the same tag, it will be removed.
1241
1394
  * @param canvasEslementTag The tag of the canvas element that will use the ticker.
1242
1395
  * @param ticker The ticker class to be run.
1243
1396
  * @param args The arguments to be used in the ticker.
1244
- * @param duration The time to be used in the ticker. This number is in milliseconds. If it is undefined, the ticker will run forever.
1397
+ * @param duration The time to be used in the ticker. This number is in seconds. If it is undefined, the ticker will run forever.
1245
1398
  * @param priority The priority to be used in the ticker.
1246
1399
  * @returns
1247
1400
  * @example
1248
1401
  * ```typescript
1249
- * GameWindowManager.addTicker("alien", new TickerRotate({ speed: 0.2 }))
1402
+ * GameWindowManager.addTicker("alien", new RotateTicker({ speed: 0.2 }))
1250
1403
  * ```
1251
1404
  */
1252
1405
  static addTicker(canvasElementTag, ticker) {
@@ -1254,82 +1407,88 @@ var _GameWindowManager = class _GameWindowManager {
1254
1407
  if (typeof canvasElementTag === "string") {
1255
1408
  canvasElementTag = [canvasElementTag];
1256
1409
  }
1257
- let t = geTickerInstanceByClassName(tickerName, ticker.args, ticker.duration, ticker.priority);
1258
- if (!t) {
1410
+ if (!geTickerInstanceByClassName(tickerName, ticker.args, ticker.duration, ticker.priority)) {
1259
1411
  console.error(`[Pixi'VN] Ticker ${tickerName} not found`);
1260
1412
  return;
1261
1413
  }
1262
- _GameWindowManager.removeAssociationBetweenTickerCanvasElement(canvasElementTag, ticker);
1263
1414
  let tickerHistory = {
1264
1415
  fn: () => {
1265
1416
  },
1266
1417
  className: tickerName,
1267
- args: ticker.args,
1418
+ args: createExportableElement(ticker.args),
1268
1419
  canvasElementTags: canvasElementTag,
1269
1420
  priority: ticker.priority,
1270
1421
  duration: ticker.duration
1271
1422
  };
1272
- _GameWindowManager.pushTicker(tickerHistory, t);
1273
- _GameWindowManager.removeTickersWithoutAssociatedCanvasElement();
1423
+ let id = _GameWindowManager.generateTickerId(tickerHistory);
1424
+ _GameWindowManager.pushTicker(id, tickerHistory, ticker);
1274
1425
  if (ticker.duration) {
1275
1426
  let timeout = setTimeout(() => {
1276
1427
  _GameWindowManager.removeTickerTimeoutInfo(timeout);
1277
- _GameWindowManager.nextTickerStep(canvasElementTag);
1278
- }, ticker.duration);
1279
- _GameWindowManager.addTickerTimeoutInfo(canvasElementTag, tickerName, timeout.toString());
1428
+ let tickerTimeoutInfo = _GameWindowManager._currentTickersTimeouts[timeout.toString()];
1429
+ if (tickerTimeoutInfo) {
1430
+ _GameWindowManager.removeTicker(id);
1431
+ }
1432
+ }, ticker.duration * 1e3);
1433
+ _GameWindowManager.addTickerTimeoutInfo(canvasElementTag, tickerName, timeout.toString(), true);
1280
1434
  }
1281
1435
  }
1282
- static pushTicker(tickerData, ticker) {
1436
+ static pushTicker(id, tickerData, ticker) {
1283
1437
  _GameWindowManager.removeAssociationBetweenTickerCanvasElement(tickerData.canvasElementTags, tickerData);
1284
- _GameWindowManager._currentTickers.push(tickerData);
1438
+ _GameWindowManager._currentTickers[id] = tickerData;
1285
1439
  tickerData.fn = (t) => {
1286
- ticker == null ? void 0 : ticker.fn(t, tickerData.args, tickerData.canvasElementTags);
1440
+ let data = _GameWindowManager._currentTickers[id];
1441
+ if (data) {
1442
+ ticker == null ? void 0 : ticker.fn(t, data.args, data.canvasElementTags, id);
1443
+ }
1287
1444
  };
1288
1445
  _GameWindowManager.app.ticker.add(tickerData.fn, void 0, tickerData.priority);
1289
1446
  }
1290
1447
  /**
1291
- * Run a sequence of tickers.
1448
+ * Run a sequence of tickers. If exists a ticker steps with the same tag, it will be removed.
1292
1449
  * @param tag The tag of canvas element that will use the tickers.
1293
1450
  * @param steps The steps of the tickers.
1451
+ * @param currentStepNumber The current step number. It is used to continue the sequence of tickers.
1294
1452
  * @returns
1295
1453
  * @example
1296
1454
  * ```typescript
1297
1455
  * GameWindowManager.addTickersSteps("alien", [
1298
- * new TickerRotate({ speed: 0.1, clockwise: true }, 2000),
1299
- * Pause(500),
1300
- * new TickerRotate({ speed: 0.2, clockwise: false }, 2000),
1456
+ * new RotateTicker({ speed: 0.1, clockwise: true }, 2), // 2 seconds
1457
+ * Pause(1), // 1 second
1458
+ * new RotateTicker({ speed: 0.2, clockwise: false }, 2),
1301
1459
  * Repeat,
1302
1460
  * ])
1303
1461
  * ```
1304
1462
  */
1305
- static addTickersSteps(tag, steps) {
1463
+ static addTickersSteps(tag, steps, currentStepNumber = 0) {
1306
1464
  if (steps.length == 0) {
1307
1465
  console.warn("[Pixi'VN] The steps of the tickers is empty");
1308
1466
  return;
1309
1467
  }
1310
- let alredyExists = _GameWindowManager._currentTickersSteps[tag] !== void 0;
1468
+ _GameWindowManager.removeTickerStepByCanvasElement(tag);
1311
1469
  _GameWindowManager._currentTickersSteps[tag] = {
1312
- currentStepNumber: 0,
1313
- steps: steps.map((s) => {
1314
- if (s === Repeat) {
1315
- return s;
1316
- }
1317
- if (!s.duration) {
1318
- console.warn("[Pixi'VN] Duration is not defined, so it will be set to 1000");
1319
- s.duration = 1e3;
1470
+ currentStepNumber,
1471
+ steps: steps.map((step) => {
1472
+ if (step === Repeat) {
1473
+ return step;
1320
1474
  }
1321
- if (s.hasOwnProperty("type") && s.type === PauseValueType) {
1322
- return s;
1475
+ if (step.hasOwnProperty("type") && step.type === "pause") {
1476
+ return step;
1323
1477
  }
1324
- let tickerName = s.constructor.name;
1478
+ let tickerName = step.constructor.name;
1325
1479
  return {
1326
1480
  ticker: tickerName,
1327
- args: s.args,
1328
- duration: s.duration
1481
+ args: createExportableElement(step.args),
1482
+ duration: step.duration
1329
1483
  };
1330
1484
  })
1331
1485
  };
1332
- if (!alredyExists) {
1486
+ _GameWindowManager.runTickersSteps(tag);
1487
+ }
1488
+ static restoneTickersSteps(data) {
1489
+ for (let tag in data) {
1490
+ let steps = data[tag];
1491
+ _GameWindowManager._currentTickersSteps[tag] = steps;
1333
1492
  _GameWindowManager.runTickersSteps(tag);
1334
1493
  }
1335
1494
  }
@@ -1343,12 +1502,17 @@ var _GameWindowManager = class _GameWindowManager {
1343
1502
  return;
1344
1503
  }
1345
1504
  }
1346
- if (step.hasOwnProperty("type") && step.type === PauseValueType) {
1505
+ if (step.hasOwnProperty("type") && step.type === "pause") {
1347
1506
  let timeout = setTimeout(() => {
1507
+ let tickerTimeoutInfo = _GameWindowManager._currentTickersTimeouts[timeout.toString()];
1508
+ if (tickerTimeoutInfo) {
1509
+ tickerTimeoutInfo.tags.forEach((tag2) => {
1510
+ _GameWindowManager.nextTickerStep(tag2);
1511
+ });
1512
+ }
1348
1513
  _GameWindowManager.removeTickerTimeoutInfo(timeout);
1349
- _GameWindowManager.nextTickerStep(tag);
1350
- }, step.duration);
1351
- _GameWindowManager.addTickerTimeoutInfo(tag, "steps", timeout.toString());
1514
+ }, step.duration * 1e3);
1515
+ _GameWindowManager.addTickerTimeoutInfo(tag, "steps", timeout.toString(), false);
1352
1516
  return;
1353
1517
  }
1354
1518
  let ticker = geTickerInstanceByClassName(step.ticker, step.args, step.duration, step.priority);
@@ -1356,57 +1520,88 @@ var _GameWindowManager = class _GameWindowManager {
1356
1520
  console.error(`[Pixi'VN] Ticker ${step.ticker} not found`);
1357
1521
  return;
1358
1522
  }
1359
- _GameWindowManager.addTicker(tag, ticker);
1523
+ let tickerName = ticker.constructor.name;
1524
+ let tickerHistory = {
1525
+ fn: () => {
1526
+ },
1527
+ className: tickerName,
1528
+ args: createExportableElement(ticker.args),
1529
+ canvasElementTags: [tag],
1530
+ priority: ticker.priority,
1531
+ duration: ticker.duration,
1532
+ createdByTicketStepsId: tag
1533
+ };
1534
+ let id = _GameWindowManager.generateTickerId(tickerHistory);
1535
+ _GameWindowManager.pushTicker(id, tickerHistory, ticker);
1536
+ if (ticker.duration) {
1537
+ let timeout = setTimeout(() => {
1538
+ let tickerTimeoutInfo = _GameWindowManager._currentTickersTimeouts[timeout.toString()];
1539
+ if (tickerTimeoutInfo) {
1540
+ _GameWindowManager.removeTicker(id);
1541
+ tickerTimeoutInfo.tags.forEach((tag2) => {
1542
+ _GameWindowManager.nextTickerStep(tag2);
1543
+ });
1544
+ }
1545
+ _GameWindowManager.removeTickerTimeoutInfo(timeout);
1546
+ }, ticker.duration * 1e3);
1547
+ _GameWindowManager.addTickerTimeoutInfo(tag, tickerName, timeout.toString(), false);
1548
+ }
1360
1549
  }
1361
1550
  static nextTickerStep(tag) {
1362
- if (typeof tag === "string") {
1363
- tag = [tag];
1551
+ if (_GameWindowManager._currentTickersSteps[tag]) {
1552
+ let steps = _GameWindowManager._currentTickersSteps[tag];
1553
+ if (steps.currentStepNumber + 1 < steps.steps.length) {
1554
+ steps.currentStepNumber++;
1555
+ _GameWindowManager._currentTickersSteps[tag] = steps;
1556
+ _GameWindowManager.runTickersSteps(tag);
1557
+ } else {
1558
+ _GameWindowManager.removeTickerStepByCanvasElement(tag);
1559
+ }
1364
1560
  }
1365
- tag.forEach((tag2) => {
1366
- if (_GameWindowManager._currentTickersSteps[tag2]) {
1367
- let steps = _GameWindowManager._currentTickersSteps[tag2];
1368
- if (steps.currentStepNumber + 1 < steps.steps.length) {
1369
- steps.currentStepNumber++;
1370
- _GameWindowManager._currentTickersSteps[tag2] = steps;
1371
- _GameWindowManager.runTickersSteps(tag2);
1372
- } else {
1373
- delete _GameWindowManager._currentTickersSteps[tag2];
1374
- }
1561
+ }
1562
+ static onEndOfTicker(canvasElementTags, ticker, canvasElementTagsToDelete, tickerId) {
1563
+ let tickerData = _GameWindowManager._currentTickers[tickerId];
1564
+ _GameWindowManager.removeAssociationBetweenTickerCanvasElement(canvasElementTags, ticker);
1565
+ _GameWindowManager.removeCanvasElement(canvasElementTagsToDelete);
1566
+ if (tickerData) {
1567
+ _GameWindowManager.removeTicker(tickerId);
1568
+ if (tickerData.duration == void 0 && tickerData.createdByTicketStepsId) {
1569
+ _GameWindowManager.nextTickerStep(tickerData.createdByTicketStepsId);
1375
1570
  }
1376
- });
1571
+ }
1377
1572
  }
1378
1573
  /**
1379
1574
  * Remove a connection between a canvas element and a ticker.
1380
1575
  * And remove the ticker if there is no canvas element connected to it.
1381
- * @param tag The tag of the canvas element that will use the ticker.
1576
+ * @param tags The tag of the canvas element that will use the ticker.
1382
1577
  * @param ticker The ticker class to be removed.
1383
1578
  * @example
1384
1579
  * ```typescript
1385
- * GameWindowManager.removeAssociationBetweenTickerCanvasElement("alien", TickerRotate)
1580
+ * GameWindowManager.removeAssociationBetweenTickerCanvasElement("alien", RotateTicker)
1386
1581
  * ```
1387
1582
  */
1388
- static removeAssociationBetweenTickerCanvasElement(tag, ticker) {
1583
+ static removeAssociationBetweenTickerCanvasElement(tags, ticker) {
1389
1584
  let tickerName;
1390
- if (ticker instanceof TickerBase) {
1585
+ if (typeof ticker === "string") {
1586
+ tickerName = ticker;
1587
+ } else if (ticker instanceof TickerBase) {
1391
1588
  tickerName = ticker.constructor.name;
1392
1589
  } else {
1393
1590
  tickerName = ticker.name;
1394
1591
  }
1395
- if (typeof tag === "string") {
1396
- tag = [tag];
1592
+ if (typeof tags === "string") {
1593
+ tags = [tags];
1397
1594
  }
1398
- _GameWindowManager._currentTickers = _GameWindowManager._currentTickers.map((t) => {
1399
- if (t.className === tickerName) {
1400
- t.canvasElementTags = t.canvasElementTags.filter((e) => !tag.includes(e));
1595
+ for (let id in _GameWindowManager._currentTickers) {
1596
+ let ticker2 = _GameWindowManager._currentTickers[id];
1597
+ if (ticker2.className === tickerName) {
1598
+ _GameWindowManager._currentTickers[id].canvasElementTags = ticker2.canvasElementTags.filter((e) => !tags.includes(e));
1401
1599
  }
1402
- return t;
1403
- });
1404
- for (let timeout in _GameWindowManager.currentTickersTimeouts) {
1405
- let t = _GameWindowManager.currentTickersTimeouts[timeout].tags.filter((e) => !tag.includes(e));
1406
- if (t.length == 0) {
1407
- _GameWindowManager.removeTickerTimeoutInfo(timeout);
1408
- } else {
1409
- _GameWindowManager.currentTickersTimeouts[timeout].tags = t;
1600
+ }
1601
+ for (let timeout in _GameWindowManager._currentTickersTimeouts) {
1602
+ let TickerTimeout = _GameWindowManager._currentTickersTimeouts[timeout];
1603
+ if (TickerTimeout.ticker === tickerName && TickerTimeout.canBeDeletedBeforeEnd) {
1604
+ _GameWindowManager._currentTickersTimeouts[timeout].tags = TickerTimeout.tags.filter((t) => !tags.includes(t));
1410
1605
  }
1411
1606
  }
1412
1607
  _GameWindowManager.removeTickersWithoutAssociatedCanvasElement();
@@ -1415,49 +1610,117 @@ var _GameWindowManager = class _GameWindowManager {
1415
1610
  * Remove all tickers that are not connected to any existing canvas element.
1416
1611
  */
1417
1612
  static removeTickersWithoutAssociatedCanvasElement() {
1418
- let currentTickers = _GameWindowManager._currentTickers.map((t) => {
1419
- t.canvasElementTags = t.canvasElementTags.filter((e) => _GameWindowManager._children[e]);
1420
- return t;
1421
- });
1422
- currentTickers.filter((t) => t.canvasElementTags.length === 0).forEach((t) => {
1423
- _GameWindowManager.app.ticker.remove(t.fn);
1424
- });
1425
- currentTickers = currentTickers.filter((t) => t.canvasElementTags.length > 0);
1426
- _GameWindowManager._currentTickers = currentTickers;
1613
+ for (let id in _GameWindowManager._currentTickers) {
1614
+ let ticker = _GameWindowManager._currentTickers[id];
1615
+ ticker.canvasElementTags = ticker.canvasElementTags.filter((e) => _GameWindowManager._children[e]);
1616
+ if (ticker.canvasElementTags.length === 0) {
1617
+ _GameWindowManager.removeTicker(id);
1618
+ }
1619
+ }
1427
1620
  for (let tag in _GameWindowManager._currentTickersSteps) {
1428
1621
  if (_GameWindowManager._children[tag] === void 0) {
1429
1622
  delete _GameWindowManager._currentTickersSteps[tag];
1430
1623
  }
1431
1624
  }
1625
+ Object.entries(_GameWindowManager._currentTickersTimeouts).forEach(([timeout, { tags }]) => {
1626
+ if (tags.length === 0) {
1627
+ _GameWindowManager.removeTickerTimeout(timeout);
1628
+ }
1629
+ });
1432
1630
  }
1433
- static addTickerTimeoutInfo(tags, ticker, timeout) {
1631
+ static addTickerTimeoutInfo(tags, ticker, timeout, canBeDeletedBeforeEnd) {
1434
1632
  if (typeof tags === "string") {
1435
1633
  tags = [tags];
1436
1634
  }
1437
- _GameWindowManager.currentTickersTimeouts[timeout] = {
1635
+ _GameWindowManager._currentTickersTimeouts[timeout] = {
1438
1636
  tags,
1439
- ticker
1637
+ ticker,
1638
+ canBeDeletedBeforeEnd
1440
1639
  };
1441
1640
  }
1442
1641
  static removeTickerTimeoutInfo(timeout) {
1443
1642
  if (typeof timeout !== "string") {
1444
1643
  timeout = timeout.toString();
1445
1644
  }
1446
- if (_GameWindowManager.currentTickersTimeouts[timeout]) {
1447
- delete _GameWindowManager.currentTickersTimeouts[timeout];
1645
+ if (_GameWindowManager._currentTickersTimeouts[timeout]) {
1646
+ delete _GameWindowManager._currentTickersTimeouts[timeout];
1647
+ }
1648
+ }
1649
+ static removeTickerTimeout(timeout) {
1650
+ if (typeof timeout !== "string") {
1651
+ timeout = timeout.toString();
1652
+ }
1653
+ clearTimeout(Number(timeout));
1654
+ _GameWindowManager.removeTickerTimeoutInfo(timeout);
1655
+ }
1656
+ static removeTickerTimeoutsByTag(tag, checkCanBeDeletedBeforeEnd) {
1657
+ for (let timeout in _GameWindowManager._currentTickersTimeouts) {
1658
+ let tagsWithoutTagToRemove = _GameWindowManager._currentTickersTimeouts[timeout].tags.filter((t) => t !== tag);
1659
+ if (tagsWithoutTagToRemove.length === 0) {
1660
+ let canBeDeletedBeforeEnd = _GameWindowManager._currentTickersTimeouts[timeout].canBeDeletedBeforeEnd;
1661
+ if (!checkCanBeDeletedBeforeEnd || canBeDeletedBeforeEnd) {
1662
+ _GameWindowManager.removeTickerTimeout(timeout);
1663
+ }
1664
+ } else {
1665
+ _GameWindowManager._currentTickersTimeouts[timeout].tags = tagsWithoutTagToRemove;
1666
+ }
1448
1667
  }
1449
1668
  }
1450
1669
  /**
1451
1670
  * Remove all tickers from the canvas.
1452
1671
  */
1453
- static removeTickers() {
1672
+ static removeAllTickers() {
1454
1673
  _GameWindowManager._currentTickersSteps = {};
1455
- _GameWindowManager._currentTickers.forEach((t) => {
1456
- _GameWindowManager.app.ticker.remove(t.fn);
1674
+ Object.keys(_GameWindowManager._currentTickers).forEach((id) => {
1675
+ _GameWindowManager.removeTicker(id);
1457
1676
  });
1458
- _GameWindowManager._currentTickers = [];
1459
- for (let timeout in _GameWindowManager.currentTickersTimeouts) {
1460
- _GameWindowManager.removeTickerTimeoutInfo(timeout);
1677
+ _GameWindowManager._currentTickers = {};
1678
+ for (let timeout in _GameWindowManager._currentTickersTimeouts) {
1679
+ _GameWindowManager.removeTickerTimeout(timeout);
1680
+ }
1681
+ }
1682
+ /**
1683
+ * Remove all tickers from a canvas element.
1684
+ * @param tag The tag of the canvas element that will use the ticker.
1685
+ */
1686
+ static removeTickerByCanvasElement(tag) {
1687
+ if (typeof tag === "string") {
1688
+ tag = [tag];
1689
+ }
1690
+ tag.forEach((tag2) => {
1691
+ for (let id in _GameWindowManager._currentTickers) {
1692
+ let ticker = _GameWindowManager._currentTickers[id];
1693
+ if (ticker.canvasElementTags.includes(tag2)) {
1694
+ _GameWindowManager.removeTicker(id);
1695
+ }
1696
+ }
1697
+ if (_GameWindowManager._currentTickersSteps[tag2]) {
1698
+ delete _GameWindowManager._currentTickersSteps[tag2];
1699
+ }
1700
+ _GameWindowManager.removeTickerTimeoutsByTag(tag2, false);
1701
+ delete _GameWindowManager._currentTickersSteps[tag2];
1702
+ });
1703
+ }
1704
+ static removeTickerStepByCanvasElement(tag) {
1705
+ if (_GameWindowManager._currentTickersSteps[tag]) {
1706
+ delete _GameWindowManager._currentTickersSteps[tag];
1707
+ }
1708
+ for (let id in _GameWindowManager._currentTickers) {
1709
+ let ticker = _GameWindowManager._currentTickers[id];
1710
+ if (ticker.createdByTicketStepsId === tag) {
1711
+ _GameWindowManager.removeTicker(id);
1712
+ }
1713
+ }
1714
+ }
1715
+ static removeTicker(tickerId) {
1716
+ let ticker = _GameWindowManager._currentTickers[tickerId];
1717
+ if (ticker) {
1718
+ if (ticker.args.hasOwnProperty(tagToRemoveAfter)) {
1719
+ let tagToRemoveAfter2 = ticker.args.tagToRemoveAfter;
1720
+ _GameWindowManager.removeCanvasElement(tagToRemoveAfter2);
1721
+ }
1722
+ _GameWindowManager.app.ticker.remove(ticker.fn);
1723
+ delete _GameWindowManager._currentTickers[tickerId];
1461
1724
  }
1462
1725
  }
1463
1726
  /**
@@ -1484,7 +1747,8 @@ var _GameWindowManager = class _GameWindowManager {
1484
1747
  currentElements[tag] = exportCanvasElement(_GameWindowManager._children[tag]);
1485
1748
  }
1486
1749
  return {
1487
- currentTickers: createExportableElement(_GameWindowManager._currentTickers),
1750
+ currentTickers: createExportableElement(_GameWindowManager.currentTickersWithoutCreatedBySteps),
1751
+ currentTickersSteps: createExportableElement(_GameWindowManager._currentTickersSteps),
1488
1752
  currentElements: createExportableElement(currentElements),
1489
1753
  childrenTagsOrder: createExportableElement(_GameWindowManager.childrenTagsOrder)
1490
1754
  };
@@ -1519,7 +1783,8 @@ var _GameWindowManager = class _GameWindowManager {
1519
1783
  }
1520
1784
  if (data.hasOwnProperty("currentTickers")) {
1521
1785
  let currentTickers = data["currentTickers"];
1522
- currentTickers.forEach((t) => {
1786
+ for (let id in currentTickers) {
1787
+ let t = currentTickers[id];
1523
1788
  let tags = t.canvasElementTags;
1524
1789
  let ticker = geTickerInstanceByClassName(t.className, t.args, t.duration, t.priority);
1525
1790
  if (ticker) {
@@ -1527,7 +1792,11 @@ var _GameWindowManager = class _GameWindowManager {
1527
1792
  } else {
1528
1793
  console.error(`[Pixi'VN] Ticker ${t.className} not found`);
1529
1794
  }
1530
- });
1795
+ }
1796
+ }
1797
+ if (data.hasOwnProperty("currentTickersSteps")) {
1798
+ let currentTickersSteps = data["currentTickersSteps"];
1799
+ _GameWindowManager.restoneTickersSteps(currentTickersSteps);
1531
1800
  }
1532
1801
  } catch (e) {
1533
1802
  console.error("[Pixi'VN] Error importing data", e);
@@ -1541,9 +1810,9 @@ _GameWindowManager._children = {};
1541
1810
  * The order of the children tags.
1542
1811
  */
1543
1812
  _GameWindowManager.childrenTagsOrder = [];
1544
- _GameWindowManager._currentTickers = [];
1813
+ _GameWindowManager._currentTickers = {};
1545
1814
  _GameWindowManager._currentTickersSteps = {};
1546
- _GameWindowManager.currentTickersTimeouts = {};
1815
+ _GameWindowManager._currentTickersTimeouts = {};
1547
1816
  var GameWindowManager = _GameWindowManager;
1548
1817
 
1549
1818
  // src/managers/StepManager.ts
@@ -1610,7 +1879,8 @@ var _GameStepManager = class _GameStepManager {
1610
1879
  canvas: {
1611
1880
  childrenTagsOrder: [],
1612
1881
  currentElements: {},
1613
- currentTickers: []
1882
+ currentTickers: {},
1883
+ currentTickersSteps: {}
1614
1884
  },
1615
1885
  labelIndex: -1,
1616
1886
  openedLabels: []
@@ -1821,8 +2091,15 @@ var _GameStepManager = class _GameStepManager {
1821
2091
  }
1822
2092
  try {
1823
2093
  if (labelId === CLOSE_LABEL_ID) {
1824
- let closeLabel = newCloseLabel(choiseMade);
1825
- return _GameStepManager.closeChoiceMenu(closeLabel, props);
2094
+ let closeCurrentLabel = newCloseLabel(choiseMade);
2095
+ let choice = {
2096
+ label: closeCurrentLabel,
2097
+ text: "",
2098
+ closeCurrentLabel: false,
2099
+ type: "close",
2100
+ props: {}
2101
+ };
2102
+ return _GameStepManager.closeChoiceMenu(choice, props);
1826
2103
  }
1827
2104
  let tempLabel = getLabelById(labelId);
1828
2105
  if (!tempLabel) {
@@ -1872,8 +2149,15 @@ var _GameStepManager = class _GameStepManager {
1872
2149
  }
1873
2150
  try {
1874
2151
  if (labelId === CLOSE_LABEL_ID) {
1875
- let closeLabel = newCloseLabel(choiseMade);
1876
- return _GameStepManager.closeChoiceMenu(closeLabel, props);
2152
+ let closeCurrentLabel = newCloseLabel(choiseMade);
2153
+ let choice = {
2154
+ label: closeCurrentLabel,
2155
+ text: "",
2156
+ closeCurrentLabel: false,
2157
+ type: "close",
2158
+ props: {}
2159
+ };
2160
+ return _GameStepManager.closeChoiceMenu(choice, props);
1877
2161
  }
1878
2162
  let tempLabel = getLabelById(labelId);
1879
2163
  if (!tempLabel) {
@@ -1889,7 +2173,8 @@ var _GameStepManager = class _GameStepManager {
1889
2173
  }
1890
2174
  /**
1891
2175
  * When the player is in a choice menu, can use this function to exit to the choice menu.
1892
- * @param props The props to pass to the step.
2176
+ * @param choice
2177
+ * @param props
1893
2178
  * @returns StepLabelResultType or undefined.
1894
2179
  * @example
1895
2180
  * ```typescript
@@ -1900,12 +2185,16 @@ var _GameStepManager = class _GameStepManager {
1900
2185
  * })
1901
2186
  * ```
1902
2187
  */
1903
- static closeChoiceMenu(label, props) {
2188
+ static closeChoiceMenu(choice, props) {
1904
2189
  return __async(this, null, function* () {
2190
+ let label = choice.label;
1905
2191
  let choiseMade = void 0;
1906
2192
  if (typeof label.choiseIndex === "number") {
1907
2193
  choiseMade = label.choiseIndex;
1908
2194
  }
2195
+ if (choice.closeCurrentLabel) {
2196
+ _GameStepManager.closeCurrentLabel();
2197
+ }
1909
2198
  return _GameStepManager.runNextStep(props, choiseMade);
1910
2199
  });
1911
2200
  }