@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
@@ -1,6 +1,6 @@
1
1
  import { Sprite, Container, Application, Text, Assets, Texture } from 'pixi.js';
2
2
  import 'deep-diff';
3
- import 'crypto-js/sha1';
3
+ import sha1 from 'crypto-js/sha1';
4
4
 
5
5
  var __defProp = Object.defineProperty;
6
6
  var __defProps = Object.defineProperties;
@@ -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) => {
@@ -594,18 +593,12 @@ function newCloseLabel(choiseIndex) {
594
593
  // src/types/CloseType.ts
595
594
  var Close = "close";
596
595
 
597
- // src/types/PauseType.ts
598
- var PauseValueType = "pause";
599
-
600
- // src/types/RepeatType.ts
601
- var Repeat = "repeat";
602
-
603
596
  // src/classes/ticker/TickerBase.ts
604
597
  var TickerBase = class {
605
598
  /**
606
599
  * @param args The arguments that you want to pass to the ticker.
607
- * @param duration The duration of the ticker. If is undefined, the ticker will be called every frame.
608
- * @param priority The priority of the ticker. If is undefined, the priority will be UPDATE_PRIORITY.NORMAL.
600
+ * @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
601
+ * @param priority The priority of the ticker. @default UPDATE_PRIORITY.NORMAL
609
602
  */
610
603
  constructor(args, duration, priority) {
611
604
  this.args = args;
@@ -615,28 +608,26 @@ var TickerBase = class {
615
608
  /**
616
609
  * The method that will be called every frame.
617
610
  * This method should be overridden and you can use GameWindowManager.addCanvasElement() to get the canvas element of the canvas, and edit them.
618
- * @param t The ticker that is calling this method
619
- * @param args The arguments that you passed when you added the ticker
620
- * @param tags The tags of the canvas elements that are connected to this ticker
611
+ * @param _ticker The ticker that is calling this method
612
+ * @param _args The arguments that you passed when you added the ticker
613
+ * @param _tags The tags of the canvas elements that are connected to this ticker
614
+ * @param _tickerId The id of the ticker. You can use this to get the ticker from the {@link GameWindowManager.currentTickers}
621
615
  */
622
- fn(_t, _args, _tags) {
616
+ fn(_ticker, _args, _tags, _tickerId) {
623
617
  throw new Error("[Pixi'VN] The method TickerBase.fn() must be overridden");
624
618
  }
625
619
  };
626
- var TickerFadeAlpha = class extends TickerBase {
627
- /**
628
- * The method that will be called every frame to fade the alpha of the canvas element of the canvas.
629
- * @param delta The delta time
630
- * @param args The arguments that are passed to the ticker
631
- * @param tags The tags of the canvas element that are connected to this ticker
632
- */
633
- fn(t, args, tags) {
620
+
621
+ // src/classes/ticker/FadeAlphaTicker.ts
622
+ var FadeAlphaTicker = class extends TickerBase {
623
+ fn(ticker, args, tags, tickerId) {
634
624
  let type = args.type === void 0 ? "hide" : args.type;
635
- let speed = args.speed === void 0 ? 0.1 : args.speed;
625
+ let duration = args.duration === void 0 ? 1 : args.duration;
626
+ let speed = 1 / (duration * 60);
636
627
  let limit = args.limit === void 0 ? type === "hide" ? 0 : 1 : args.limit;
637
- let removeElementAfter = args.tagToRemoveAfter || [];
638
- if (typeof removeElementAfter === "string") {
639
- removeElementAfter = [removeElementAfter];
628
+ let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
629
+ if (typeof tagToRemoveAfter2 === "string") {
630
+ tagToRemoveAfter2 = [tagToRemoveAfter2];
640
631
  }
641
632
  if (type === "hide" && limit < 0) {
642
633
  limit = 0;
@@ -657,61 +648,88 @@ var TickerFadeAlpha = class extends TickerBase {
657
648
  let element = GameWindowManager.getCanvasElement(tag);
658
649
  if (element && element instanceof Container) {
659
650
  if (type === "show" && element.alpha < limit) {
660
- element.alpha += speed * t.deltaTime;
651
+ element.alpha += speed * ticker.deltaTime;
661
652
  } else if (type === "hide" && element.alpha > limit) {
662
- element.alpha -= speed * t.deltaTime;
663
- } else {
653
+ element.alpha -= speed * ticker.deltaTime;
654
+ }
655
+ if (type === "show" && element.alpha >= limit) {
656
+ element.alpha = limit;
657
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
658
+ } else if (type === "hide" && element.alpha <= limit) {
664
659
  element.alpha = limit;
665
- GameWindowManager.removeAssociationBetweenTickerCanvasElement(tag, this);
666
- GameWindowManager.removeCanvasElement(removeElementAfter);
660
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
667
661
  }
668
662
  }
669
663
  });
670
664
  }
671
665
  };
672
- TickerFadeAlpha = __decorateClass([
666
+ FadeAlphaTicker = __decorateClass([
673
667
  tickerDecorator()
674
- ], TickerFadeAlpha);
668
+ ], FadeAlphaTicker);
675
669
 
676
670
  // src/functions/TickerUtility.ts
677
671
  function updateTickerProgression(args, propertyName, progression) {
678
- if (args.hasOwnProperty(propertyName) && typeof args[propertyName] !== "number") {
672
+ if (args[propertyName] === void 0 || !progression || args[propertyName] === progression.limit) {
679
673
  return;
680
674
  }
681
- if (args[propertyName] !== void 0 && progression && args[propertyName] !== progression.limit) {
675
+ if (typeof args[propertyName] === "number") {
682
676
  if (progression.type === "linear") {
683
- args[propertyName] += progression.amt;
684
- if (progression.limit !== void 0) {
685
- if (args[propertyName] > progression.limit && progression.amt > 0) {
686
- args[propertyName] = progression.limit;
687
- } else if (args[propertyName] < progression.limit && progression.amt < 0) {
688
- args[propertyName] = progression.limit;
689
- }
690
- }
677
+ args[propertyName] = getLinearProgression(args[propertyName], progression);
691
678
  } else if (progression.type === "exponential") {
692
- args[propertyName] += args[propertyName] * progression.percentage;
693
- if (progression.limit !== void 0) {
694
- if (args[propertyName] > progression.limit && progression.percentage > 0) {
695
- args[propertyName] = progression.limit;
696
- } else if (args[propertyName] < progression.limit && progression.percentage < 0) {
697
- args[propertyName] = progression.limit;
698
- }
699
- }
679
+ args[propertyName] = getExponentialProgression(args[propertyName], progression);
680
+ }
681
+ } 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") {
682
+ if (progression.type === "linear") {
683
+ args[propertyName].x = getLinearProgression(args[propertyName].x, progression);
684
+ args[propertyName].y = getLinearProgression(args[propertyName].y, progression);
685
+ } else if (progression.type === "exponential") {
686
+ args[propertyName].x = getExponentialProgression(args[propertyName].x, progression);
687
+ args[propertyName].y = getExponentialProgression(args[propertyName].y, progression);
688
+ }
689
+ }
690
+ }
691
+ function getLinearProgression(number, progression) {
692
+ if (progression.limit !== void 0) {
693
+ if (number > progression.limit && progression.amt > 0) {
694
+ return progression.limit;
695
+ } else if (number < progression.limit && progression.amt < 0) {
696
+ return progression.limit;
697
+ }
698
+ }
699
+ return number + progression.amt / 60;
700
+ }
701
+ function getExponentialProgression(number, progression) {
702
+ if (progression.limit !== void 0) {
703
+ if (number > progression.limit && progression.percentage > 0) {
704
+ return progression.limit;
705
+ } else if (number < progression.limit && progression.percentage < 0) {
706
+ return progression.limit;
700
707
  }
701
708
  }
709
+ return number + number * progression.percentage;
702
710
  }
703
711
 
704
- // src/classes/ticker/TickerMove.ts
705
- var TickerMove = class extends TickerBase {
706
- /**
707
- * The method that will be called every frame to move the canvas element of the canvas.
708
- * @param t The ticker that is calling this method
709
- * @param args The arguments that are passed to the ticker
710
- * @param tags The tags of the canvas element that are connected to this ticker
711
- */
712
- fn(t, args, tags) {
713
- let speed = args.speed === void 0 ? 0.1 : args.speed;
712
+ // src/classes/ticker/MoveTicker.ts
713
+ var MoveTicker = class extends TickerBase {
714
+ fn(ticker, args, tags, tickerId) {
715
+ let xSpeed = 1;
716
+ let ySpeed = 1;
717
+ if (args.speed) {
718
+ if (typeof args.speed === "number") {
719
+ xSpeed = args.speed;
720
+ ySpeed = args.speed;
721
+ } else {
722
+ xSpeed = args.speed.x;
723
+ ySpeed = args.speed.y;
724
+ }
725
+ }
726
+ xSpeed /= 60;
727
+ ySpeed /= 60;
714
728
  let destination = args.destination;
729
+ let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
730
+ if (typeof tagToRemoveAfter2 === "string") {
731
+ tagToRemoveAfter2 = [tagToRemoveAfter2];
732
+ }
715
733
  tags.filter((tag) => {
716
734
  var _a;
717
735
  let element = GameWindowManager.getCanvasElement(tag);
@@ -724,41 +742,42 @@ var TickerMove = class extends TickerBase {
724
742
  }).forEach((tag) => {
725
743
  let element = GameWindowManager.getCanvasElement(tag);
726
744
  if (element && element instanceof Container) {
727
- let xDistance = destination.x - element.x;
745
+ let xDistance = destination.x - element.x > 0 ? 1 : -1;
728
746
  if (xDistance != 0) {
729
- element.x += xDistance / speed * t.deltaTime;
747
+ element.x += xDistance * xSpeed * ticker.deltaTime;
730
748
  let newDistance = destination.x - element.x;
731
749
  if (xDistance < 0 && newDistance > 0 || xDistance > 0 && newDistance < 0) {
732
750
  element.x = destination.x;
733
751
  }
734
752
  }
735
- let yDistance = destination.y - element.y;
753
+ let yDistance = destination.y - element.y > 0 ? 1 : -1;
736
754
  if (yDistance != 0) {
737
- element.y += yDistance / speed * t.deltaTime;
755
+ element.y += yDistance * ySpeed * ticker.deltaTime;
738
756
  let newDistance = destination.y - element.y;
739
757
  if (yDistance < 0 && newDistance > 0 || yDistance > 0 && newDistance < 0) {
740
758
  element.y = destination.y;
741
759
  }
742
760
  }
761
+ if (element.x == destination.x && element.y == destination.y) {
762
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
763
+ }
743
764
  }
744
765
  });
745
766
  if (args.speedProgression)
746
767
  updateTickerProgression(args, "speed", args.speedProgression);
747
768
  }
748
769
  };
749
- TickerMove = __decorateClass([
770
+ MoveTicker = __decorateClass([
750
771
  tickerDecorator()
751
- ], TickerMove);
752
- var TickerRotate = class extends TickerBase {
753
- /**
754
- * The method that will be called every frame to rotate the canvas element of the canvas.
755
- * @param delta The delta time
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;
772
+ ], MoveTicker);
773
+ var RotateTicker = class extends TickerBase {
774
+ fn(ticker, args, tags, tickerId) {
775
+ let speed = (args.speed === void 0 ? 1 : args.speed) / 60;
761
776
  let clockwise = args.clockwise === void 0 ? true : args.clockwise;
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);
@@ -772,18 +791,111 @@ var TickerRotate = class extends TickerBase {
772
791
  let element = GameWindowManager.getCanvasElement(tag);
773
792
  if (element && element instanceof Container) {
774
793
  if (clockwise)
775
- element.rotation += speed * t.deltaTime;
794
+ element.rotation += speed * ticker.deltaTime;
776
795
  else
777
- element.rotation -= speed * t.deltaTime;
796
+ element.rotation -= speed * ticker.deltaTime;
797
+ if (speed < 1e-5 && !(args.speedProgression && args.speedProgression.type == "linear" && args.speedProgression.amt != 0)) {
798
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
799
+ }
800
+ }
801
+ });
802
+ if (args.speedProgression)
803
+ updateTickerProgression(args, "speed", args.speedProgression);
804
+ }
805
+ };
806
+ RotateTicker = __decorateClass([
807
+ tickerDecorator()
808
+ ], RotateTicker);
809
+ var ZoomTicker = class extends TickerBase {
810
+ fn(ticker, args, tags, tickerId) {
811
+ let xSpeed = 0.1;
812
+ let ySpeed = 0.1;
813
+ if (args.speed) {
814
+ if (typeof args.speed === "number") {
815
+ xSpeed = args.speed;
816
+ ySpeed = args.speed;
817
+ } else {
818
+ xSpeed = args.speed.x;
819
+ ySpeed = args.speed.y;
820
+ }
821
+ }
822
+ xSpeed /= 60;
823
+ ySpeed /= 60;
824
+ let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
825
+ if (typeof tagToRemoveAfter2 === "string") {
826
+ tagToRemoveAfter2 = [tagToRemoveAfter2];
827
+ }
828
+ let type = args.type || "zoom";
829
+ let xLimit = Infinity;
830
+ let yLimit = Infinity;
831
+ if (args.limit) {
832
+ if (typeof args.limit === "number") {
833
+ xLimit = args.limit;
834
+ yLimit = args.limit;
835
+ } else {
836
+ xLimit = args.limit.x;
837
+ yLimit = args.limit.y;
838
+ }
839
+ }
840
+ tags.filter((tag) => {
841
+ var _a;
842
+ let element = GameWindowManager.getCanvasElement(tag);
843
+ if (args.startOnlyIfHaveTexture) {
844
+ if (element && element instanceof Sprite && ((_a = element.texture) == null ? void 0 : _a.label) == "EMPTY") {
845
+ return false;
846
+ }
847
+ }
848
+ return true;
849
+ }).forEach((tag) => {
850
+ let element = GameWindowManager.getCanvasElement(tag);
851
+ if (element && element instanceof Container) {
852
+ if (type === "zoom" && (element.scale.x < xLimit || element.scale.y < yLimit)) {
853
+ element.scale.x += xSpeed * ticker.deltaTime;
854
+ element.scale.y += ySpeed * ticker.deltaTime;
855
+ } else if (type === "unzoom" && (element.scale.x > xLimit || element.scale.y > yLimit)) {
856
+ element.scale.x -= xSpeed * ticker.deltaTime;
857
+ element.scale.y -= ySpeed * ticker.deltaTime;
858
+ }
859
+ if (type === "zoom") {
860
+ if (element.scale.x > xLimit) {
861
+ element.scale.x = xLimit;
862
+ }
863
+ if (element.scale.y > yLimit) {
864
+ element.scale.y = yLimit;
865
+ }
866
+ if (element.scale.x >= xLimit && element.scale.y >= yLimit) {
867
+ element.scale.x = xLimit;
868
+ element.scale.y = yLimit;
869
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
870
+ }
871
+ } else if (type === "unzoom") {
872
+ if (element.scale.x < xLimit) {
873
+ element.scale.x = xLimit;
874
+ }
875
+ if (element.scale.y < yLimit) {
876
+ element.scale.y = yLimit;
877
+ }
878
+ if (element.scale.x <= xLimit && element.scale.y <= yLimit) {
879
+ element.scale.x = xLimit;
880
+ element.scale.y = yLimit;
881
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
882
+ }
883
+ }
884
+ if (xSpeed < 1e-5 && ySpeed < 1e-5 && !(args.speedProgression && args.speedProgression.type == "linear" && args.speedProgression.amt != 0)) {
885
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
886
+ }
778
887
  }
779
888
  });
780
889
  if (args.speedProgression)
781
890
  updateTickerProgression(args, "speed", args.speedProgression);
782
891
  }
783
892
  };
784
- TickerRotate = __decorateClass([
893
+ ZoomTicker = __decorateClass([
785
894
  tickerDecorator()
786
- ], TickerRotate);
895
+ ], ZoomTicker);
896
+
897
+ // src/constants.ts
898
+ var Repeat = "repeat";
787
899
 
788
900
  // src/functions/ExportUtility.ts
789
901
  function createExportableElement(element) {
@@ -804,7 +916,7 @@ function tickerDecorator(name) {
804
916
  name = target.name;
805
917
  }
806
918
  if (registeredTickers[name]) {
807
- console.warn(`[Pixi'VN] Ticker ${name} already exists, it will be overwritten`);
919
+ console.info(`[Pixi'VN] Ticker ${name} already exists, it will be overwritten`);
808
920
  }
809
921
  registeredTickers[name] = target;
810
922
  };
@@ -834,6 +946,9 @@ function asciiArtLog() {
834
946
  `);
835
947
  }
836
948
 
949
+ // src/types/ticker/TagToRemoveAfterType.ts
950
+ var tagToRemoveAfter = "tagToRemoveAfter";
951
+
837
952
  // src/managers/WindowManager.ts
838
953
  var _GameWindowManager = class _GameWindowManager {
839
954
  constructor() {
@@ -1016,25 +1131,25 @@ var _GameWindowManager = class _GameWindowManager {
1016
1131
  /**
1017
1132
  * Remove a canvas element from the canvas.
1018
1133
  * And remove all tickers that are not connected to any canvas element.
1019
- * @param tag The tag of the canvas element to be removed.
1134
+ * @param tags The tag of the canvas element to be removed.
1020
1135
  * @returns
1021
1136
  * @example
1022
1137
  * ```typescript
1023
1138
  * GameWindowManager.removeCanvasElement("bunny");
1024
1139
  * ```
1025
1140
  */
1026
- static removeCanvasElement(tag) {
1027
- if (typeof tag === "string") {
1028
- tag = [tag];
1141
+ static removeCanvasElement(tags) {
1142
+ if (typeof tags === "string") {
1143
+ tags = [tags];
1029
1144
  }
1030
- tag.forEach((t) => {
1031
- if (_GameWindowManager._children[t]) {
1032
- _GameWindowManager.app.stage.removeChild(_GameWindowManager._children[t]);
1033
- delete _GameWindowManager._children[t];
1145
+ tags.forEach((tag) => {
1146
+ if (_GameWindowManager._children[tag]) {
1147
+ _GameWindowManager.app.stage.removeChild(_GameWindowManager._children[tag]);
1148
+ delete _GameWindowManager._children[tag];
1149
+ _GameWindowManager.removeTickerByCanvasElement(tag);
1034
1150
  }
1035
1151
  });
1036
- _GameWindowManager.removeTickersWithoutAssociatedCanvasElement();
1037
- _GameWindowManager.childrenTagsOrder = _GameWindowManager.childrenTagsOrder.filter((t) => !tag.includes(t));
1152
+ _GameWindowManager.childrenTagsOrder = _GameWindowManager.childrenTagsOrder.filter((t) => !tags.includes(t));
1038
1153
  }
1039
1154
  /**
1040
1155
  * Get a canvas element by the tag.
@@ -1064,18 +1179,43 @@ var _GameWindowManager = class _GameWindowManager {
1064
1179
  _GameWindowManager.app.stage.removeChildren();
1065
1180
  _GameWindowManager._children = {};
1066
1181
  _GameWindowManager.childrenTagsOrder = [];
1067
- _GameWindowManager.removeTickers();
1182
+ _GameWindowManager.removeAllTickers();
1068
1183
  }
1069
1184
  /**
1070
1185
  * Edit the tag of a canvas element.
1071
1186
  * @param oldTag The old tag of the canvas element.
1072
1187
  * @param newTag The new tag of the canvas element.
1073
1188
  */
1074
- static editTagCanvasElement(oldTag, newTag) {
1189
+ static editCanvasElementTag(oldTag, newTag) {
1075
1190
  if (_GameWindowManager._children[oldTag]) {
1076
1191
  _GameWindowManager._children[newTag] = _GameWindowManager._children[oldTag];
1077
1192
  delete _GameWindowManager._children[oldTag];
1078
1193
  }
1194
+ if (_GameWindowManager._currentTickersSteps[oldTag]) {
1195
+ _GameWindowManager._currentTickersSteps[newTag] = _GameWindowManager._currentTickersSteps[oldTag];
1196
+ delete _GameWindowManager._currentTickersSteps[oldTag];
1197
+ }
1198
+ for (let id in _GameWindowManager._currentTickers) {
1199
+ let ticker = _GameWindowManager._currentTickers[id];
1200
+ if (ticker.canvasElementTags.includes(oldTag)) {
1201
+ ticker.canvasElementTags = ticker.canvasElementTags.map((t) => t === oldTag ? newTag : t);
1202
+ if (ticker.args.hasOwnProperty(tagToRemoveAfter)) {
1203
+ let tagToRemoveAfter2 = ticker.args.tagToRemoveAfter;
1204
+ if (typeof tagToRemoveAfter2 === "string") {
1205
+ tagToRemoveAfter2 = [tagToRemoveAfter2];
1206
+ }
1207
+ if (Array.isArray(tagToRemoveAfter2)) {
1208
+ ticker.args.tagToRemoveAfter = tagToRemoveAfter2.map((t) => t === oldTag ? newTag : t);
1209
+ }
1210
+ }
1211
+ }
1212
+ }
1213
+ for (let timeout in _GameWindowManager._currentTickersTimeouts) {
1214
+ let TickerTimeout = _GameWindowManager._currentTickersTimeouts[timeout];
1215
+ if (TickerTimeout.tags.includes(oldTag)) {
1216
+ TickerTimeout.tags = TickerTimeout.tags.map((t) => t === oldTag ? newTag : t);
1217
+ }
1218
+ }
1079
1219
  }
1080
1220
  /** Edit Tickers Methods */
1081
1221
  /**
@@ -1084,23 +1224,38 @@ var _GameWindowManager = class _GameWindowManager {
1084
1224
  static get currentTickers() {
1085
1225
  return _GameWindowManager._currentTickers;
1086
1226
  }
1227
+ static get currentTickersList() {
1228
+ return Object.values(_GameWindowManager._currentTickers);
1229
+ }
1230
+ static get currentTickersWithoutCreatedBySteps() {
1231
+ return Object.fromEntries(Object.entries(_GameWindowManager._currentTickers).filter(([_, ticker]) => !ticker.createdByTicketStepsId));
1232
+ }
1087
1233
  /**
1088
1234
  * The steps of the tickers
1089
1235
  */
1090
1236
  static get currentTickersSteps() {
1091
1237
  return _GameWindowManager._currentTickersSteps;
1092
1238
  }
1239
+ static generateTickerId(tickerData) {
1240
+ try {
1241
+ return sha1(JSON.stringify(tickerData)).toString() + "_" + Math.random().toString(36).substring(7);
1242
+ } catch (e) {
1243
+ throw new Error(`[Pixi'VN] Error to generate ticker id: ${e}`);
1244
+ }
1245
+ }
1093
1246
  /**
1094
- * Run a ticker.
1247
+ * Run a ticker. You can run multiple addTicker with the same tag and different tickerClasses.
1248
+ * If you run a ticker with the same tag and tickerClass, the old ticker will be removed.
1249
+ * If already exists a sequence of tickers with the same tag, it will be removed.
1095
1250
  * @param canvasEslementTag The tag of the canvas element that will use the ticker.
1096
1251
  * @param ticker The ticker class to be run.
1097
1252
  * @param args The arguments to be used in the ticker.
1098
- * @param duration The time to be used in the ticker. This number is in milliseconds. If it is undefined, the ticker will run forever.
1253
+ * @param duration The time to be used in the ticker. This number is in seconds. If it is undefined, the ticker will run forever.
1099
1254
  * @param priority The priority to be used in the ticker.
1100
1255
  * @returns
1101
1256
  * @example
1102
1257
  * ```typescript
1103
- * GameWindowManager.addTicker("alien", new TickerRotate({ speed: 0.2 }))
1258
+ * GameWindowManager.addTicker("alien", new RotateTicker({ speed: 0.2 }))
1104
1259
  * ```
1105
1260
  */
1106
1261
  static addTicker(canvasElementTag, ticker) {
@@ -1108,82 +1263,88 @@ var _GameWindowManager = class _GameWindowManager {
1108
1263
  if (typeof canvasElementTag === "string") {
1109
1264
  canvasElementTag = [canvasElementTag];
1110
1265
  }
1111
- let t = geTickerInstanceByClassName(tickerName, ticker.args, ticker.duration, ticker.priority);
1112
- if (!t) {
1266
+ if (!geTickerInstanceByClassName(tickerName, ticker.args, ticker.duration, ticker.priority)) {
1113
1267
  console.error(`[Pixi'VN] Ticker ${tickerName} not found`);
1114
1268
  return;
1115
1269
  }
1116
- _GameWindowManager.removeAssociationBetweenTickerCanvasElement(canvasElementTag, ticker);
1117
1270
  let tickerHistory = {
1118
1271
  fn: () => {
1119
1272
  },
1120
1273
  className: tickerName,
1121
- args: ticker.args,
1274
+ args: createExportableElement(ticker.args),
1122
1275
  canvasElementTags: canvasElementTag,
1123
1276
  priority: ticker.priority,
1124
1277
  duration: ticker.duration
1125
1278
  };
1126
- _GameWindowManager.pushTicker(tickerHistory, t);
1127
- _GameWindowManager.removeTickersWithoutAssociatedCanvasElement();
1279
+ let id = _GameWindowManager.generateTickerId(tickerHistory);
1280
+ _GameWindowManager.pushTicker(id, tickerHistory, ticker);
1128
1281
  if (ticker.duration) {
1129
1282
  let timeout = setTimeout(() => {
1130
1283
  _GameWindowManager.removeTickerTimeoutInfo(timeout);
1131
- _GameWindowManager.nextTickerStep(canvasElementTag);
1132
- }, ticker.duration);
1133
- _GameWindowManager.addTickerTimeoutInfo(canvasElementTag, tickerName, timeout.toString());
1284
+ let tickerTimeoutInfo = _GameWindowManager._currentTickersTimeouts[timeout.toString()];
1285
+ if (tickerTimeoutInfo) {
1286
+ _GameWindowManager.removeTicker(id);
1287
+ }
1288
+ }, ticker.duration * 1e3);
1289
+ _GameWindowManager.addTickerTimeoutInfo(canvasElementTag, tickerName, timeout.toString(), true);
1134
1290
  }
1135
1291
  }
1136
- static pushTicker(tickerData, ticker) {
1292
+ static pushTicker(id, tickerData, ticker) {
1137
1293
  _GameWindowManager.removeAssociationBetweenTickerCanvasElement(tickerData.canvasElementTags, tickerData);
1138
- _GameWindowManager._currentTickers.push(tickerData);
1294
+ _GameWindowManager._currentTickers[id] = tickerData;
1139
1295
  tickerData.fn = (t) => {
1140
- ticker == null ? void 0 : ticker.fn(t, tickerData.args, tickerData.canvasElementTags);
1296
+ let data = _GameWindowManager._currentTickers[id];
1297
+ if (data) {
1298
+ ticker == null ? void 0 : ticker.fn(t, data.args, data.canvasElementTags, id);
1299
+ }
1141
1300
  };
1142
1301
  _GameWindowManager.app.ticker.add(tickerData.fn, void 0, tickerData.priority);
1143
1302
  }
1144
1303
  /**
1145
- * Run a sequence of tickers.
1304
+ * Run a sequence of tickers. If exists a ticker steps with the same tag, it will be removed.
1146
1305
  * @param tag The tag of canvas element that will use the tickers.
1147
1306
  * @param steps The steps of the tickers.
1307
+ * @param currentStepNumber The current step number. It is used to continue the sequence of tickers.
1148
1308
  * @returns
1149
1309
  * @example
1150
1310
  * ```typescript
1151
1311
  * GameWindowManager.addTickersSteps("alien", [
1152
- * new TickerRotate({ speed: 0.1, clockwise: true }, 2000),
1153
- * Pause(500),
1154
- * new TickerRotate({ speed: 0.2, clockwise: false }, 2000),
1312
+ * new RotateTicker({ speed: 0.1, clockwise: true }, 2), // 2 seconds
1313
+ * Pause(1), // 1 second
1314
+ * new RotateTicker({ speed: 0.2, clockwise: false }, 2),
1155
1315
  * Repeat,
1156
1316
  * ])
1157
1317
  * ```
1158
1318
  */
1159
- static addTickersSteps(tag, steps) {
1319
+ static addTickersSteps(tag, steps, currentStepNumber = 0) {
1160
1320
  if (steps.length == 0) {
1161
1321
  console.warn("[Pixi'VN] The steps of the tickers is empty");
1162
1322
  return;
1163
1323
  }
1164
- let alredyExists = _GameWindowManager._currentTickersSteps[tag] !== void 0;
1324
+ _GameWindowManager.removeTickerStepByCanvasElement(tag);
1165
1325
  _GameWindowManager._currentTickersSteps[tag] = {
1166
- currentStepNumber: 0,
1167
- steps: steps.map((s) => {
1168
- if (s === Repeat) {
1169
- return s;
1170
- }
1171
- if (!s.duration) {
1172
- console.warn("[Pixi'VN] Duration is not defined, so it will be set to 1000");
1173
- s.duration = 1e3;
1326
+ currentStepNumber,
1327
+ steps: steps.map((step) => {
1328
+ if (step === Repeat) {
1329
+ return step;
1174
1330
  }
1175
- if (s.hasOwnProperty("type") && s.type === PauseValueType) {
1176
- return s;
1331
+ if (step.hasOwnProperty("type") && step.type === "pause") {
1332
+ return step;
1177
1333
  }
1178
- let tickerName = s.constructor.name;
1334
+ let tickerName = step.constructor.name;
1179
1335
  return {
1180
1336
  ticker: tickerName,
1181
- args: s.args,
1182
- duration: s.duration
1337
+ args: createExportableElement(step.args),
1338
+ duration: step.duration
1183
1339
  };
1184
1340
  })
1185
1341
  };
1186
- if (!alredyExists) {
1342
+ _GameWindowManager.runTickersSteps(tag);
1343
+ }
1344
+ static restoneTickersSteps(data) {
1345
+ for (let tag in data) {
1346
+ let steps = data[tag];
1347
+ _GameWindowManager._currentTickersSteps[tag] = steps;
1187
1348
  _GameWindowManager.runTickersSteps(tag);
1188
1349
  }
1189
1350
  }
@@ -1197,12 +1358,17 @@ var _GameWindowManager = class _GameWindowManager {
1197
1358
  return;
1198
1359
  }
1199
1360
  }
1200
- if (step.hasOwnProperty("type") && step.type === PauseValueType) {
1361
+ if (step.hasOwnProperty("type") && step.type === "pause") {
1201
1362
  let timeout = setTimeout(() => {
1363
+ let tickerTimeoutInfo = _GameWindowManager._currentTickersTimeouts[timeout.toString()];
1364
+ if (tickerTimeoutInfo) {
1365
+ tickerTimeoutInfo.tags.forEach((tag2) => {
1366
+ _GameWindowManager.nextTickerStep(tag2);
1367
+ });
1368
+ }
1202
1369
  _GameWindowManager.removeTickerTimeoutInfo(timeout);
1203
- _GameWindowManager.nextTickerStep(tag);
1204
- }, step.duration);
1205
- _GameWindowManager.addTickerTimeoutInfo(tag, "steps", timeout.toString());
1370
+ }, step.duration * 1e3);
1371
+ _GameWindowManager.addTickerTimeoutInfo(tag, "steps", timeout.toString(), false);
1206
1372
  return;
1207
1373
  }
1208
1374
  let ticker = geTickerInstanceByClassName(step.ticker, step.args, step.duration, step.priority);
@@ -1210,57 +1376,88 @@ var _GameWindowManager = class _GameWindowManager {
1210
1376
  console.error(`[Pixi'VN] Ticker ${step.ticker} not found`);
1211
1377
  return;
1212
1378
  }
1213
- _GameWindowManager.addTicker(tag, ticker);
1379
+ let tickerName = ticker.constructor.name;
1380
+ let tickerHistory = {
1381
+ fn: () => {
1382
+ },
1383
+ className: tickerName,
1384
+ args: createExportableElement(ticker.args),
1385
+ canvasElementTags: [tag],
1386
+ priority: ticker.priority,
1387
+ duration: ticker.duration,
1388
+ createdByTicketStepsId: tag
1389
+ };
1390
+ let id = _GameWindowManager.generateTickerId(tickerHistory);
1391
+ _GameWindowManager.pushTicker(id, tickerHistory, ticker);
1392
+ if (ticker.duration) {
1393
+ let timeout = setTimeout(() => {
1394
+ let tickerTimeoutInfo = _GameWindowManager._currentTickersTimeouts[timeout.toString()];
1395
+ if (tickerTimeoutInfo) {
1396
+ _GameWindowManager.removeTicker(id);
1397
+ tickerTimeoutInfo.tags.forEach((tag2) => {
1398
+ _GameWindowManager.nextTickerStep(tag2);
1399
+ });
1400
+ }
1401
+ _GameWindowManager.removeTickerTimeoutInfo(timeout);
1402
+ }, ticker.duration * 1e3);
1403
+ _GameWindowManager.addTickerTimeoutInfo(tag, tickerName, timeout.toString(), false);
1404
+ }
1214
1405
  }
1215
1406
  static nextTickerStep(tag) {
1216
- if (typeof tag === "string") {
1217
- tag = [tag];
1407
+ if (_GameWindowManager._currentTickersSteps[tag]) {
1408
+ let steps = _GameWindowManager._currentTickersSteps[tag];
1409
+ if (steps.currentStepNumber + 1 < steps.steps.length) {
1410
+ steps.currentStepNumber++;
1411
+ _GameWindowManager._currentTickersSteps[tag] = steps;
1412
+ _GameWindowManager.runTickersSteps(tag);
1413
+ } else {
1414
+ _GameWindowManager.removeTickerStepByCanvasElement(tag);
1415
+ }
1218
1416
  }
1219
- tag.forEach((tag2) => {
1220
- if (_GameWindowManager._currentTickersSteps[tag2]) {
1221
- let steps = _GameWindowManager._currentTickersSteps[tag2];
1222
- if (steps.currentStepNumber + 1 < steps.steps.length) {
1223
- steps.currentStepNumber++;
1224
- _GameWindowManager._currentTickersSteps[tag2] = steps;
1225
- _GameWindowManager.runTickersSteps(tag2);
1226
- } else {
1227
- delete _GameWindowManager._currentTickersSteps[tag2];
1228
- }
1417
+ }
1418
+ static onEndOfTicker(canvasElementTags, ticker, canvasElementTagsToDelete, tickerId) {
1419
+ let tickerData = _GameWindowManager._currentTickers[tickerId];
1420
+ _GameWindowManager.removeAssociationBetweenTickerCanvasElement(canvasElementTags, ticker);
1421
+ _GameWindowManager.removeCanvasElement(canvasElementTagsToDelete);
1422
+ if (tickerData) {
1423
+ _GameWindowManager.removeTicker(tickerId);
1424
+ if (tickerData.duration == void 0 && tickerData.createdByTicketStepsId) {
1425
+ _GameWindowManager.nextTickerStep(tickerData.createdByTicketStepsId);
1229
1426
  }
1230
- });
1427
+ }
1231
1428
  }
1232
1429
  /**
1233
1430
  * Remove a connection between a canvas element and a ticker.
1234
1431
  * And remove the ticker if there is no canvas element connected to it.
1235
- * @param tag The tag of the canvas element that will use the ticker.
1432
+ * @param tags The tag of the canvas element that will use the ticker.
1236
1433
  * @param ticker The ticker class to be removed.
1237
1434
  * @example
1238
1435
  * ```typescript
1239
- * GameWindowManager.removeAssociationBetweenTickerCanvasElement("alien", TickerRotate)
1436
+ * GameWindowManager.removeAssociationBetweenTickerCanvasElement("alien", RotateTicker)
1240
1437
  * ```
1241
1438
  */
1242
- static removeAssociationBetweenTickerCanvasElement(tag, ticker) {
1439
+ static removeAssociationBetweenTickerCanvasElement(tags, ticker) {
1243
1440
  let tickerName;
1244
- if (ticker instanceof TickerBase) {
1441
+ if (typeof ticker === "string") {
1442
+ tickerName = ticker;
1443
+ } else if (ticker instanceof TickerBase) {
1245
1444
  tickerName = ticker.constructor.name;
1246
1445
  } else {
1247
1446
  tickerName = ticker.name;
1248
1447
  }
1249
- if (typeof tag === "string") {
1250
- tag = [tag];
1448
+ if (typeof tags === "string") {
1449
+ tags = [tags];
1251
1450
  }
1252
- _GameWindowManager._currentTickers = _GameWindowManager._currentTickers.map((t) => {
1253
- if (t.className === tickerName) {
1254
- t.canvasElementTags = t.canvasElementTags.filter((e) => !tag.includes(e));
1451
+ for (let id in _GameWindowManager._currentTickers) {
1452
+ let ticker2 = _GameWindowManager._currentTickers[id];
1453
+ if (ticker2.className === tickerName) {
1454
+ _GameWindowManager._currentTickers[id].canvasElementTags = ticker2.canvasElementTags.filter((e) => !tags.includes(e));
1255
1455
  }
1256
- return t;
1257
- });
1258
- for (let timeout in _GameWindowManager.currentTickersTimeouts) {
1259
- let t = _GameWindowManager.currentTickersTimeouts[timeout].tags.filter((e) => !tag.includes(e));
1260
- if (t.length == 0) {
1261
- _GameWindowManager.removeTickerTimeoutInfo(timeout);
1262
- } else {
1263
- _GameWindowManager.currentTickersTimeouts[timeout].tags = t;
1456
+ }
1457
+ for (let timeout in _GameWindowManager._currentTickersTimeouts) {
1458
+ let TickerTimeout = _GameWindowManager._currentTickersTimeouts[timeout];
1459
+ if (TickerTimeout.ticker === tickerName && TickerTimeout.canBeDeletedBeforeEnd) {
1460
+ _GameWindowManager._currentTickersTimeouts[timeout].tags = TickerTimeout.tags.filter((t) => !tags.includes(t));
1264
1461
  }
1265
1462
  }
1266
1463
  _GameWindowManager.removeTickersWithoutAssociatedCanvasElement();
@@ -1269,49 +1466,117 @@ var _GameWindowManager = class _GameWindowManager {
1269
1466
  * Remove all tickers that are not connected to any existing canvas element.
1270
1467
  */
1271
1468
  static removeTickersWithoutAssociatedCanvasElement() {
1272
- let currentTickers = _GameWindowManager._currentTickers.map((t) => {
1273
- t.canvasElementTags = t.canvasElementTags.filter((e) => _GameWindowManager._children[e]);
1274
- return t;
1275
- });
1276
- currentTickers.filter((t) => t.canvasElementTags.length === 0).forEach((t) => {
1277
- _GameWindowManager.app.ticker.remove(t.fn);
1278
- });
1279
- currentTickers = currentTickers.filter((t) => t.canvasElementTags.length > 0);
1280
- _GameWindowManager._currentTickers = currentTickers;
1469
+ for (let id in _GameWindowManager._currentTickers) {
1470
+ let ticker = _GameWindowManager._currentTickers[id];
1471
+ ticker.canvasElementTags = ticker.canvasElementTags.filter((e) => _GameWindowManager._children[e]);
1472
+ if (ticker.canvasElementTags.length === 0) {
1473
+ _GameWindowManager.removeTicker(id);
1474
+ }
1475
+ }
1281
1476
  for (let tag in _GameWindowManager._currentTickersSteps) {
1282
1477
  if (_GameWindowManager._children[tag] === void 0) {
1283
1478
  delete _GameWindowManager._currentTickersSteps[tag];
1284
1479
  }
1285
1480
  }
1481
+ Object.entries(_GameWindowManager._currentTickersTimeouts).forEach(([timeout, { tags }]) => {
1482
+ if (tags.length === 0) {
1483
+ _GameWindowManager.removeTickerTimeout(timeout);
1484
+ }
1485
+ });
1286
1486
  }
1287
- static addTickerTimeoutInfo(tags, ticker, timeout) {
1487
+ static addTickerTimeoutInfo(tags, ticker, timeout, canBeDeletedBeforeEnd) {
1288
1488
  if (typeof tags === "string") {
1289
1489
  tags = [tags];
1290
1490
  }
1291
- _GameWindowManager.currentTickersTimeouts[timeout] = {
1491
+ _GameWindowManager._currentTickersTimeouts[timeout] = {
1292
1492
  tags,
1293
- ticker
1493
+ ticker,
1494
+ canBeDeletedBeforeEnd
1294
1495
  };
1295
1496
  }
1296
1497
  static removeTickerTimeoutInfo(timeout) {
1297
1498
  if (typeof timeout !== "string") {
1298
1499
  timeout = timeout.toString();
1299
1500
  }
1300
- if (_GameWindowManager.currentTickersTimeouts[timeout]) {
1301
- delete _GameWindowManager.currentTickersTimeouts[timeout];
1501
+ if (_GameWindowManager._currentTickersTimeouts[timeout]) {
1502
+ delete _GameWindowManager._currentTickersTimeouts[timeout];
1503
+ }
1504
+ }
1505
+ static removeTickerTimeout(timeout) {
1506
+ if (typeof timeout !== "string") {
1507
+ timeout = timeout.toString();
1508
+ }
1509
+ clearTimeout(Number(timeout));
1510
+ _GameWindowManager.removeTickerTimeoutInfo(timeout);
1511
+ }
1512
+ static removeTickerTimeoutsByTag(tag, checkCanBeDeletedBeforeEnd) {
1513
+ for (let timeout in _GameWindowManager._currentTickersTimeouts) {
1514
+ let tagsWithoutTagToRemove = _GameWindowManager._currentTickersTimeouts[timeout].tags.filter((t) => t !== tag);
1515
+ if (tagsWithoutTagToRemove.length === 0) {
1516
+ let canBeDeletedBeforeEnd = _GameWindowManager._currentTickersTimeouts[timeout].canBeDeletedBeforeEnd;
1517
+ if (!checkCanBeDeletedBeforeEnd || canBeDeletedBeforeEnd) {
1518
+ _GameWindowManager.removeTickerTimeout(timeout);
1519
+ }
1520
+ } else {
1521
+ _GameWindowManager._currentTickersTimeouts[timeout].tags = tagsWithoutTagToRemove;
1522
+ }
1302
1523
  }
1303
1524
  }
1304
1525
  /**
1305
1526
  * Remove all tickers from the canvas.
1306
1527
  */
1307
- static removeTickers() {
1528
+ static removeAllTickers() {
1308
1529
  _GameWindowManager._currentTickersSteps = {};
1309
- _GameWindowManager._currentTickers.forEach((t) => {
1310
- _GameWindowManager.app.ticker.remove(t.fn);
1530
+ Object.keys(_GameWindowManager._currentTickers).forEach((id) => {
1531
+ _GameWindowManager.removeTicker(id);
1532
+ });
1533
+ _GameWindowManager._currentTickers = {};
1534
+ for (let timeout in _GameWindowManager._currentTickersTimeouts) {
1535
+ _GameWindowManager.removeTickerTimeout(timeout);
1536
+ }
1537
+ }
1538
+ /**
1539
+ * Remove all tickers from a canvas element.
1540
+ * @param tag The tag of the canvas element that will use the ticker.
1541
+ */
1542
+ static removeTickerByCanvasElement(tag) {
1543
+ if (typeof tag === "string") {
1544
+ tag = [tag];
1545
+ }
1546
+ tag.forEach((tag2) => {
1547
+ for (let id in _GameWindowManager._currentTickers) {
1548
+ let ticker = _GameWindowManager._currentTickers[id];
1549
+ if (ticker.canvasElementTags.includes(tag2)) {
1550
+ _GameWindowManager.removeTicker(id);
1551
+ }
1552
+ }
1553
+ if (_GameWindowManager._currentTickersSteps[tag2]) {
1554
+ delete _GameWindowManager._currentTickersSteps[tag2];
1555
+ }
1556
+ _GameWindowManager.removeTickerTimeoutsByTag(tag2, false);
1557
+ delete _GameWindowManager._currentTickersSteps[tag2];
1311
1558
  });
1312
- _GameWindowManager._currentTickers = [];
1313
- for (let timeout in _GameWindowManager.currentTickersTimeouts) {
1314
- _GameWindowManager.removeTickerTimeoutInfo(timeout);
1559
+ }
1560
+ static removeTickerStepByCanvasElement(tag) {
1561
+ if (_GameWindowManager._currentTickersSteps[tag]) {
1562
+ delete _GameWindowManager._currentTickersSteps[tag];
1563
+ }
1564
+ for (let id in _GameWindowManager._currentTickers) {
1565
+ let ticker = _GameWindowManager._currentTickers[id];
1566
+ if (ticker.createdByTicketStepsId === tag) {
1567
+ _GameWindowManager.removeTicker(id);
1568
+ }
1569
+ }
1570
+ }
1571
+ static removeTicker(tickerId) {
1572
+ let ticker = _GameWindowManager._currentTickers[tickerId];
1573
+ if (ticker) {
1574
+ if (ticker.args.hasOwnProperty(tagToRemoveAfter)) {
1575
+ let tagToRemoveAfter2 = ticker.args.tagToRemoveAfter;
1576
+ _GameWindowManager.removeCanvasElement(tagToRemoveAfter2);
1577
+ }
1578
+ _GameWindowManager.app.ticker.remove(ticker.fn);
1579
+ delete _GameWindowManager._currentTickers[tickerId];
1315
1580
  }
1316
1581
  }
1317
1582
  /**
@@ -1338,7 +1603,8 @@ var _GameWindowManager = class _GameWindowManager {
1338
1603
  currentElements[tag] = exportCanvasElement(_GameWindowManager._children[tag]);
1339
1604
  }
1340
1605
  return {
1341
- currentTickers: createExportableElement(_GameWindowManager._currentTickers),
1606
+ currentTickers: createExportableElement(_GameWindowManager.currentTickersWithoutCreatedBySteps),
1607
+ currentTickersSteps: createExportableElement(_GameWindowManager._currentTickersSteps),
1342
1608
  currentElements: createExportableElement(currentElements),
1343
1609
  childrenTagsOrder: createExportableElement(_GameWindowManager.childrenTagsOrder)
1344
1610
  };
@@ -1373,7 +1639,8 @@ var _GameWindowManager = class _GameWindowManager {
1373
1639
  }
1374
1640
  if (data.hasOwnProperty("currentTickers")) {
1375
1641
  let currentTickers = data["currentTickers"];
1376
- currentTickers.forEach((t) => {
1642
+ for (let id in currentTickers) {
1643
+ let t = currentTickers[id];
1377
1644
  let tags = t.canvasElementTags;
1378
1645
  let ticker = geTickerInstanceByClassName(t.className, t.args, t.duration, t.priority);
1379
1646
  if (ticker) {
@@ -1381,7 +1648,11 @@ var _GameWindowManager = class _GameWindowManager {
1381
1648
  } else {
1382
1649
  console.error(`[Pixi'VN] Ticker ${t.className} not found`);
1383
1650
  }
1384
- });
1651
+ }
1652
+ }
1653
+ if (data.hasOwnProperty("currentTickersSteps")) {
1654
+ let currentTickersSteps = data["currentTickersSteps"];
1655
+ _GameWindowManager.restoneTickersSteps(currentTickersSteps);
1385
1656
  }
1386
1657
  } catch (e) {
1387
1658
  console.error("[Pixi'VN] Error importing data", e);
@@ -1395,9 +1666,9 @@ _GameWindowManager._children = {};
1395
1666
  * The order of the children tags.
1396
1667
  */
1397
1668
  _GameWindowManager.childrenTagsOrder = [];
1398
- _GameWindowManager._currentTickers = [];
1669
+ _GameWindowManager._currentTickers = {};
1399
1670
  _GameWindowManager._currentTickersSteps = {};
1400
- _GameWindowManager.currentTickersTimeouts = {};
1671
+ _GameWindowManager._currentTickersTimeouts = {};
1401
1672
  var GameWindowManager = _GameWindowManager;
1402
1673
 
1403
1674
  // src/decorators/LabelDecorator.ts
@@ -1443,8 +1714,9 @@ var ChoiceMenuOption = class {
1443
1714
  var ChoiceMenuOptionClose = class {
1444
1715
  /**
1445
1716
  * @param text Text to be displayed in the menu
1717
+ * @param closeCurrentLabel If true, the current label will be closed. @default false
1446
1718
  */
1447
- constructor(text) {
1719
+ constructor(text, closeCurrentLabel = false) {
1448
1720
  /**
1449
1721
  * Label to be opened when the option is selected
1450
1722
  */
@@ -1458,6 +1730,7 @@ var ChoiceMenuOptionClose = class {
1458
1730
  */
1459
1731
  this.props = {};
1460
1732
  this.text = text;
1733
+ this.closeCurrentLabel = closeCurrentLabel;
1461
1734
  }
1462
1735
  };
1463
1736