@drincs/pixi-vn 0.6.0 → 0.6.1

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