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