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