@drincs/pixi-vn 0.6.0 → 0.6.1

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