@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) => {
@@ -238,8 +237,8 @@ var GameStorageManager = _GameStorageManager;
238
237
  var TickerBase = class {
239
238
  /**
240
239
  * @param args The arguments that you want to pass to the ticker.
241
- * @param duration The duration of the ticker. If is undefined, the ticker will be called every frame.
242
- * @param priority The priority of the ticker. If is undefined, the priority will be UPDATE_PRIORITY.NORMAL.
240
+ * @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
241
+ * @param priority The priority of the ticker. @default UPDATE_PRIORITY.NORMAL
243
242
  */
244
243
  constructor(args, duration, priority) {
245
244
  this.args = args;
@@ -249,15 +248,19 @@ var TickerBase = class {
249
248
  /**
250
249
  * The method that will be called every frame.
251
250
  * This method should be overridden and you can use GameWindowManager.addCanvasElement() to get the canvas element of the canvas, and edit them.
252
- * @param t The ticker that is calling this method
253
- * @param args The arguments that you passed when you added the ticker
254
- * @param tags The tags of the canvas elements that are connected to this ticker
251
+ * @param _ticker The ticker that is calling this method
252
+ * @param _args The arguments that you passed when you added the ticker
253
+ * @param _tags The tags of the canvas elements that are connected to this ticker
254
+ * @param _tickerId The id of the ticker. You can use this to get the ticker from the {@link GameWindowManager.currentTickers}
255
255
  */
256
- fn(_t, _args, _tags) {
256
+ fn(_ticker, _args, _tags, _tickerId) {
257
257
  throw new Error("[Pixi'VN] The method TickerBase.fn() must be overridden");
258
258
  }
259
259
  };
260
260
 
261
+ // src/constants.ts
262
+ var Repeat = "repeat";
263
+
261
264
  // src/decorators/TickerDecorator.ts
262
265
  var registeredTickers = {};
263
266
  function tickerDecorator(name) {
@@ -266,7 +269,7 @@ function tickerDecorator(name) {
266
269
  name = target.name;
267
270
  }
268
271
  if (registeredTickers[name]) {
269
- console.warn(`[Pixi'VN] Ticker ${name} already exists, it will be overwritten`);
272
+ console.info(`[Pixi'VN] Ticker ${name} already exists, it will be overwritten`);
270
273
  }
271
274
  registeredTickers[name] = target;
272
275
  };
@@ -757,11 +760,8 @@ function asciiArtLog() {
757
760
  `);
758
761
  }
759
762
 
760
- // src/types/PauseType.ts
761
- var PauseValueType = "pause";
762
-
763
- // src/types/RepeatType.ts
764
- var Repeat = "repeat";
763
+ // src/types/ticker/TagToRemoveAfterType.ts
764
+ var tagToRemoveAfter = "tagToRemoveAfter";
765
765
 
766
766
  // src/managers/WindowManager.ts
767
767
  var _GameWindowManager = class _GameWindowManager {
@@ -945,25 +945,25 @@ var _GameWindowManager = class _GameWindowManager {
945
945
  /**
946
946
  * Remove a canvas element from the canvas.
947
947
  * And remove all tickers that are not connected to any canvas element.
948
- * @param tag The tag of the canvas element to be removed.
948
+ * @param tags The tag of the canvas element to be removed.
949
949
  * @returns
950
950
  * @example
951
951
  * ```typescript
952
952
  * GameWindowManager.removeCanvasElement("bunny");
953
953
  * ```
954
954
  */
955
- static removeCanvasElement(tag) {
956
- if (typeof tag === "string") {
957
- tag = [tag];
955
+ static removeCanvasElement(tags) {
956
+ if (typeof tags === "string") {
957
+ tags = [tags];
958
958
  }
959
- tag.forEach((t) => {
960
- if (_GameWindowManager._children[t]) {
961
- _GameWindowManager.app.stage.removeChild(_GameWindowManager._children[t]);
962
- delete _GameWindowManager._children[t];
959
+ tags.forEach((tag) => {
960
+ if (_GameWindowManager._children[tag]) {
961
+ _GameWindowManager.app.stage.removeChild(_GameWindowManager._children[tag]);
962
+ delete _GameWindowManager._children[tag];
963
+ _GameWindowManager.removeTickerByCanvasElement(tag);
963
964
  }
964
965
  });
965
- _GameWindowManager.removeTickersWithoutAssociatedCanvasElement();
966
- _GameWindowManager.childrenTagsOrder = _GameWindowManager.childrenTagsOrder.filter((t) => !tag.includes(t));
966
+ _GameWindowManager.childrenTagsOrder = _GameWindowManager.childrenTagsOrder.filter((t) => !tags.includes(t));
967
967
  }
968
968
  /**
969
969
  * Get a canvas element by the tag.
@@ -993,18 +993,43 @@ var _GameWindowManager = class _GameWindowManager {
993
993
  _GameWindowManager.app.stage.removeChildren();
994
994
  _GameWindowManager._children = {};
995
995
  _GameWindowManager.childrenTagsOrder = [];
996
- _GameWindowManager.removeTickers();
996
+ _GameWindowManager.removeAllTickers();
997
997
  }
998
998
  /**
999
999
  * Edit the tag of a canvas element.
1000
1000
  * @param oldTag The old tag of the canvas element.
1001
1001
  * @param newTag The new tag of the canvas element.
1002
1002
  */
1003
- static editTagCanvasElement(oldTag, newTag) {
1003
+ static editCanvasElementTag(oldTag, newTag) {
1004
1004
  if (_GameWindowManager._children[oldTag]) {
1005
1005
  _GameWindowManager._children[newTag] = _GameWindowManager._children[oldTag];
1006
1006
  delete _GameWindowManager._children[oldTag];
1007
1007
  }
1008
+ if (_GameWindowManager._currentTickersSteps[oldTag]) {
1009
+ _GameWindowManager._currentTickersSteps[newTag] = _GameWindowManager._currentTickersSteps[oldTag];
1010
+ delete _GameWindowManager._currentTickersSteps[oldTag];
1011
+ }
1012
+ for (let id in _GameWindowManager._currentTickers) {
1013
+ let ticker = _GameWindowManager._currentTickers[id];
1014
+ if (ticker.canvasElementTags.includes(oldTag)) {
1015
+ ticker.canvasElementTags = ticker.canvasElementTags.map((t) => t === oldTag ? newTag : t);
1016
+ if (ticker.args.hasOwnProperty(tagToRemoveAfter)) {
1017
+ let tagToRemoveAfter2 = ticker.args.tagToRemoveAfter;
1018
+ if (typeof tagToRemoveAfter2 === "string") {
1019
+ tagToRemoveAfter2 = [tagToRemoveAfter2];
1020
+ }
1021
+ if (Array.isArray(tagToRemoveAfter2)) {
1022
+ ticker.args.tagToRemoveAfter = tagToRemoveAfter2.map((t) => t === oldTag ? newTag : t);
1023
+ }
1024
+ }
1025
+ }
1026
+ }
1027
+ for (let timeout in _GameWindowManager._currentTickersTimeouts) {
1028
+ let TickerTimeout = _GameWindowManager._currentTickersTimeouts[timeout];
1029
+ if (TickerTimeout.tags.includes(oldTag)) {
1030
+ TickerTimeout.tags = TickerTimeout.tags.map((t) => t === oldTag ? newTag : t);
1031
+ }
1032
+ }
1008
1033
  }
1009
1034
  /** Edit Tickers Methods */
1010
1035
  /**
@@ -1013,23 +1038,38 @@ var _GameWindowManager = class _GameWindowManager {
1013
1038
  static get currentTickers() {
1014
1039
  return _GameWindowManager._currentTickers;
1015
1040
  }
1041
+ static get currentTickersList() {
1042
+ return Object.values(_GameWindowManager._currentTickers);
1043
+ }
1044
+ static get currentTickersWithoutCreatedBySteps() {
1045
+ return Object.fromEntries(Object.entries(_GameWindowManager._currentTickers).filter(([_, ticker]) => !ticker.createdByTicketStepsId));
1046
+ }
1016
1047
  /**
1017
1048
  * The steps of the tickers
1018
1049
  */
1019
1050
  static get currentTickersSteps() {
1020
1051
  return _GameWindowManager._currentTickersSteps;
1021
1052
  }
1053
+ static generateTickerId(tickerData) {
1054
+ try {
1055
+ return sha1__default.default(JSON.stringify(tickerData)).toString() + "_" + Math.random().toString(36).substring(7);
1056
+ } catch (e) {
1057
+ throw new Error(`[Pixi'VN] Error to generate ticker id: ${e}`);
1058
+ }
1059
+ }
1022
1060
  /**
1023
- * Run a ticker.
1061
+ * Run a ticker. You can run multiple addTicker with the same tag and different tickerClasses.
1062
+ * If you run a ticker with the same tag and tickerClass, the old ticker will be removed.
1063
+ * If already exists a sequence of tickers with the same tag, it will be removed.
1024
1064
  * @param canvasEslementTag The tag of the canvas element that will use the ticker.
1025
1065
  * @param ticker The ticker class to be run.
1026
1066
  * @param args The arguments to be used in the ticker.
1027
- * @param duration The time to be used in the ticker. This number is in milliseconds. If it is undefined, the ticker will run forever.
1067
+ * @param duration The time to be used in the ticker. This number is in seconds. If it is undefined, the ticker will run forever.
1028
1068
  * @param priority The priority to be used in the ticker.
1029
1069
  * @returns
1030
1070
  * @example
1031
1071
  * ```typescript
1032
- * GameWindowManager.addTicker("alien", new TickerRotate({ speed: 0.2 }))
1072
+ * GameWindowManager.addTicker("alien", new RotateTicker({ speed: 0.2 }))
1033
1073
  * ```
1034
1074
  */
1035
1075
  static addTicker(canvasElementTag, ticker) {
@@ -1037,82 +1077,88 @@ var _GameWindowManager = class _GameWindowManager {
1037
1077
  if (typeof canvasElementTag === "string") {
1038
1078
  canvasElementTag = [canvasElementTag];
1039
1079
  }
1040
- let t = geTickerInstanceByClassName(tickerName, ticker.args, ticker.duration, ticker.priority);
1041
- if (!t) {
1080
+ if (!geTickerInstanceByClassName(tickerName, ticker.args, ticker.duration, ticker.priority)) {
1042
1081
  console.error(`[Pixi'VN] Ticker ${tickerName} not found`);
1043
1082
  return;
1044
1083
  }
1045
- _GameWindowManager.removeAssociationBetweenTickerCanvasElement(canvasElementTag, ticker);
1046
1084
  let tickerHistory = {
1047
1085
  fn: () => {
1048
1086
  },
1049
1087
  className: tickerName,
1050
- args: ticker.args,
1088
+ args: createExportableElement(ticker.args),
1051
1089
  canvasElementTags: canvasElementTag,
1052
1090
  priority: ticker.priority,
1053
1091
  duration: ticker.duration
1054
1092
  };
1055
- _GameWindowManager.pushTicker(tickerHistory, t);
1056
- _GameWindowManager.removeTickersWithoutAssociatedCanvasElement();
1093
+ let id = _GameWindowManager.generateTickerId(tickerHistory);
1094
+ _GameWindowManager.pushTicker(id, tickerHistory, ticker);
1057
1095
  if (ticker.duration) {
1058
1096
  let timeout = setTimeout(() => {
1059
1097
  _GameWindowManager.removeTickerTimeoutInfo(timeout);
1060
- _GameWindowManager.nextTickerStep(canvasElementTag);
1061
- }, ticker.duration);
1062
- _GameWindowManager.addTickerTimeoutInfo(canvasElementTag, tickerName, timeout.toString());
1098
+ let tickerTimeoutInfo = _GameWindowManager._currentTickersTimeouts[timeout.toString()];
1099
+ if (tickerTimeoutInfo) {
1100
+ _GameWindowManager.removeTicker(id);
1101
+ }
1102
+ }, ticker.duration * 1e3);
1103
+ _GameWindowManager.addTickerTimeoutInfo(canvasElementTag, tickerName, timeout.toString(), true);
1063
1104
  }
1064
1105
  }
1065
- static pushTicker(tickerData, ticker) {
1106
+ static pushTicker(id, tickerData, ticker) {
1066
1107
  _GameWindowManager.removeAssociationBetweenTickerCanvasElement(tickerData.canvasElementTags, tickerData);
1067
- _GameWindowManager._currentTickers.push(tickerData);
1108
+ _GameWindowManager._currentTickers[id] = tickerData;
1068
1109
  tickerData.fn = (t) => {
1069
- ticker == null ? void 0 : ticker.fn(t, tickerData.args, tickerData.canvasElementTags);
1110
+ let data = _GameWindowManager._currentTickers[id];
1111
+ if (data) {
1112
+ ticker == null ? void 0 : ticker.fn(t, data.args, data.canvasElementTags, id);
1113
+ }
1070
1114
  };
1071
1115
  _GameWindowManager.app.ticker.add(tickerData.fn, void 0, tickerData.priority);
1072
1116
  }
1073
1117
  /**
1074
- * Run a sequence of tickers.
1118
+ * Run a sequence of tickers. If exists a ticker steps with the same tag, it will be removed.
1075
1119
  * @param tag The tag of canvas element that will use the tickers.
1076
1120
  * @param steps The steps of the tickers.
1121
+ * @param currentStepNumber The current step number. It is used to continue the sequence of tickers.
1077
1122
  * @returns
1078
1123
  * @example
1079
1124
  * ```typescript
1080
1125
  * GameWindowManager.addTickersSteps("alien", [
1081
- * new TickerRotate({ speed: 0.1, clockwise: true }, 2000),
1082
- * Pause(500),
1083
- * new TickerRotate({ speed: 0.2, clockwise: false }, 2000),
1126
+ * new RotateTicker({ speed: 0.1, clockwise: true }, 2), // 2 seconds
1127
+ * Pause(1), // 1 second
1128
+ * new RotateTicker({ speed: 0.2, clockwise: false }, 2),
1084
1129
  * Repeat,
1085
1130
  * ])
1086
1131
  * ```
1087
1132
  */
1088
- static addTickersSteps(tag, steps) {
1133
+ static addTickersSteps(tag, steps, currentStepNumber = 0) {
1089
1134
  if (steps.length == 0) {
1090
1135
  console.warn("[Pixi'VN] The steps of the tickers is empty");
1091
1136
  return;
1092
1137
  }
1093
- let alredyExists = _GameWindowManager._currentTickersSteps[tag] !== void 0;
1138
+ _GameWindowManager.removeTickerStepByCanvasElement(tag);
1094
1139
  _GameWindowManager._currentTickersSteps[tag] = {
1095
- currentStepNumber: 0,
1096
- steps: steps.map((s) => {
1097
- if (s === Repeat) {
1098
- return s;
1140
+ currentStepNumber,
1141
+ steps: steps.map((step) => {
1142
+ if (step === Repeat) {
1143
+ return step;
1099
1144
  }
1100
- if (!s.duration) {
1101
- console.warn("[Pixi'VN] Duration is not defined, so it will be set to 1000");
1102
- s.duration = 1e3;
1145
+ if (step.hasOwnProperty("type") && step.type === "pause") {
1146
+ return step;
1103
1147
  }
1104
- if (s.hasOwnProperty("type") && s.type === PauseValueType) {
1105
- return s;
1106
- }
1107
- let tickerName = s.constructor.name;
1148
+ let tickerName = step.constructor.name;
1108
1149
  return {
1109
1150
  ticker: tickerName,
1110
- args: s.args,
1111
- duration: s.duration
1151
+ args: createExportableElement(step.args),
1152
+ duration: step.duration
1112
1153
  };
1113
1154
  })
1114
1155
  };
1115
- if (!alredyExists) {
1156
+ _GameWindowManager.runTickersSteps(tag);
1157
+ }
1158
+ static restoneTickersSteps(data) {
1159
+ for (let tag in data) {
1160
+ let steps = data[tag];
1161
+ _GameWindowManager._currentTickersSteps[tag] = steps;
1116
1162
  _GameWindowManager.runTickersSteps(tag);
1117
1163
  }
1118
1164
  }
@@ -1126,12 +1172,17 @@ var _GameWindowManager = class _GameWindowManager {
1126
1172
  return;
1127
1173
  }
1128
1174
  }
1129
- if (step.hasOwnProperty("type") && step.type === PauseValueType) {
1175
+ if (step.hasOwnProperty("type") && step.type === "pause") {
1130
1176
  let timeout = setTimeout(() => {
1177
+ let tickerTimeoutInfo = _GameWindowManager._currentTickersTimeouts[timeout.toString()];
1178
+ if (tickerTimeoutInfo) {
1179
+ tickerTimeoutInfo.tags.forEach((tag2) => {
1180
+ _GameWindowManager.nextTickerStep(tag2);
1181
+ });
1182
+ }
1131
1183
  _GameWindowManager.removeTickerTimeoutInfo(timeout);
1132
- _GameWindowManager.nextTickerStep(tag);
1133
- }, step.duration);
1134
- _GameWindowManager.addTickerTimeoutInfo(tag, "steps", timeout.toString());
1184
+ }, step.duration * 1e3);
1185
+ _GameWindowManager.addTickerTimeoutInfo(tag, "steps", timeout.toString(), false);
1135
1186
  return;
1136
1187
  }
1137
1188
  let ticker = geTickerInstanceByClassName(step.ticker, step.args, step.duration, step.priority);
@@ -1139,57 +1190,88 @@ var _GameWindowManager = class _GameWindowManager {
1139
1190
  console.error(`[Pixi'VN] Ticker ${step.ticker} not found`);
1140
1191
  return;
1141
1192
  }
1142
- _GameWindowManager.addTicker(tag, ticker);
1193
+ let tickerName = ticker.constructor.name;
1194
+ let tickerHistory = {
1195
+ fn: () => {
1196
+ },
1197
+ className: tickerName,
1198
+ args: createExportableElement(ticker.args),
1199
+ canvasElementTags: [tag],
1200
+ priority: ticker.priority,
1201
+ duration: ticker.duration,
1202
+ createdByTicketStepsId: tag
1203
+ };
1204
+ let id = _GameWindowManager.generateTickerId(tickerHistory);
1205
+ _GameWindowManager.pushTicker(id, tickerHistory, ticker);
1206
+ if (ticker.duration) {
1207
+ let timeout = setTimeout(() => {
1208
+ let tickerTimeoutInfo = _GameWindowManager._currentTickersTimeouts[timeout.toString()];
1209
+ if (tickerTimeoutInfo) {
1210
+ _GameWindowManager.removeTicker(id);
1211
+ tickerTimeoutInfo.tags.forEach((tag2) => {
1212
+ _GameWindowManager.nextTickerStep(tag2);
1213
+ });
1214
+ }
1215
+ _GameWindowManager.removeTickerTimeoutInfo(timeout);
1216
+ }, ticker.duration * 1e3);
1217
+ _GameWindowManager.addTickerTimeoutInfo(tag, tickerName, timeout.toString(), false);
1218
+ }
1143
1219
  }
1144
1220
  static nextTickerStep(tag) {
1145
- if (typeof tag === "string") {
1146
- tag = [tag];
1221
+ if (_GameWindowManager._currentTickersSteps[tag]) {
1222
+ let steps = _GameWindowManager._currentTickersSteps[tag];
1223
+ if (steps.currentStepNumber + 1 < steps.steps.length) {
1224
+ steps.currentStepNumber++;
1225
+ _GameWindowManager._currentTickersSteps[tag] = steps;
1226
+ _GameWindowManager.runTickersSteps(tag);
1227
+ } else {
1228
+ _GameWindowManager.removeTickerStepByCanvasElement(tag);
1229
+ }
1147
1230
  }
1148
- tag.forEach((tag2) => {
1149
- if (_GameWindowManager._currentTickersSteps[tag2]) {
1150
- let steps = _GameWindowManager._currentTickersSteps[tag2];
1151
- if (steps.currentStepNumber + 1 < steps.steps.length) {
1152
- steps.currentStepNumber++;
1153
- _GameWindowManager._currentTickersSteps[tag2] = steps;
1154
- _GameWindowManager.runTickersSteps(tag2);
1155
- } else {
1156
- delete _GameWindowManager._currentTickersSteps[tag2];
1157
- }
1231
+ }
1232
+ static onEndOfTicker(canvasElementTags, ticker, canvasElementTagsToDelete, tickerId) {
1233
+ let tickerData = _GameWindowManager._currentTickers[tickerId];
1234
+ _GameWindowManager.removeAssociationBetweenTickerCanvasElement(canvasElementTags, ticker);
1235
+ _GameWindowManager.removeCanvasElement(canvasElementTagsToDelete);
1236
+ if (tickerData) {
1237
+ _GameWindowManager.removeTicker(tickerId);
1238
+ if (tickerData.duration == void 0 && tickerData.createdByTicketStepsId) {
1239
+ _GameWindowManager.nextTickerStep(tickerData.createdByTicketStepsId);
1158
1240
  }
1159
- });
1241
+ }
1160
1242
  }
1161
1243
  /**
1162
1244
  * Remove a connection between a canvas element and a ticker.
1163
1245
  * And remove the ticker if there is no canvas element connected to it.
1164
- * @param tag The tag of the canvas element that will use the ticker.
1246
+ * @param tags The tag of the canvas element that will use the ticker.
1165
1247
  * @param ticker The ticker class to be removed.
1166
1248
  * @example
1167
1249
  * ```typescript
1168
- * GameWindowManager.removeAssociationBetweenTickerCanvasElement("alien", TickerRotate)
1250
+ * GameWindowManager.removeAssociationBetweenTickerCanvasElement("alien", RotateTicker)
1169
1251
  * ```
1170
1252
  */
1171
- static removeAssociationBetweenTickerCanvasElement(tag, ticker) {
1253
+ static removeAssociationBetweenTickerCanvasElement(tags, ticker) {
1172
1254
  let tickerName;
1173
- if (ticker instanceof TickerBase) {
1255
+ if (typeof ticker === "string") {
1256
+ tickerName = ticker;
1257
+ } else if (ticker instanceof TickerBase) {
1174
1258
  tickerName = ticker.constructor.name;
1175
1259
  } else {
1176
1260
  tickerName = ticker.name;
1177
1261
  }
1178
- if (typeof tag === "string") {
1179
- tag = [tag];
1262
+ if (typeof tags === "string") {
1263
+ tags = [tags];
1180
1264
  }
1181
- _GameWindowManager._currentTickers = _GameWindowManager._currentTickers.map((t) => {
1182
- if (t.className === tickerName) {
1183
- t.canvasElementTags = t.canvasElementTags.filter((e) => !tag.includes(e));
1265
+ for (let id in _GameWindowManager._currentTickers) {
1266
+ let ticker2 = _GameWindowManager._currentTickers[id];
1267
+ if (ticker2.className === tickerName) {
1268
+ _GameWindowManager._currentTickers[id].canvasElementTags = ticker2.canvasElementTags.filter((e) => !tags.includes(e));
1184
1269
  }
1185
- return t;
1186
- });
1187
- for (let timeout in _GameWindowManager.currentTickersTimeouts) {
1188
- let t = _GameWindowManager.currentTickersTimeouts[timeout].tags.filter((e) => !tag.includes(e));
1189
- if (t.length == 0) {
1190
- _GameWindowManager.removeTickerTimeoutInfo(timeout);
1191
- } else {
1192
- _GameWindowManager.currentTickersTimeouts[timeout].tags = t;
1270
+ }
1271
+ for (let timeout in _GameWindowManager._currentTickersTimeouts) {
1272
+ let TickerTimeout = _GameWindowManager._currentTickersTimeouts[timeout];
1273
+ if (TickerTimeout.ticker === tickerName && TickerTimeout.canBeDeletedBeforeEnd) {
1274
+ _GameWindowManager._currentTickersTimeouts[timeout].tags = TickerTimeout.tags.filter((t) => !tags.includes(t));
1193
1275
  }
1194
1276
  }
1195
1277
  _GameWindowManager.removeTickersWithoutAssociatedCanvasElement();
@@ -1198,49 +1280,117 @@ var _GameWindowManager = class _GameWindowManager {
1198
1280
  * Remove all tickers that are not connected to any existing canvas element.
1199
1281
  */
1200
1282
  static removeTickersWithoutAssociatedCanvasElement() {
1201
- let currentTickers = _GameWindowManager._currentTickers.map((t) => {
1202
- t.canvasElementTags = t.canvasElementTags.filter((e) => _GameWindowManager._children[e]);
1203
- return t;
1204
- });
1205
- currentTickers.filter((t) => t.canvasElementTags.length === 0).forEach((t) => {
1206
- _GameWindowManager.app.ticker.remove(t.fn);
1207
- });
1208
- currentTickers = currentTickers.filter((t) => t.canvasElementTags.length > 0);
1209
- _GameWindowManager._currentTickers = currentTickers;
1283
+ for (let id in _GameWindowManager._currentTickers) {
1284
+ let ticker = _GameWindowManager._currentTickers[id];
1285
+ ticker.canvasElementTags = ticker.canvasElementTags.filter((e) => _GameWindowManager._children[e]);
1286
+ if (ticker.canvasElementTags.length === 0) {
1287
+ _GameWindowManager.removeTicker(id);
1288
+ }
1289
+ }
1210
1290
  for (let tag in _GameWindowManager._currentTickersSteps) {
1211
1291
  if (_GameWindowManager._children[tag] === void 0) {
1212
1292
  delete _GameWindowManager._currentTickersSteps[tag];
1213
1293
  }
1214
1294
  }
1295
+ Object.entries(_GameWindowManager._currentTickersTimeouts).forEach(([timeout, { tags }]) => {
1296
+ if (tags.length === 0) {
1297
+ _GameWindowManager.removeTickerTimeout(timeout);
1298
+ }
1299
+ });
1215
1300
  }
1216
- static addTickerTimeoutInfo(tags, ticker, timeout) {
1301
+ static addTickerTimeoutInfo(tags, ticker, timeout, canBeDeletedBeforeEnd) {
1217
1302
  if (typeof tags === "string") {
1218
1303
  tags = [tags];
1219
1304
  }
1220
- _GameWindowManager.currentTickersTimeouts[timeout] = {
1305
+ _GameWindowManager._currentTickersTimeouts[timeout] = {
1221
1306
  tags,
1222
- ticker
1307
+ ticker,
1308
+ canBeDeletedBeforeEnd
1223
1309
  };
1224
1310
  }
1225
1311
  static removeTickerTimeoutInfo(timeout) {
1226
1312
  if (typeof timeout !== "string") {
1227
1313
  timeout = timeout.toString();
1228
1314
  }
1229
- if (_GameWindowManager.currentTickersTimeouts[timeout]) {
1230
- delete _GameWindowManager.currentTickersTimeouts[timeout];
1315
+ if (_GameWindowManager._currentTickersTimeouts[timeout]) {
1316
+ delete _GameWindowManager._currentTickersTimeouts[timeout];
1317
+ }
1318
+ }
1319
+ static removeTickerTimeout(timeout) {
1320
+ if (typeof timeout !== "string") {
1321
+ timeout = timeout.toString();
1322
+ }
1323
+ clearTimeout(Number(timeout));
1324
+ _GameWindowManager.removeTickerTimeoutInfo(timeout);
1325
+ }
1326
+ static removeTickerTimeoutsByTag(tag, checkCanBeDeletedBeforeEnd) {
1327
+ for (let timeout in _GameWindowManager._currentTickersTimeouts) {
1328
+ let tagsWithoutTagToRemove = _GameWindowManager._currentTickersTimeouts[timeout].tags.filter((t) => t !== tag);
1329
+ if (tagsWithoutTagToRemove.length === 0) {
1330
+ let canBeDeletedBeforeEnd = _GameWindowManager._currentTickersTimeouts[timeout].canBeDeletedBeforeEnd;
1331
+ if (!checkCanBeDeletedBeforeEnd || canBeDeletedBeforeEnd) {
1332
+ _GameWindowManager.removeTickerTimeout(timeout);
1333
+ }
1334
+ } else {
1335
+ _GameWindowManager._currentTickersTimeouts[timeout].tags = tagsWithoutTagToRemove;
1336
+ }
1231
1337
  }
1232
1338
  }
1233
1339
  /**
1234
1340
  * Remove all tickers from the canvas.
1235
1341
  */
1236
- static removeTickers() {
1342
+ static removeAllTickers() {
1237
1343
  _GameWindowManager._currentTickersSteps = {};
1238
- _GameWindowManager._currentTickers.forEach((t) => {
1239
- _GameWindowManager.app.ticker.remove(t.fn);
1344
+ Object.keys(_GameWindowManager._currentTickers).forEach((id) => {
1345
+ _GameWindowManager.removeTicker(id);
1346
+ });
1347
+ _GameWindowManager._currentTickers = {};
1348
+ for (let timeout in _GameWindowManager._currentTickersTimeouts) {
1349
+ _GameWindowManager.removeTickerTimeout(timeout);
1350
+ }
1351
+ }
1352
+ /**
1353
+ * Remove all tickers from a canvas element.
1354
+ * @param tag The tag of the canvas element that will use the ticker.
1355
+ */
1356
+ static removeTickerByCanvasElement(tag) {
1357
+ if (typeof tag === "string") {
1358
+ tag = [tag];
1359
+ }
1360
+ tag.forEach((tag2) => {
1361
+ for (let id in _GameWindowManager._currentTickers) {
1362
+ let ticker = _GameWindowManager._currentTickers[id];
1363
+ if (ticker.canvasElementTags.includes(tag2)) {
1364
+ _GameWindowManager.removeTicker(id);
1365
+ }
1366
+ }
1367
+ if (_GameWindowManager._currentTickersSteps[tag2]) {
1368
+ delete _GameWindowManager._currentTickersSteps[tag2];
1369
+ }
1370
+ _GameWindowManager.removeTickerTimeoutsByTag(tag2, false);
1371
+ delete _GameWindowManager._currentTickersSteps[tag2];
1240
1372
  });
1241
- _GameWindowManager._currentTickers = [];
1242
- for (let timeout in _GameWindowManager.currentTickersTimeouts) {
1243
- _GameWindowManager.removeTickerTimeoutInfo(timeout);
1373
+ }
1374
+ static removeTickerStepByCanvasElement(tag) {
1375
+ if (_GameWindowManager._currentTickersSteps[tag]) {
1376
+ delete _GameWindowManager._currentTickersSteps[tag];
1377
+ }
1378
+ for (let id in _GameWindowManager._currentTickers) {
1379
+ let ticker = _GameWindowManager._currentTickers[id];
1380
+ if (ticker.createdByTicketStepsId === tag) {
1381
+ _GameWindowManager.removeTicker(id);
1382
+ }
1383
+ }
1384
+ }
1385
+ static removeTicker(tickerId) {
1386
+ let ticker = _GameWindowManager._currentTickers[tickerId];
1387
+ if (ticker) {
1388
+ if (ticker.args.hasOwnProperty(tagToRemoveAfter)) {
1389
+ let tagToRemoveAfter2 = ticker.args.tagToRemoveAfter;
1390
+ _GameWindowManager.removeCanvasElement(tagToRemoveAfter2);
1391
+ }
1392
+ _GameWindowManager.app.ticker.remove(ticker.fn);
1393
+ delete _GameWindowManager._currentTickers[tickerId];
1244
1394
  }
1245
1395
  }
1246
1396
  /**
@@ -1267,7 +1417,8 @@ var _GameWindowManager = class _GameWindowManager {
1267
1417
  currentElements[tag] = exportCanvasElement(_GameWindowManager._children[tag]);
1268
1418
  }
1269
1419
  return {
1270
- currentTickers: createExportableElement(_GameWindowManager._currentTickers),
1420
+ currentTickers: createExportableElement(_GameWindowManager.currentTickersWithoutCreatedBySteps),
1421
+ currentTickersSteps: createExportableElement(_GameWindowManager._currentTickersSteps),
1271
1422
  currentElements: createExportableElement(currentElements),
1272
1423
  childrenTagsOrder: createExportableElement(_GameWindowManager.childrenTagsOrder)
1273
1424
  };
@@ -1302,7 +1453,8 @@ var _GameWindowManager = class _GameWindowManager {
1302
1453
  }
1303
1454
  if (data.hasOwnProperty("currentTickers")) {
1304
1455
  let currentTickers = data["currentTickers"];
1305
- currentTickers.forEach((t) => {
1456
+ for (let id in currentTickers) {
1457
+ let t = currentTickers[id];
1306
1458
  let tags = t.canvasElementTags;
1307
1459
  let ticker = geTickerInstanceByClassName(t.className, t.args, t.duration, t.priority);
1308
1460
  if (ticker) {
@@ -1310,7 +1462,11 @@ var _GameWindowManager = class _GameWindowManager {
1310
1462
  } else {
1311
1463
  console.error(`[Pixi'VN] Ticker ${t.className} not found`);
1312
1464
  }
1313
- });
1465
+ }
1466
+ }
1467
+ if (data.hasOwnProperty("currentTickersSteps")) {
1468
+ let currentTickersSteps = data["currentTickersSteps"];
1469
+ _GameWindowManager.restoneTickersSteps(currentTickersSteps);
1314
1470
  }
1315
1471
  } catch (e) {
1316
1472
  console.error("[Pixi'VN] Error importing data", e);
@@ -1324,9 +1480,9 @@ _GameWindowManager._children = {};
1324
1480
  * The order of the children tags.
1325
1481
  */
1326
1482
  _GameWindowManager.childrenTagsOrder = [];
1327
- _GameWindowManager._currentTickers = [];
1483
+ _GameWindowManager._currentTickers = {};
1328
1484
  _GameWindowManager._currentTickersSteps = {};
1329
- _GameWindowManager.currentTickersTimeouts = {};
1485
+ _GameWindowManager._currentTickersTimeouts = {};
1330
1486
  var GameWindowManager = _GameWindowManager;
1331
1487
 
1332
1488
  // src/decorators/LabelDecorator.ts
@@ -1344,20 +1500,15 @@ function getLabelById(id) {
1344
1500
  function getDialogue() {
1345
1501
  return GameStorageManager.getVariable(GameStorageManager.keysSystem.CURRENT_DIALOGUE_MEMORY_KEY);
1346
1502
  }
1347
- var TickerFadeAlpha = class extends TickerBase {
1348
- /**
1349
- * The method that will be called every frame to fade the alpha of the canvas element of the canvas.
1350
- * @param delta The delta time
1351
- * @param args The arguments that are passed to the ticker
1352
- * @param tags The tags of the canvas element that are connected to this ticker
1353
- */
1354
- fn(t, args, tags) {
1503
+ var FadeAlphaTicker = class extends TickerBase {
1504
+ fn(ticker, args, tags, tickerId) {
1355
1505
  let type = args.type === void 0 ? "hide" : args.type;
1356
- let speed = args.speed === void 0 ? 0.1 : args.speed;
1506
+ let duration = args.duration === void 0 ? 1 : args.duration;
1507
+ let speed = 1 / (duration * 60);
1357
1508
  let limit = args.limit === void 0 ? type === "hide" ? 0 : 1 : args.limit;
1358
- let removeElementAfter = args.tagToRemoveAfter || [];
1359
- if (typeof removeElementAfter === "string") {
1360
- removeElementAfter = [removeElementAfter];
1509
+ let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
1510
+ if (typeof tagToRemoveAfter2 === "string") {
1511
+ tagToRemoveAfter2 = [tagToRemoveAfter2];
1361
1512
  }
1362
1513
  if (type === "hide" && limit < 0) {
1363
1514
  limit = 0;
@@ -1378,61 +1529,88 @@ var TickerFadeAlpha = class extends TickerBase {
1378
1529
  let element = GameWindowManager.getCanvasElement(tag);
1379
1530
  if (element && element instanceof pixi_js.Container) {
1380
1531
  if (type === "show" && element.alpha < limit) {
1381
- element.alpha += speed * t.deltaTime;
1532
+ element.alpha += speed * ticker.deltaTime;
1382
1533
  } else if (type === "hide" && element.alpha > limit) {
1383
- element.alpha -= speed * t.deltaTime;
1384
- } else {
1534
+ element.alpha -= speed * ticker.deltaTime;
1535
+ }
1536
+ if (type === "show" && element.alpha >= limit) {
1385
1537
  element.alpha = limit;
1386
- GameWindowManager.removeAssociationBetweenTickerCanvasElement(tag, this);
1387
- GameWindowManager.removeCanvasElement(removeElementAfter);
1538
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
1539
+ } else if (type === "hide" && element.alpha <= limit) {
1540
+ element.alpha = limit;
1541
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
1388
1542
  }
1389
1543
  }
1390
1544
  });
1391
1545
  }
1392
1546
  };
1393
- TickerFadeAlpha = __decorateClass([
1547
+ FadeAlphaTicker = __decorateClass([
1394
1548
  tickerDecorator()
1395
- ], TickerFadeAlpha);
1549
+ ], FadeAlphaTicker);
1396
1550
 
1397
1551
  // src/functions/TickerUtility.ts
1398
1552
  function updateTickerProgression(args, propertyName, progression) {
1399
- if (args.hasOwnProperty(propertyName) && typeof args[propertyName] !== "number") {
1553
+ if (args[propertyName] === void 0 || !progression || args[propertyName] === progression.limit) {
1400
1554
  return;
1401
1555
  }
1402
- if (args[propertyName] !== void 0 && progression && args[propertyName] !== progression.limit) {
1556
+ if (typeof args[propertyName] === "number") {
1403
1557
  if (progression.type === "linear") {
1404
- args[propertyName] += progression.amt;
1405
- if (progression.limit !== void 0) {
1406
- if (args[propertyName] > progression.limit && progression.amt > 0) {
1407
- args[propertyName] = progression.limit;
1408
- } else if (args[propertyName] < progression.limit && progression.amt < 0) {
1409
- args[propertyName] = progression.limit;
1410
- }
1411
- }
1558
+ args[propertyName] = getLinearProgression(args[propertyName], progression);
1412
1559
  } else if (progression.type === "exponential") {
1413
- args[propertyName] += args[propertyName] * progression.percentage;
1414
- if (progression.limit !== void 0) {
1415
- if (args[propertyName] > progression.limit && progression.percentage > 0) {
1416
- args[propertyName] = progression.limit;
1417
- } else if (args[propertyName] < progression.limit && progression.percentage < 0) {
1418
- args[propertyName] = progression.limit;
1419
- }
1420
- }
1560
+ args[propertyName] = getExponentialProgression(args[propertyName], progression);
1561
+ }
1562
+ } 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") {
1563
+ if (progression.type === "linear") {
1564
+ args[propertyName].x = getLinearProgression(args[propertyName].x, progression);
1565
+ args[propertyName].y = getLinearProgression(args[propertyName].y, progression);
1566
+ } else if (progression.type === "exponential") {
1567
+ args[propertyName].x = getExponentialProgression(args[propertyName].x, progression);
1568
+ args[propertyName].y = getExponentialProgression(args[propertyName].y, progression);
1569
+ }
1570
+ }
1571
+ }
1572
+ function getLinearProgression(number, progression) {
1573
+ if (progression.limit !== void 0) {
1574
+ if (number > progression.limit && progression.amt > 0) {
1575
+ return progression.limit;
1576
+ } else if (number < progression.limit && progression.amt < 0) {
1577
+ return progression.limit;
1421
1578
  }
1422
1579
  }
1580
+ return number + progression.amt / 60;
1581
+ }
1582
+ function getExponentialProgression(number, progression) {
1583
+ if (progression.limit !== void 0) {
1584
+ if (number > progression.limit && progression.percentage > 0) {
1585
+ return progression.limit;
1586
+ } else if (number < progression.limit && progression.percentage < 0) {
1587
+ return progression.limit;
1588
+ }
1589
+ }
1590
+ return number + number * progression.percentage;
1423
1591
  }
1424
1592
 
1425
- // src/classes/ticker/TickerMove.ts
1426
- var TickerMove = class extends TickerBase {
1427
- /**
1428
- * The method that will be called every frame to move the canvas element of the canvas.
1429
- * @param t The ticker that is calling this method
1430
- * @param args The arguments that are passed to the ticker
1431
- * @param tags The tags of the canvas element that are connected to this ticker
1432
- */
1433
- fn(t, args, tags) {
1434
- let speed = args.speed === void 0 ? 0.1 : args.speed;
1593
+ // src/classes/ticker/MoveTicker.ts
1594
+ var MoveTicker = class extends TickerBase {
1595
+ fn(ticker, args, tags, tickerId) {
1596
+ let xSpeed = 1;
1597
+ let ySpeed = 1;
1598
+ if (args.speed) {
1599
+ if (typeof args.speed === "number") {
1600
+ xSpeed = args.speed;
1601
+ ySpeed = args.speed;
1602
+ } else {
1603
+ xSpeed = args.speed.x;
1604
+ ySpeed = args.speed.y;
1605
+ }
1606
+ }
1607
+ xSpeed /= 60;
1608
+ ySpeed /= 60;
1435
1609
  let destination = args.destination;
1610
+ let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
1611
+ if (typeof tagToRemoveAfter2 === "string") {
1612
+ tagToRemoveAfter2 = [tagToRemoveAfter2];
1613
+ }
1436
1614
  tags.filter((tag) => {
1437
1615
  var _a;
1438
1616
  let element = GameWindowManager.getCanvasElement(tag);
@@ -1445,41 +1623,42 @@ var TickerMove = class extends TickerBase {
1445
1623
  }).forEach((tag) => {
1446
1624
  let element = GameWindowManager.getCanvasElement(tag);
1447
1625
  if (element && element instanceof pixi_js.Container) {
1448
- let xDistance = destination.x - element.x;
1626
+ let xDistance = destination.x - element.x > 0 ? 1 : -1;
1449
1627
  if (xDistance != 0) {
1450
- element.x += xDistance / speed * t.deltaTime;
1628
+ element.x += xDistance * xSpeed * ticker.deltaTime;
1451
1629
  let newDistance = destination.x - element.x;
1452
1630
  if (xDistance < 0 && newDistance > 0 || xDistance > 0 && newDistance < 0) {
1453
1631
  element.x = destination.x;
1454
1632
  }
1455
1633
  }
1456
- let yDistance = destination.y - element.y;
1634
+ let yDistance = destination.y - element.y > 0 ? 1 : -1;
1457
1635
  if (yDistance != 0) {
1458
- element.y += yDistance / speed * t.deltaTime;
1636
+ element.y += yDistance * ySpeed * ticker.deltaTime;
1459
1637
  let newDistance = destination.y - element.y;
1460
1638
  if (yDistance < 0 && newDistance > 0 || yDistance > 0 && newDistance < 0) {
1461
1639
  element.y = destination.y;
1462
1640
  }
1463
1641
  }
1642
+ if (element.x == destination.x && element.y == destination.y) {
1643
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
1644
+ }
1464
1645
  }
1465
1646
  });
1466
1647
  if (args.speedProgression)
1467
1648
  updateTickerProgression(args, "speed", args.speedProgression);
1468
1649
  }
1469
1650
  };
1470
- TickerMove = __decorateClass([
1651
+ MoveTicker = __decorateClass([
1471
1652
  tickerDecorator()
1472
- ], TickerMove);
1473
- var TickerRotate = class extends TickerBase {
1474
- /**
1475
- * The method that will be called every frame to rotate the canvas element of the canvas.
1476
- * @param delta The delta time
1477
- * @param args The arguments that are passed to the ticker
1478
- * @param tags The tags of the canvas element that are connected to this ticker
1479
- */
1480
- fn(t, args, tags) {
1481
- let speed = args.speed === void 0 ? 0.1 : args.speed;
1653
+ ], MoveTicker);
1654
+ var RotateTicker = class extends TickerBase {
1655
+ fn(ticker, args, tags, tickerId) {
1656
+ let speed = (args.speed === void 0 ? 1 : args.speed) / 60;
1482
1657
  let clockwise = args.clockwise === void 0 ? true : args.clockwise;
1658
+ let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
1659
+ if (typeof tagToRemoveAfter2 === "string") {
1660
+ tagToRemoveAfter2 = [tagToRemoveAfter2];
1661
+ }
1483
1662
  tags.filter((tag) => {
1484
1663
  var _a;
1485
1664
  let element = GameWindowManager.getCanvasElement(tag);
@@ -1493,18 +1672,108 @@ var TickerRotate = class extends TickerBase {
1493
1672
  let element = GameWindowManager.getCanvasElement(tag);
1494
1673
  if (element && element instanceof pixi_js.Container) {
1495
1674
  if (clockwise)
1496
- element.rotation += speed * t.deltaTime;
1675
+ element.rotation += speed * ticker.deltaTime;
1497
1676
  else
1498
- element.rotation -= speed * t.deltaTime;
1677
+ element.rotation -= speed * ticker.deltaTime;
1678
+ if (speed < 1e-5 && !(args.speedProgression && args.speedProgression.type == "linear" && args.speedProgression.amt != 0)) {
1679
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
1680
+ }
1499
1681
  }
1500
1682
  });
1501
1683
  if (args.speedProgression)
1502
1684
  updateTickerProgression(args, "speed", args.speedProgression);
1503
1685
  }
1504
1686
  };
1505
- TickerRotate = __decorateClass([
1687
+ RotateTicker = __decorateClass([
1506
1688
  tickerDecorator()
1507
- ], TickerRotate);
1689
+ ], RotateTicker);
1690
+ var ZoomTicker = class extends TickerBase {
1691
+ fn(ticker, args, tags, tickerId) {
1692
+ let xSpeed = 0.1;
1693
+ let ySpeed = 0.1;
1694
+ if (args.speed) {
1695
+ if (typeof args.speed === "number") {
1696
+ xSpeed = args.speed;
1697
+ ySpeed = args.speed;
1698
+ } else {
1699
+ xSpeed = args.speed.x;
1700
+ ySpeed = args.speed.y;
1701
+ }
1702
+ }
1703
+ xSpeed /= 60;
1704
+ ySpeed /= 60;
1705
+ let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
1706
+ if (typeof tagToRemoveAfter2 === "string") {
1707
+ tagToRemoveAfter2 = [tagToRemoveAfter2];
1708
+ }
1709
+ let type = args.type || "zoom";
1710
+ let xLimit = Infinity;
1711
+ let yLimit = Infinity;
1712
+ if (args.limit) {
1713
+ if (typeof args.limit === "number") {
1714
+ xLimit = args.limit;
1715
+ yLimit = args.limit;
1716
+ } else {
1717
+ xLimit = args.limit.x;
1718
+ yLimit = args.limit.y;
1719
+ }
1720
+ }
1721
+ tags.filter((tag) => {
1722
+ var _a;
1723
+ let element = GameWindowManager.getCanvasElement(tag);
1724
+ if (args.startOnlyIfHaveTexture) {
1725
+ if (element && element instanceof pixi_js.Sprite && ((_a = element.texture) == null ? void 0 : _a.label) == "EMPTY") {
1726
+ return false;
1727
+ }
1728
+ }
1729
+ return true;
1730
+ }).forEach((tag) => {
1731
+ let element = GameWindowManager.getCanvasElement(tag);
1732
+ if (element && element instanceof pixi_js.Container) {
1733
+ if (type === "zoom" && (element.scale.x < xLimit || element.scale.y < yLimit)) {
1734
+ element.scale.x += xSpeed * ticker.deltaTime;
1735
+ element.scale.y += ySpeed * ticker.deltaTime;
1736
+ } else if (type === "unzoom" && (element.scale.x > xLimit || element.scale.y > yLimit)) {
1737
+ element.scale.x -= xSpeed * ticker.deltaTime;
1738
+ element.scale.y -= ySpeed * ticker.deltaTime;
1739
+ }
1740
+ if (type === "zoom") {
1741
+ if (element.scale.x > xLimit) {
1742
+ element.scale.x = xLimit;
1743
+ }
1744
+ if (element.scale.y > yLimit) {
1745
+ element.scale.y = yLimit;
1746
+ }
1747
+ if (element.scale.x >= xLimit && element.scale.y >= yLimit) {
1748
+ element.scale.x = xLimit;
1749
+ element.scale.y = yLimit;
1750
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
1751
+ }
1752
+ } else if (type === "unzoom") {
1753
+ if (element.scale.x < xLimit) {
1754
+ element.scale.x = xLimit;
1755
+ }
1756
+ if (element.scale.y < yLimit) {
1757
+ element.scale.y = yLimit;
1758
+ }
1759
+ if (element.scale.x <= xLimit && element.scale.y <= yLimit) {
1760
+ element.scale.x = xLimit;
1761
+ element.scale.y = yLimit;
1762
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
1763
+ }
1764
+ }
1765
+ if (xSpeed < 1e-5 && ySpeed < 1e-5 && !(args.speedProgression && args.speedProgression.type == "linear" && args.speedProgression.amt != 0)) {
1766
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
1767
+ }
1768
+ }
1769
+ });
1770
+ if (args.speedProgression)
1771
+ updateTickerProgression(args, "speed", args.speedProgression);
1772
+ }
1773
+ };
1774
+ ZoomTicker = __decorateClass([
1775
+ tickerDecorator()
1776
+ ], ZoomTicker);
1508
1777
 
1509
1778
  // src/functions/DiffUtility.ts
1510
1779
  function restoreDeepDiffChanges(data, differences) {
@@ -1611,7 +1880,8 @@ var _GameStepManager = class _GameStepManager {
1611
1880
  canvas: {
1612
1881
  childrenTagsOrder: [],
1613
1882
  currentElements: {},
1614
- currentTickers: []
1883
+ currentTickers: {},
1884
+ currentTickersSteps: {}
1615
1885
  },
1616
1886
  labelIndex: -1,
1617
1887
  openedLabels: []
@@ -1822,8 +2092,15 @@ var _GameStepManager = class _GameStepManager {
1822
2092
  }
1823
2093
  try {
1824
2094
  if (labelId === CLOSE_LABEL_ID) {
1825
- let closeLabel = newCloseLabel(choiseMade);
1826
- return _GameStepManager.closeChoiceMenu(closeLabel, props);
2095
+ let closeCurrentLabel = newCloseLabel(choiseMade);
2096
+ let choice = {
2097
+ label: closeCurrentLabel,
2098
+ text: "",
2099
+ closeCurrentLabel: false,
2100
+ type: "close",
2101
+ props: {}
2102
+ };
2103
+ return _GameStepManager.closeChoiceMenu(choice, props);
1827
2104
  }
1828
2105
  let tempLabel = getLabelById(labelId);
1829
2106
  if (!tempLabel) {
@@ -1873,8 +2150,15 @@ var _GameStepManager = class _GameStepManager {
1873
2150
  }
1874
2151
  try {
1875
2152
  if (labelId === CLOSE_LABEL_ID) {
1876
- let closeLabel = newCloseLabel(choiseMade);
1877
- return _GameStepManager.closeChoiceMenu(closeLabel, props);
2153
+ let closeCurrentLabel = newCloseLabel(choiseMade);
2154
+ let choice = {
2155
+ label: closeCurrentLabel,
2156
+ text: "",
2157
+ closeCurrentLabel: false,
2158
+ type: "close",
2159
+ props: {}
2160
+ };
2161
+ return _GameStepManager.closeChoiceMenu(choice, props);
1878
2162
  }
1879
2163
  let tempLabel = getLabelById(labelId);
1880
2164
  if (!tempLabel) {
@@ -1890,7 +2174,8 @@ var _GameStepManager = class _GameStepManager {
1890
2174
  }
1891
2175
  /**
1892
2176
  * When the player is in a choice menu, can use this function to exit to the choice menu.
1893
- * @param props The props to pass to the step.
2177
+ * @param choice
2178
+ * @param props
1894
2179
  * @returns StepLabelResultType or undefined.
1895
2180
  * @example
1896
2181
  * ```typescript
@@ -1901,12 +2186,16 @@ var _GameStepManager = class _GameStepManager {
1901
2186
  * })
1902
2187
  * ```
1903
2188
  */
1904
- static closeChoiceMenu(label, props) {
2189
+ static closeChoiceMenu(choice, props) {
1905
2190
  return __async(this, null, function* () {
2191
+ let label = choice.label;
1906
2192
  let choiseMade = void 0;
1907
2193
  if (typeof label.choiseIndex === "number") {
1908
2194
  choiseMade = label.choiseIndex;
1909
2195
  }
2196
+ if (choice.closeCurrentLabel) {
2197
+ _GameStepManager.closeCurrentLabel();
2198
+ }
1910
2199
  return _GameStepManager.runNextStep(props, choiseMade);
1911
2200
  });
1912
2201
  }