@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) => {
@@ -284,8 +283,8 @@ var GameStorageManager = _GameStorageManager;
284
283
  var TickerBase = class {
285
284
  /**
286
285
  * @param args The arguments that you want to pass to the ticker.
287
- * @param duration The duration of the ticker. If is undefined, the ticker will be called every frame.
288
- * @param priority The priority of the ticker. If is undefined, the priority will be UPDATE_PRIORITY.NORMAL.
286
+ * @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
287
+ * @param priority The priority of the ticker. @default UPDATE_PRIORITY.NORMAL
289
288
  */
290
289
  constructor(args, duration, priority) {
291
290
  this.args = args;
@@ -295,15 +294,26 @@ var TickerBase = class {
295
294
  /**
296
295
  * The method that will be called every frame.
297
296
  * This method should be overridden and you can use GameWindowManager.addCanvasElement() to get the canvas element of the canvas, and edit them.
298
- * @param t The ticker that is calling this method
299
- * @param args The arguments that you passed when you added the ticker
300
- * @param tags The tags of the canvas elements that are connected to this ticker
297
+ * @param _ticker The ticker that is calling this method
298
+ * @param _args The arguments that you passed when you added the ticker
299
+ * @param _tags The tags of the canvas elements that are connected to this ticker
300
+ * @param _tickerId The id of the ticker. You can use this to get the ticker from the {@link GameWindowManager.currentTickers}
301
301
  */
302
- fn(_t, _args, _tags) {
302
+ fn(_ticker, _args, _tags, _tickerId) {
303
303
  throw new Error("[Pixi'VN] The method TickerBase.fn() must be overridden");
304
304
  }
305
305
  };
306
306
 
307
+ // src/constants.ts
308
+ var PIXIVN_VERSION = "0.6.1";
309
+ var Repeat = "repeat";
310
+ function Pause(duration) {
311
+ return {
312
+ type: "pause",
313
+ duration
314
+ };
315
+ }
316
+
307
317
  // src/decorators/TickerDecorator.ts
308
318
  var registeredTickers = {};
309
319
  function tickerDecorator(name) {
@@ -312,7 +322,7 @@ function tickerDecorator(name) {
312
322
  name = target.name;
313
323
  }
314
324
  if (registeredTickers[name]) {
315
- console.warn(`[Pixi'VN] Ticker ${name} already exists, it will be overwritten`);
325
+ console.info(`[Pixi'VN] Ticker ${name} already exists, it will be overwritten`);
316
326
  }
317
327
  registeredTickers[name] = target;
318
328
  };
@@ -803,11 +813,8 @@ function asciiArtLog() {
803
813
  `);
804
814
  }
805
815
 
806
- // src/types/PauseType.ts
807
- var PauseValueType = "pause";
808
-
809
- // src/types/RepeatType.ts
810
- var Repeat = "repeat";
816
+ // src/types/ticker/TagToRemoveAfterType.ts
817
+ var tagToRemoveAfter = "tagToRemoveAfter";
811
818
 
812
819
  // src/managers/WindowManager.ts
813
820
  var _GameWindowManager = class _GameWindowManager {
@@ -991,25 +998,25 @@ var _GameWindowManager = class _GameWindowManager {
991
998
  /**
992
999
  * Remove a canvas element from the canvas.
993
1000
  * And remove all tickers that are not connected to any canvas element.
994
- * @param tag The tag of the canvas element to be removed.
1001
+ * @param tags The tag of the canvas element to be removed.
995
1002
  * @returns
996
1003
  * @example
997
1004
  * ```typescript
998
1005
  * GameWindowManager.removeCanvasElement("bunny");
999
1006
  * ```
1000
1007
  */
1001
- static removeCanvasElement(tag) {
1002
- if (typeof tag === "string") {
1003
- tag = [tag];
1008
+ static removeCanvasElement(tags) {
1009
+ if (typeof tags === "string") {
1010
+ tags = [tags];
1004
1011
  }
1005
- tag.forEach((t) => {
1006
- if (_GameWindowManager._children[t]) {
1007
- _GameWindowManager.app.stage.removeChild(_GameWindowManager._children[t]);
1008
- delete _GameWindowManager._children[t];
1012
+ tags.forEach((tag) => {
1013
+ if (_GameWindowManager._children[tag]) {
1014
+ _GameWindowManager.app.stage.removeChild(_GameWindowManager._children[tag]);
1015
+ delete _GameWindowManager._children[tag];
1016
+ _GameWindowManager.removeTickerByCanvasElement(tag);
1009
1017
  }
1010
1018
  });
1011
- _GameWindowManager.removeTickersWithoutAssociatedCanvasElement();
1012
- _GameWindowManager.childrenTagsOrder = _GameWindowManager.childrenTagsOrder.filter((t) => !tag.includes(t));
1019
+ _GameWindowManager.childrenTagsOrder = _GameWindowManager.childrenTagsOrder.filter((t) => !tags.includes(t));
1013
1020
  }
1014
1021
  /**
1015
1022
  * Get a canvas element by the tag.
@@ -1039,18 +1046,43 @@ var _GameWindowManager = class _GameWindowManager {
1039
1046
  _GameWindowManager.app.stage.removeChildren();
1040
1047
  _GameWindowManager._children = {};
1041
1048
  _GameWindowManager.childrenTagsOrder = [];
1042
- _GameWindowManager.removeTickers();
1049
+ _GameWindowManager.removeAllTickers();
1043
1050
  }
1044
1051
  /**
1045
1052
  * Edit the tag of a canvas element.
1046
1053
  * @param oldTag The old tag of the canvas element.
1047
1054
  * @param newTag The new tag of the canvas element.
1048
1055
  */
1049
- static editTagCanvasElement(oldTag, newTag) {
1056
+ static editCanvasElementTag(oldTag, newTag) {
1050
1057
  if (_GameWindowManager._children[oldTag]) {
1051
1058
  _GameWindowManager._children[newTag] = _GameWindowManager._children[oldTag];
1052
1059
  delete _GameWindowManager._children[oldTag];
1053
1060
  }
1061
+ if (_GameWindowManager._currentTickersSteps[oldTag]) {
1062
+ _GameWindowManager._currentTickersSteps[newTag] = _GameWindowManager._currentTickersSteps[oldTag];
1063
+ delete _GameWindowManager._currentTickersSteps[oldTag];
1064
+ }
1065
+ for (let id in _GameWindowManager._currentTickers) {
1066
+ let ticker = _GameWindowManager._currentTickers[id];
1067
+ if (ticker.canvasElementTags.includes(oldTag)) {
1068
+ ticker.canvasElementTags = ticker.canvasElementTags.map((t) => t === oldTag ? newTag : t);
1069
+ if (ticker.args.hasOwnProperty(tagToRemoveAfter)) {
1070
+ let tagToRemoveAfter2 = ticker.args.tagToRemoveAfter;
1071
+ if (typeof tagToRemoveAfter2 === "string") {
1072
+ tagToRemoveAfter2 = [tagToRemoveAfter2];
1073
+ }
1074
+ if (Array.isArray(tagToRemoveAfter2)) {
1075
+ ticker.args.tagToRemoveAfter = tagToRemoveAfter2.map((t) => t === oldTag ? newTag : t);
1076
+ }
1077
+ }
1078
+ }
1079
+ }
1080
+ for (let timeout in _GameWindowManager._currentTickersTimeouts) {
1081
+ let TickerTimeout = _GameWindowManager._currentTickersTimeouts[timeout];
1082
+ if (TickerTimeout.tags.includes(oldTag)) {
1083
+ TickerTimeout.tags = TickerTimeout.tags.map((t) => t === oldTag ? newTag : t);
1084
+ }
1085
+ }
1054
1086
  }
1055
1087
  /** Edit Tickers Methods */
1056
1088
  /**
@@ -1059,23 +1091,38 @@ var _GameWindowManager = class _GameWindowManager {
1059
1091
  static get currentTickers() {
1060
1092
  return _GameWindowManager._currentTickers;
1061
1093
  }
1094
+ static get currentTickersList() {
1095
+ return Object.values(_GameWindowManager._currentTickers);
1096
+ }
1097
+ static get currentTickersWithoutCreatedBySteps() {
1098
+ return Object.fromEntries(Object.entries(_GameWindowManager._currentTickers).filter(([_, ticker]) => !ticker.createdByTicketStepsId));
1099
+ }
1062
1100
  /**
1063
1101
  * The steps of the tickers
1064
1102
  */
1065
1103
  static get currentTickersSteps() {
1066
1104
  return _GameWindowManager._currentTickersSteps;
1067
1105
  }
1106
+ static generateTickerId(tickerData) {
1107
+ try {
1108
+ return sha1(JSON.stringify(tickerData)).toString() + "_" + Math.random().toString(36).substring(7);
1109
+ } catch (e) {
1110
+ throw new Error(`[Pixi'VN] Error to generate ticker id: ${e}`);
1111
+ }
1112
+ }
1068
1113
  /**
1069
- * Run a ticker.
1114
+ * Run a ticker. You can run multiple addTicker with the same tag and different tickerClasses.
1115
+ * If you run a ticker with the same tag and tickerClass, the old ticker will be removed.
1116
+ * If already exists a sequence of tickers with the same tag, it will be removed.
1070
1117
  * @param canvasEslementTag The tag of the canvas element that will use the ticker.
1071
1118
  * @param ticker The ticker class to be run.
1072
1119
  * @param args The arguments to be used in the ticker.
1073
- * @param duration The time to be used in the ticker. This number is in milliseconds. If it is undefined, the ticker will run forever.
1120
+ * @param duration The time to be used in the ticker. This number is in seconds. If it is undefined, the ticker will run forever.
1074
1121
  * @param priority The priority to be used in the ticker.
1075
1122
  * @returns
1076
1123
  * @example
1077
1124
  * ```typescript
1078
- * GameWindowManager.addTicker("alien", new TickerRotate({ speed: 0.2 }))
1125
+ * GameWindowManager.addTicker("alien", new RotateTicker({ speed: 0.2 }))
1079
1126
  * ```
1080
1127
  */
1081
1128
  static addTicker(canvasElementTag, ticker) {
@@ -1083,82 +1130,88 @@ var _GameWindowManager = class _GameWindowManager {
1083
1130
  if (typeof canvasElementTag === "string") {
1084
1131
  canvasElementTag = [canvasElementTag];
1085
1132
  }
1086
- let t = geTickerInstanceByClassName(tickerName, ticker.args, ticker.duration, ticker.priority);
1087
- if (!t) {
1133
+ if (!geTickerInstanceByClassName(tickerName, ticker.args, ticker.duration, ticker.priority)) {
1088
1134
  console.error(`[Pixi'VN] Ticker ${tickerName} not found`);
1089
1135
  return;
1090
1136
  }
1091
- _GameWindowManager.removeAssociationBetweenTickerCanvasElement(canvasElementTag, ticker);
1092
1137
  let tickerHistory = {
1093
1138
  fn: () => {
1094
1139
  },
1095
1140
  className: tickerName,
1096
- args: ticker.args,
1141
+ args: createExportableElement(ticker.args),
1097
1142
  canvasElementTags: canvasElementTag,
1098
1143
  priority: ticker.priority,
1099
1144
  duration: ticker.duration
1100
1145
  };
1101
- _GameWindowManager.pushTicker(tickerHistory, t);
1102
- _GameWindowManager.removeTickersWithoutAssociatedCanvasElement();
1146
+ let id = _GameWindowManager.generateTickerId(tickerHistory);
1147
+ _GameWindowManager.pushTicker(id, tickerHistory, ticker);
1103
1148
  if (ticker.duration) {
1104
1149
  let timeout = setTimeout(() => {
1105
1150
  _GameWindowManager.removeTickerTimeoutInfo(timeout);
1106
- _GameWindowManager.nextTickerStep(canvasElementTag);
1107
- }, ticker.duration);
1108
- _GameWindowManager.addTickerTimeoutInfo(canvasElementTag, tickerName, timeout.toString());
1151
+ let tickerTimeoutInfo = _GameWindowManager._currentTickersTimeouts[timeout.toString()];
1152
+ if (tickerTimeoutInfo) {
1153
+ _GameWindowManager.removeTicker(id);
1154
+ }
1155
+ }, ticker.duration * 1e3);
1156
+ _GameWindowManager.addTickerTimeoutInfo(canvasElementTag, tickerName, timeout.toString(), true);
1109
1157
  }
1110
1158
  }
1111
- static pushTicker(tickerData, ticker) {
1159
+ static pushTicker(id, tickerData, ticker) {
1112
1160
  _GameWindowManager.removeAssociationBetweenTickerCanvasElement(tickerData.canvasElementTags, tickerData);
1113
- _GameWindowManager._currentTickers.push(tickerData);
1161
+ _GameWindowManager._currentTickers[id] = tickerData;
1114
1162
  tickerData.fn = (t) => {
1115
- ticker == null ? void 0 : ticker.fn(t, tickerData.args, tickerData.canvasElementTags);
1163
+ let data = _GameWindowManager._currentTickers[id];
1164
+ if (data) {
1165
+ ticker == null ? void 0 : ticker.fn(t, data.args, data.canvasElementTags, id);
1166
+ }
1116
1167
  };
1117
1168
  _GameWindowManager.app.ticker.add(tickerData.fn, void 0, tickerData.priority);
1118
1169
  }
1119
1170
  /**
1120
- * Run a sequence of tickers.
1171
+ * Run a sequence of tickers. If exists a ticker steps with the same tag, it will be removed.
1121
1172
  * @param tag The tag of canvas element that will use the tickers.
1122
1173
  * @param steps The steps of the tickers.
1174
+ * @param currentStepNumber The current step number. It is used to continue the sequence of tickers.
1123
1175
  * @returns
1124
1176
  * @example
1125
1177
  * ```typescript
1126
1178
  * GameWindowManager.addTickersSteps("alien", [
1127
- * new TickerRotate({ speed: 0.1, clockwise: true }, 2000),
1128
- * Pause(500),
1129
- * new TickerRotate({ speed: 0.2, clockwise: false }, 2000),
1179
+ * new RotateTicker({ speed: 0.1, clockwise: true }, 2), // 2 seconds
1180
+ * Pause(1), // 1 second
1181
+ * new RotateTicker({ speed: 0.2, clockwise: false }, 2),
1130
1182
  * Repeat,
1131
1183
  * ])
1132
1184
  * ```
1133
1185
  */
1134
- static addTickersSteps(tag, steps) {
1186
+ static addTickersSteps(tag, steps, currentStepNumber = 0) {
1135
1187
  if (steps.length == 0) {
1136
1188
  console.warn("[Pixi'VN] The steps of the tickers is empty");
1137
1189
  return;
1138
1190
  }
1139
- let alredyExists = _GameWindowManager._currentTickersSteps[tag] !== void 0;
1191
+ _GameWindowManager.removeTickerStepByCanvasElement(tag);
1140
1192
  _GameWindowManager._currentTickersSteps[tag] = {
1141
- currentStepNumber: 0,
1142
- steps: steps.map((s) => {
1143
- if (s === Repeat) {
1144
- return s;
1193
+ currentStepNumber,
1194
+ steps: steps.map((step) => {
1195
+ if (step === Repeat) {
1196
+ return step;
1145
1197
  }
1146
- if (!s.duration) {
1147
- console.warn("[Pixi'VN] Duration is not defined, so it will be set to 1000");
1148
- s.duration = 1e3;
1198
+ if (step.hasOwnProperty("type") && step.type === "pause") {
1199
+ return step;
1149
1200
  }
1150
- if (s.hasOwnProperty("type") && s.type === PauseValueType) {
1151
- return s;
1152
- }
1153
- let tickerName = s.constructor.name;
1201
+ let tickerName = step.constructor.name;
1154
1202
  return {
1155
1203
  ticker: tickerName,
1156
- args: s.args,
1157
- duration: s.duration
1204
+ args: createExportableElement(step.args),
1205
+ duration: step.duration
1158
1206
  };
1159
1207
  })
1160
1208
  };
1161
- if (!alredyExists) {
1209
+ _GameWindowManager.runTickersSteps(tag);
1210
+ }
1211
+ static restoneTickersSteps(data) {
1212
+ for (let tag in data) {
1213
+ let steps = data[tag];
1214
+ _GameWindowManager._currentTickersSteps[tag] = steps;
1162
1215
  _GameWindowManager.runTickersSteps(tag);
1163
1216
  }
1164
1217
  }
@@ -1172,12 +1225,17 @@ var _GameWindowManager = class _GameWindowManager {
1172
1225
  return;
1173
1226
  }
1174
1227
  }
1175
- if (step.hasOwnProperty("type") && step.type === PauseValueType) {
1228
+ if (step.hasOwnProperty("type") && step.type === "pause") {
1176
1229
  let timeout = setTimeout(() => {
1230
+ let tickerTimeoutInfo = _GameWindowManager._currentTickersTimeouts[timeout.toString()];
1231
+ if (tickerTimeoutInfo) {
1232
+ tickerTimeoutInfo.tags.forEach((tag2) => {
1233
+ _GameWindowManager.nextTickerStep(tag2);
1234
+ });
1235
+ }
1177
1236
  _GameWindowManager.removeTickerTimeoutInfo(timeout);
1178
- _GameWindowManager.nextTickerStep(tag);
1179
- }, step.duration);
1180
- _GameWindowManager.addTickerTimeoutInfo(tag, "steps", timeout.toString());
1237
+ }, step.duration * 1e3);
1238
+ _GameWindowManager.addTickerTimeoutInfo(tag, "steps", timeout.toString(), false);
1181
1239
  return;
1182
1240
  }
1183
1241
  let ticker = geTickerInstanceByClassName(step.ticker, step.args, step.duration, step.priority);
@@ -1185,57 +1243,88 @@ var _GameWindowManager = class _GameWindowManager {
1185
1243
  console.error(`[Pixi'VN] Ticker ${step.ticker} not found`);
1186
1244
  return;
1187
1245
  }
1188
- _GameWindowManager.addTicker(tag, ticker);
1246
+ let tickerName = ticker.constructor.name;
1247
+ let tickerHistory = {
1248
+ fn: () => {
1249
+ },
1250
+ className: tickerName,
1251
+ args: createExportableElement(ticker.args),
1252
+ canvasElementTags: [tag],
1253
+ priority: ticker.priority,
1254
+ duration: ticker.duration,
1255
+ createdByTicketStepsId: tag
1256
+ };
1257
+ let id = _GameWindowManager.generateTickerId(tickerHistory);
1258
+ _GameWindowManager.pushTicker(id, tickerHistory, ticker);
1259
+ if (ticker.duration) {
1260
+ let timeout = setTimeout(() => {
1261
+ let tickerTimeoutInfo = _GameWindowManager._currentTickersTimeouts[timeout.toString()];
1262
+ if (tickerTimeoutInfo) {
1263
+ _GameWindowManager.removeTicker(id);
1264
+ tickerTimeoutInfo.tags.forEach((tag2) => {
1265
+ _GameWindowManager.nextTickerStep(tag2);
1266
+ });
1267
+ }
1268
+ _GameWindowManager.removeTickerTimeoutInfo(timeout);
1269
+ }, ticker.duration * 1e3);
1270
+ _GameWindowManager.addTickerTimeoutInfo(tag, tickerName, timeout.toString(), false);
1271
+ }
1189
1272
  }
1190
1273
  static nextTickerStep(tag) {
1191
- if (typeof tag === "string") {
1192
- tag = [tag];
1274
+ if (_GameWindowManager._currentTickersSteps[tag]) {
1275
+ let steps = _GameWindowManager._currentTickersSteps[tag];
1276
+ if (steps.currentStepNumber + 1 < steps.steps.length) {
1277
+ steps.currentStepNumber++;
1278
+ _GameWindowManager._currentTickersSteps[tag] = steps;
1279
+ _GameWindowManager.runTickersSteps(tag);
1280
+ } else {
1281
+ _GameWindowManager.removeTickerStepByCanvasElement(tag);
1282
+ }
1193
1283
  }
1194
- tag.forEach((tag2) => {
1195
- if (_GameWindowManager._currentTickersSteps[tag2]) {
1196
- let steps = _GameWindowManager._currentTickersSteps[tag2];
1197
- if (steps.currentStepNumber + 1 < steps.steps.length) {
1198
- steps.currentStepNumber++;
1199
- _GameWindowManager._currentTickersSteps[tag2] = steps;
1200
- _GameWindowManager.runTickersSteps(tag2);
1201
- } else {
1202
- delete _GameWindowManager._currentTickersSteps[tag2];
1203
- }
1284
+ }
1285
+ static onEndOfTicker(canvasElementTags, ticker, canvasElementTagsToDelete, tickerId) {
1286
+ let tickerData = _GameWindowManager._currentTickers[tickerId];
1287
+ _GameWindowManager.removeAssociationBetweenTickerCanvasElement(canvasElementTags, ticker);
1288
+ _GameWindowManager.removeCanvasElement(canvasElementTagsToDelete);
1289
+ if (tickerData) {
1290
+ _GameWindowManager.removeTicker(tickerId);
1291
+ if (tickerData.duration == void 0 && tickerData.createdByTicketStepsId) {
1292
+ _GameWindowManager.nextTickerStep(tickerData.createdByTicketStepsId);
1204
1293
  }
1205
- });
1294
+ }
1206
1295
  }
1207
1296
  /**
1208
1297
  * Remove a connection between a canvas element and a ticker.
1209
1298
  * And remove the ticker if there is no canvas element connected to it.
1210
- * @param tag The tag of the canvas element that will use the ticker.
1299
+ * @param tags The tag of the canvas element that will use the ticker.
1211
1300
  * @param ticker The ticker class to be removed.
1212
1301
  * @example
1213
1302
  * ```typescript
1214
- * GameWindowManager.removeAssociationBetweenTickerCanvasElement("alien", TickerRotate)
1303
+ * GameWindowManager.removeAssociationBetweenTickerCanvasElement("alien", RotateTicker)
1215
1304
  * ```
1216
1305
  */
1217
- static removeAssociationBetweenTickerCanvasElement(tag, ticker) {
1306
+ static removeAssociationBetweenTickerCanvasElement(tags, ticker) {
1218
1307
  let tickerName;
1219
- if (ticker instanceof TickerBase) {
1308
+ if (typeof ticker === "string") {
1309
+ tickerName = ticker;
1310
+ } else if (ticker instanceof TickerBase) {
1220
1311
  tickerName = ticker.constructor.name;
1221
1312
  } else {
1222
1313
  tickerName = ticker.name;
1223
1314
  }
1224
- if (typeof tag === "string") {
1225
- tag = [tag];
1315
+ if (typeof tags === "string") {
1316
+ tags = [tags];
1226
1317
  }
1227
- _GameWindowManager._currentTickers = _GameWindowManager._currentTickers.map((t) => {
1228
- if (t.className === tickerName) {
1229
- t.canvasElementTags = t.canvasElementTags.filter((e) => !tag.includes(e));
1318
+ for (let id in _GameWindowManager._currentTickers) {
1319
+ let ticker2 = _GameWindowManager._currentTickers[id];
1320
+ if (ticker2.className === tickerName) {
1321
+ _GameWindowManager._currentTickers[id].canvasElementTags = ticker2.canvasElementTags.filter((e) => !tags.includes(e));
1230
1322
  }
1231
- return t;
1232
- });
1233
- for (let timeout in _GameWindowManager.currentTickersTimeouts) {
1234
- let t = _GameWindowManager.currentTickersTimeouts[timeout].tags.filter((e) => !tag.includes(e));
1235
- if (t.length == 0) {
1236
- _GameWindowManager.removeTickerTimeoutInfo(timeout);
1237
- } else {
1238
- _GameWindowManager.currentTickersTimeouts[timeout].tags = t;
1323
+ }
1324
+ for (let timeout in _GameWindowManager._currentTickersTimeouts) {
1325
+ let TickerTimeout = _GameWindowManager._currentTickersTimeouts[timeout];
1326
+ if (TickerTimeout.ticker === tickerName && TickerTimeout.canBeDeletedBeforeEnd) {
1327
+ _GameWindowManager._currentTickersTimeouts[timeout].tags = TickerTimeout.tags.filter((t) => !tags.includes(t));
1239
1328
  }
1240
1329
  }
1241
1330
  _GameWindowManager.removeTickersWithoutAssociatedCanvasElement();
@@ -1244,49 +1333,117 @@ var _GameWindowManager = class _GameWindowManager {
1244
1333
  * Remove all tickers that are not connected to any existing canvas element.
1245
1334
  */
1246
1335
  static removeTickersWithoutAssociatedCanvasElement() {
1247
- let currentTickers = _GameWindowManager._currentTickers.map((t) => {
1248
- t.canvasElementTags = t.canvasElementTags.filter((e) => _GameWindowManager._children[e]);
1249
- return t;
1250
- });
1251
- currentTickers.filter((t) => t.canvasElementTags.length === 0).forEach((t) => {
1252
- _GameWindowManager.app.ticker.remove(t.fn);
1253
- });
1254
- currentTickers = currentTickers.filter((t) => t.canvasElementTags.length > 0);
1255
- _GameWindowManager._currentTickers = currentTickers;
1336
+ for (let id in _GameWindowManager._currentTickers) {
1337
+ let ticker = _GameWindowManager._currentTickers[id];
1338
+ ticker.canvasElementTags = ticker.canvasElementTags.filter((e) => _GameWindowManager._children[e]);
1339
+ if (ticker.canvasElementTags.length === 0) {
1340
+ _GameWindowManager.removeTicker(id);
1341
+ }
1342
+ }
1256
1343
  for (let tag in _GameWindowManager._currentTickersSteps) {
1257
1344
  if (_GameWindowManager._children[tag] === void 0) {
1258
1345
  delete _GameWindowManager._currentTickersSteps[tag];
1259
1346
  }
1260
1347
  }
1348
+ Object.entries(_GameWindowManager._currentTickersTimeouts).forEach(([timeout, { tags }]) => {
1349
+ if (tags.length === 0) {
1350
+ _GameWindowManager.removeTickerTimeout(timeout);
1351
+ }
1352
+ });
1261
1353
  }
1262
- static addTickerTimeoutInfo(tags, ticker, timeout) {
1354
+ static addTickerTimeoutInfo(tags, ticker, timeout, canBeDeletedBeforeEnd) {
1263
1355
  if (typeof tags === "string") {
1264
1356
  tags = [tags];
1265
1357
  }
1266
- _GameWindowManager.currentTickersTimeouts[timeout] = {
1358
+ _GameWindowManager._currentTickersTimeouts[timeout] = {
1267
1359
  tags,
1268
- ticker
1360
+ ticker,
1361
+ canBeDeletedBeforeEnd
1269
1362
  };
1270
1363
  }
1271
1364
  static removeTickerTimeoutInfo(timeout) {
1272
1365
  if (typeof timeout !== "string") {
1273
1366
  timeout = timeout.toString();
1274
1367
  }
1275
- if (_GameWindowManager.currentTickersTimeouts[timeout]) {
1276
- delete _GameWindowManager.currentTickersTimeouts[timeout];
1368
+ if (_GameWindowManager._currentTickersTimeouts[timeout]) {
1369
+ delete _GameWindowManager._currentTickersTimeouts[timeout];
1370
+ }
1371
+ }
1372
+ static removeTickerTimeout(timeout) {
1373
+ if (typeof timeout !== "string") {
1374
+ timeout = timeout.toString();
1375
+ }
1376
+ clearTimeout(Number(timeout));
1377
+ _GameWindowManager.removeTickerTimeoutInfo(timeout);
1378
+ }
1379
+ static removeTickerTimeoutsByTag(tag, checkCanBeDeletedBeforeEnd) {
1380
+ for (let timeout in _GameWindowManager._currentTickersTimeouts) {
1381
+ let tagsWithoutTagToRemove = _GameWindowManager._currentTickersTimeouts[timeout].tags.filter((t) => t !== tag);
1382
+ if (tagsWithoutTagToRemove.length === 0) {
1383
+ let canBeDeletedBeforeEnd = _GameWindowManager._currentTickersTimeouts[timeout].canBeDeletedBeforeEnd;
1384
+ if (!checkCanBeDeletedBeforeEnd || canBeDeletedBeforeEnd) {
1385
+ _GameWindowManager.removeTickerTimeout(timeout);
1386
+ }
1387
+ } else {
1388
+ _GameWindowManager._currentTickersTimeouts[timeout].tags = tagsWithoutTagToRemove;
1389
+ }
1277
1390
  }
1278
1391
  }
1279
1392
  /**
1280
1393
  * Remove all tickers from the canvas.
1281
1394
  */
1282
- static removeTickers() {
1395
+ static removeAllTickers() {
1283
1396
  _GameWindowManager._currentTickersSteps = {};
1284
- _GameWindowManager._currentTickers.forEach((t) => {
1285
- _GameWindowManager.app.ticker.remove(t.fn);
1397
+ Object.keys(_GameWindowManager._currentTickers).forEach((id) => {
1398
+ _GameWindowManager.removeTicker(id);
1399
+ });
1400
+ _GameWindowManager._currentTickers = {};
1401
+ for (let timeout in _GameWindowManager._currentTickersTimeouts) {
1402
+ _GameWindowManager.removeTickerTimeout(timeout);
1403
+ }
1404
+ }
1405
+ /**
1406
+ * Remove all tickers from a canvas element.
1407
+ * @param tag The tag of the canvas element that will use the ticker.
1408
+ */
1409
+ static removeTickerByCanvasElement(tag) {
1410
+ if (typeof tag === "string") {
1411
+ tag = [tag];
1412
+ }
1413
+ tag.forEach((tag2) => {
1414
+ for (let id in _GameWindowManager._currentTickers) {
1415
+ let ticker = _GameWindowManager._currentTickers[id];
1416
+ if (ticker.canvasElementTags.includes(tag2)) {
1417
+ _GameWindowManager.removeTicker(id);
1418
+ }
1419
+ }
1420
+ if (_GameWindowManager._currentTickersSteps[tag2]) {
1421
+ delete _GameWindowManager._currentTickersSteps[tag2];
1422
+ }
1423
+ _GameWindowManager.removeTickerTimeoutsByTag(tag2, false);
1424
+ delete _GameWindowManager._currentTickersSteps[tag2];
1286
1425
  });
1287
- _GameWindowManager._currentTickers = [];
1288
- for (let timeout in _GameWindowManager.currentTickersTimeouts) {
1289
- _GameWindowManager.removeTickerTimeoutInfo(timeout);
1426
+ }
1427
+ static removeTickerStepByCanvasElement(tag) {
1428
+ if (_GameWindowManager._currentTickersSteps[tag]) {
1429
+ delete _GameWindowManager._currentTickersSteps[tag];
1430
+ }
1431
+ for (let id in _GameWindowManager._currentTickers) {
1432
+ let ticker = _GameWindowManager._currentTickers[id];
1433
+ if (ticker.createdByTicketStepsId === tag) {
1434
+ _GameWindowManager.removeTicker(id);
1435
+ }
1436
+ }
1437
+ }
1438
+ static removeTicker(tickerId) {
1439
+ let ticker = _GameWindowManager._currentTickers[tickerId];
1440
+ if (ticker) {
1441
+ if (ticker.args.hasOwnProperty(tagToRemoveAfter)) {
1442
+ let tagToRemoveAfter2 = ticker.args.tagToRemoveAfter;
1443
+ _GameWindowManager.removeCanvasElement(tagToRemoveAfter2);
1444
+ }
1445
+ _GameWindowManager.app.ticker.remove(ticker.fn);
1446
+ delete _GameWindowManager._currentTickers[tickerId];
1290
1447
  }
1291
1448
  }
1292
1449
  /**
@@ -1313,7 +1470,8 @@ var _GameWindowManager = class _GameWindowManager {
1313
1470
  currentElements[tag] = exportCanvasElement(_GameWindowManager._children[tag]);
1314
1471
  }
1315
1472
  return {
1316
- currentTickers: createExportableElement(_GameWindowManager._currentTickers),
1473
+ currentTickers: createExportableElement(_GameWindowManager.currentTickersWithoutCreatedBySteps),
1474
+ currentTickersSteps: createExportableElement(_GameWindowManager._currentTickersSteps),
1317
1475
  currentElements: createExportableElement(currentElements),
1318
1476
  childrenTagsOrder: createExportableElement(_GameWindowManager.childrenTagsOrder)
1319
1477
  };
@@ -1348,7 +1506,8 @@ var _GameWindowManager = class _GameWindowManager {
1348
1506
  }
1349
1507
  if (data.hasOwnProperty("currentTickers")) {
1350
1508
  let currentTickers = data["currentTickers"];
1351
- currentTickers.forEach((t) => {
1509
+ for (let id in currentTickers) {
1510
+ let t = currentTickers[id];
1352
1511
  let tags = t.canvasElementTags;
1353
1512
  let ticker = geTickerInstanceByClassName(t.className, t.args, t.duration, t.priority);
1354
1513
  if (ticker) {
@@ -1356,7 +1515,11 @@ var _GameWindowManager = class _GameWindowManager {
1356
1515
  } else {
1357
1516
  console.error(`[Pixi'VN] Ticker ${t.className} not found`);
1358
1517
  }
1359
- });
1518
+ }
1519
+ }
1520
+ if (data.hasOwnProperty("currentTickersSteps")) {
1521
+ let currentTickersSteps = data["currentTickersSteps"];
1522
+ _GameWindowManager.restoneTickersSteps(currentTickersSteps);
1360
1523
  }
1361
1524
  } catch (e) {
1362
1525
  console.error("[Pixi'VN] Error importing data", e);
@@ -1370,9 +1533,9 @@ _GameWindowManager._children = {};
1370
1533
  * The order of the children tags.
1371
1534
  */
1372
1535
  _GameWindowManager.childrenTagsOrder = [];
1373
- _GameWindowManager._currentTickers = [];
1536
+ _GameWindowManager._currentTickers = {};
1374
1537
  _GameWindowManager._currentTickersSteps = {};
1375
- _GameWindowManager.currentTickersTimeouts = {};
1538
+ _GameWindowManager._currentTickersTimeouts = {};
1376
1539
  var GameWindowManager = _GameWindowManager;
1377
1540
 
1378
1541
  // src/managers/StepManager.ts
@@ -1439,7 +1602,8 @@ var _GameStepManager = class _GameStepManager {
1439
1602
  canvas: {
1440
1603
  childrenTagsOrder: [],
1441
1604
  currentElements: {},
1442
- currentTickers: []
1605
+ currentTickers: {},
1606
+ currentTickersSteps: {}
1443
1607
  },
1444
1608
  labelIndex: -1,
1445
1609
  openedLabels: []
@@ -1650,8 +1814,15 @@ var _GameStepManager = class _GameStepManager {
1650
1814
  }
1651
1815
  try {
1652
1816
  if (labelId === CLOSE_LABEL_ID) {
1653
- let closeLabel = newCloseLabel(choiseMade);
1654
- return _GameStepManager.closeChoiceMenu(closeLabel, props);
1817
+ let closeCurrentLabel = newCloseLabel(choiseMade);
1818
+ let choice = {
1819
+ label: closeCurrentLabel,
1820
+ text: "",
1821
+ closeCurrentLabel: false,
1822
+ type: "close",
1823
+ props: {}
1824
+ };
1825
+ return _GameStepManager.closeChoiceMenu(choice, props);
1655
1826
  }
1656
1827
  let tempLabel = getLabelById(labelId);
1657
1828
  if (!tempLabel) {
@@ -1701,8 +1872,15 @@ var _GameStepManager = class _GameStepManager {
1701
1872
  }
1702
1873
  try {
1703
1874
  if (labelId === CLOSE_LABEL_ID) {
1704
- let closeLabel = newCloseLabel(choiseMade);
1705
- return _GameStepManager.closeChoiceMenu(closeLabel, props);
1875
+ let closeCurrentLabel = newCloseLabel(choiseMade);
1876
+ let choice = {
1877
+ label: closeCurrentLabel,
1878
+ text: "",
1879
+ closeCurrentLabel: false,
1880
+ type: "close",
1881
+ props: {}
1882
+ };
1883
+ return _GameStepManager.closeChoiceMenu(choice, props);
1706
1884
  }
1707
1885
  let tempLabel = getLabelById(labelId);
1708
1886
  if (!tempLabel) {
@@ -1718,7 +1896,8 @@ var _GameStepManager = class _GameStepManager {
1718
1896
  }
1719
1897
  /**
1720
1898
  * When the player is in a choice menu, can use this function to exit to the choice menu.
1721
- * @param props The props to pass to the step.
1899
+ * @param choice
1900
+ * @param props
1722
1901
  * @returns StepLabelResultType or undefined.
1723
1902
  * @example
1724
1903
  * ```typescript
@@ -1729,12 +1908,16 @@ var _GameStepManager = class _GameStepManager {
1729
1908
  * })
1730
1909
  * ```
1731
1910
  */
1732
- static closeChoiceMenu(label, props) {
1911
+ static closeChoiceMenu(choice, props) {
1733
1912
  return __async(this, null, function* () {
1913
+ let label = choice.label;
1734
1914
  let choiseMade = void 0;
1735
1915
  if (typeof label.choiseIndex === "number") {
1736
1916
  choiseMade = label.choiseIndex;
1737
1917
  }
1918
+ if (choice.closeCurrentLabel) {
1919
+ _GameStepManager.closeCurrentLabel();
1920
+ }
1738
1921
  return _GameStepManager.runNextStep(props, choiseMade);
1739
1922
  });
1740
1923
  }
@@ -1937,8 +2120,9 @@ var Close = "close";
1937
2120
  var ChoiceMenuOptionClose = class {
1938
2121
  /**
1939
2122
  * @param text Text to be displayed in the menu
2123
+ * @param closeCurrentLabel If true, the current label will be closed. @default false
1940
2124
  */
1941
- constructor(text) {
2125
+ constructor(text, closeCurrentLabel = false) {
1942
2126
  /**
1943
2127
  * Label to be opened when the option is selected
1944
2128
  */
@@ -1952,6 +2136,7 @@ var ChoiceMenuOptionClose = class {
1952
2136
  */
1953
2137
  this.props = {};
1954
2138
  this.text = text;
2139
+ this.closeCurrentLabel = closeCurrentLabel;
1955
2140
  }
1956
2141
  };
1957
2142
 
@@ -2036,7 +2221,8 @@ function setChoiceMenuOptions(options) {
2036
2221
  if (option instanceof ChoiceMenuOptionClose) {
2037
2222
  return {
2038
2223
  text: option.text,
2039
- type: Close
2224
+ type: Close,
2225
+ closeCurrentLabel: option.closeCurrentLabel
2040
2226
  };
2041
2227
  }
2042
2228
  return __spreadProps(__spreadValues({}, option), {
@@ -2057,6 +2243,7 @@ function getChoiceMenuOptions() {
2057
2243
  text: option.text,
2058
2244
  label: itemLabel,
2059
2245
  type: Close,
2246
+ closeCurrentLabel: option.closeCurrentLabel,
2060
2247
  props: {}
2061
2248
  });
2062
2249
  return;
@@ -2138,20 +2325,15 @@ function clearAllGameDatas() {
2138
2325
  GameWindowManager.clear();
2139
2326
  GameStepManager.clear();
2140
2327
  }
2141
- var TickerFadeAlpha = class extends TickerBase {
2142
- /**
2143
- * The method that will be called every frame to fade the alpha of the canvas element of the canvas.
2144
- * @param delta The delta time
2145
- * @param args The arguments that are passed to the ticker
2146
- * @param tags The tags of the canvas element that are connected to this ticker
2147
- */
2148
- fn(t, args, tags) {
2328
+ var FadeAlphaTicker = class extends TickerBase {
2329
+ fn(ticker, args, tags, tickerId) {
2149
2330
  let type = args.type === void 0 ? "hide" : args.type;
2150
- let speed = args.speed === void 0 ? 0.1 : args.speed;
2331
+ let duration = args.duration === void 0 ? 1 : args.duration;
2332
+ let speed = 1 / (duration * 60);
2151
2333
  let limit = args.limit === void 0 ? type === "hide" ? 0 : 1 : args.limit;
2152
- let removeElementAfter = args.tagToRemoveAfter || [];
2153
- if (typeof removeElementAfter === "string") {
2154
- removeElementAfter = [removeElementAfter];
2334
+ let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
2335
+ if (typeof tagToRemoveAfter2 === "string") {
2336
+ tagToRemoveAfter2 = [tagToRemoveAfter2];
2155
2337
  }
2156
2338
  if (type === "hide" && limit < 0) {
2157
2339
  limit = 0;
@@ -2172,61 +2354,88 @@ var TickerFadeAlpha = class extends TickerBase {
2172
2354
  let element = GameWindowManager.getCanvasElement(tag);
2173
2355
  if (element && element instanceof Container) {
2174
2356
  if (type === "show" && element.alpha < limit) {
2175
- element.alpha += speed * t.deltaTime;
2357
+ element.alpha += speed * ticker.deltaTime;
2176
2358
  } else if (type === "hide" && element.alpha > limit) {
2177
- element.alpha -= speed * t.deltaTime;
2178
- } else {
2359
+ element.alpha -= speed * ticker.deltaTime;
2360
+ }
2361
+ if (type === "show" && element.alpha >= limit) {
2179
2362
  element.alpha = limit;
2180
- GameWindowManager.removeAssociationBetweenTickerCanvasElement(tag, this);
2181
- GameWindowManager.removeCanvasElement(removeElementAfter);
2363
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
2364
+ } else if (type === "hide" && element.alpha <= limit) {
2365
+ element.alpha = limit;
2366
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
2182
2367
  }
2183
2368
  }
2184
2369
  });
2185
2370
  }
2186
2371
  };
2187
- TickerFadeAlpha = __decorateClass([
2372
+ FadeAlphaTicker = __decorateClass([
2188
2373
  tickerDecorator()
2189
- ], TickerFadeAlpha);
2374
+ ], FadeAlphaTicker);
2190
2375
 
2191
2376
  // src/functions/TickerUtility.ts
2192
2377
  function updateTickerProgression(args, propertyName, progression) {
2193
- if (args.hasOwnProperty(propertyName) && typeof args[propertyName] !== "number") {
2378
+ if (args[propertyName] === void 0 || !progression || args[propertyName] === progression.limit) {
2194
2379
  return;
2195
2380
  }
2196
- if (args[propertyName] !== void 0 && progression && args[propertyName] !== progression.limit) {
2381
+ if (typeof args[propertyName] === "number") {
2197
2382
  if (progression.type === "linear") {
2198
- args[propertyName] += progression.amt;
2199
- if (progression.limit !== void 0) {
2200
- if (args[propertyName] > progression.limit && progression.amt > 0) {
2201
- args[propertyName] = progression.limit;
2202
- } else if (args[propertyName] < progression.limit && progression.amt < 0) {
2203
- args[propertyName] = progression.limit;
2204
- }
2205
- }
2383
+ args[propertyName] = getLinearProgression(args[propertyName], progression);
2206
2384
  } else if (progression.type === "exponential") {
2207
- args[propertyName] += args[propertyName] * progression.percentage;
2208
- if (progression.limit !== void 0) {
2209
- if (args[propertyName] > progression.limit && progression.percentage > 0) {
2210
- args[propertyName] = progression.limit;
2211
- } else if (args[propertyName] < progression.limit && progression.percentage < 0) {
2212
- args[propertyName] = progression.limit;
2213
- }
2214
- }
2385
+ args[propertyName] = getExponentialProgression(args[propertyName], progression);
2386
+ }
2387
+ } 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") {
2388
+ if (progression.type === "linear") {
2389
+ args[propertyName].x = getLinearProgression(args[propertyName].x, progression);
2390
+ args[propertyName].y = getLinearProgression(args[propertyName].y, progression);
2391
+ } else if (progression.type === "exponential") {
2392
+ args[propertyName].x = getExponentialProgression(args[propertyName].x, progression);
2393
+ args[propertyName].y = getExponentialProgression(args[propertyName].y, progression);
2215
2394
  }
2216
2395
  }
2217
2396
  }
2397
+ function getLinearProgression(number, progression) {
2398
+ if (progression.limit !== void 0) {
2399
+ if (number > progression.limit && progression.amt > 0) {
2400
+ return progression.limit;
2401
+ } else if (number < progression.limit && progression.amt < 0) {
2402
+ return progression.limit;
2403
+ }
2404
+ }
2405
+ return number + progression.amt / 60;
2406
+ }
2407
+ function getExponentialProgression(number, progression) {
2408
+ if (progression.limit !== void 0) {
2409
+ if (number > progression.limit && progression.percentage > 0) {
2410
+ return progression.limit;
2411
+ } else if (number < progression.limit && progression.percentage < 0) {
2412
+ return progression.limit;
2413
+ }
2414
+ }
2415
+ return number + number * progression.percentage;
2416
+ }
2218
2417
 
2219
- // src/classes/ticker/TickerMove.ts
2220
- var TickerMove = class extends TickerBase {
2221
- /**
2222
- * The method that will be called every frame to move the canvas element of the canvas.
2223
- * @param t The ticker that is calling this method
2224
- * @param args The arguments that are passed to the ticker
2225
- * @param tags The tags of the canvas element that are connected to this ticker
2226
- */
2227
- fn(t, args, tags) {
2228
- let speed = args.speed === void 0 ? 0.1 : args.speed;
2418
+ // src/classes/ticker/MoveTicker.ts
2419
+ var MoveTicker = class extends TickerBase {
2420
+ fn(ticker, args, tags, tickerId) {
2421
+ let xSpeed = 1;
2422
+ let ySpeed = 1;
2423
+ if (args.speed) {
2424
+ if (typeof args.speed === "number") {
2425
+ xSpeed = args.speed;
2426
+ ySpeed = args.speed;
2427
+ } else {
2428
+ xSpeed = args.speed.x;
2429
+ ySpeed = args.speed.y;
2430
+ }
2431
+ }
2432
+ xSpeed /= 60;
2433
+ ySpeed /= 60;
2229
2434
  let destination = args.destination;
2435
+ let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
2436
+ if (typeof tagToRemoveAfter2 === "string") {
2437
+ tagToRemoveAfter2 = [tagToRemoveAfter2];
2438
+ }
2230
2439
  tags.filter((tag) => {
2231
2440
  var _a;
2232
2441
  let element = GameWindowManager.getCanvasElement(tag);
@@ -2239,41 +2448,42 @@ var TickerMove = class extends TickerBase {
2239
2448
  }).forEach((tag) => {
2240
2449
  let element = GameWindowManager.getCanvasElement(tag);
2241
2450
  if (element && element instanceof Container) {
2242
- let xDistance = destination.x - element.x;
2451
+ let xDistance = destination.x - element.x > 0 ? 1 : -1;
2243
2452
  if (xDistance != 0) {
2244
- element.x += xDistance / speed * t.deltaTime;
2453
+ element.x += xDistance * xSpeed * ticker.deltaTime;
2245
2454
  let newDistance = destination.x - element.x;
2246
2455
  if (xDistance < 0 && newDistance > 0 || xDistance > 0 && newDistance < 0) {
2247
2456
  element.x = destination.x;
2248
2457
  }
2249
2458
  }
2250
- let yDistance = destination.y - element.y;
2459
+ let yDistance = destination.y - element.y > 0 ? 1 : -1;
2251
2460
  if (yDistance != 0) {
2252
- element.y += yDistance / speed * t.deltaTime;
2461
+ element.y += yDistance * ySpeed * ticker.deltaTime;
2253
2462
  let newDistance = destination.y - element.y;
2254
2463
  if (yDistance < 0 && newDistance > 0 || yDistance > 0 && newDistance < 0) {
2255
2464
  element.y = destination.y;
2256
2465
  }
2257
2466
  }
2467
+ if (element.x == destination.x && element.y == destination.y) {
2468
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
2469
+ }
2258
2470
  }
2259
2471
  });
2260
2472
  if (args.speedProgression)
2261
2473
  updateTickerProgression(args, "speed", args.speedProgression);
2262
2474
  }
2263
2475
  };
2264
- TickerMove = __decorateClass([
2476
+ MoveTicker = __decorateClass([
2265
2477
  tickerDecorator()
2266
- ], TickerMove);
2267
- var TickerRotate = class extends TickerBase {
2268
- /**
2269
- * The method that will be called every frame to rotate the canvas element of the canvas.
2270
- * @param delta The delta time
2271
- * @param args The arguments that are passed to the ticker
2272
- * @param tags The tags of the canvas element that are connected to this ticker
2273
- */
2274
- fn(t, args, tags) {
2275
- let speed = args.speed === void 0 ? 0.1 : args.speed;
2478
+ ], MoveTicker);
2479
+ var RotateTicker = class extends TickerBase {
2480
+ fn(ticker, args, tags, tickerId) {
2481
+ let speed = (args.speed === void 0 ? 1 : args.speed) / 60;
2276
2482
  let clockwise = args.clockwise === void 0 ? true : args.clockwise;
2483
+ let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
2484
+ if (typeof tagToRemoveAfter2 === "string") {
2485
+ tagToRemoveAfter2 = [tagToRemoveAfter2];
2486
+ }
2277
2487
  tags.filter((tag) => {
2278
2488
  var _a;
2279
2489
  let element = GameWindowManager.getCanvasElement(tag);
@@ -2287,18 +2497,108 @@ var TickerRotate = class extends TickerBase {
2287
2497
  let element = GameWindowManager.getCanvasElement(tag);
2288
2498
  if (element && element instanceof Container) {
2289
2499
  if (clockwise)
2290
- element.rotation += speed * t.deltaTime;
2500
+ element.rotation += speed * ticker.deltaTime;
2291
2501
  else
2292
- element.rotation -= speed * t.deltaTime;
2502
+ element.rotation -= speed * ticker.deltaTime;
2503
+ if (speed < 1e-5 && !(args.speedProgression && args.speedProgression.type == "linear" && args.speedProgression.amt != 0)) {
2504
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
2505
+ }
2506
+ }
2507
+ });
2508
+ if (args.speedProgression)
2509
+ updateTickerProgression(args, "speed", args.speedProgression);
2510
+ }
2511
+ };
2512
+ RotateTicker = __decorateClass([
2513
+ tickerDecorator()
2514
+ ], RotateTicker);
2515
+ var ZoomTicker = class extends TickerBase {
2516
+ fn(ticker, args, tags, tickerId) {
2517
+ let xSpeed = 0.1;
2518
+ let ySpeed = 0.1;
2519
+ if (args.speed) {
2520
+ if (typeof args.speed === "number") {
2521
+ xSpeed = args.speed;
2522
+ ySpeed = args.speed;
2523
+ } else {
2524
+ xSpeed = args.speed.x;
2525
+ ySpeed = args.speed.y;
2526
+ }
2527
+ }
2528
+ xSpeed /= 60;
2529
+ ySpeed /= 60;
2530
+ let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
2531
+ if (typeof tagToRemoveAfter2 === "string") {
2532
+ tagToRemoveAfter2 = [tagToRemoveAfter2];
2533
+ }
2534
+ let type = args.type || "zoom";
2535
+ let xLimit = Infinity;
2536
+ let yLimit = Infinity;
2537
+ if (args.limit) {
2538
+ if (typeof args.limit === "number") {
2539
+ xLimit = args.limit;
2540
+ yLimit = args.limit;
2541
+ } else {
2542
+ xLimit = args.limit.x;
2543
+ yLimit = args.limit.y;
2544
+ }
2545
+ }
2546
+ tags.filter((tag) => {
2547
+ var _a;
2548
+ let element = GameWindowManager.getCanvasElement(tag);
2549
+ if (args.startOnlyIfHaveTexture) {
2550
+ if (element && element instanceof Sprite && ((_a = element.texture) == null ? void 0 : _a.label) == "EMPTY") {
2551
+ return false;
2552
+ }
2553
+ }
2554
+ return true;
2555
+ }).forEach((tag) => {
2556
+ let element = GameWindowManager.getCanvasElement(tag);
2557
+ if (element && element instanceof Container) {
2558
+ if (type === "zoom" && (element.scale.x < xLimit || element.scale.y < yLimit)) {
2559
+ element.scale.x += xSpeed * ticker.deltaTime;
2560
+ element.scale.y += ySpeed * ticker.deltaTime;
2561
+ } else if (type === "unzoom" && (element.scale.x > xLimit || element.scale.y > yLimit)) {
2562
+ element.scale.x -= xSpeed * ticker.deltaTime;
2563
+ element.scale.y -= ySpeed * ticker.deltaTime;
2564
+ }
2565
+ if (type === "zoom") {
2566
+ if (element.scale.x > xLimit) {
2567
+ element.scale.x = xLimit;
2568
+ }
2569
+ if (element.scale.y > yLimit) {
2570
+ element.scale.y = yLimit;
2571
+ }
2572
+ if (element.scale.x >= xLimit && element.scale.y >= yLimit) {
2573
+ element.scale.x = xLimit;
2574
+ element.scale.y = yLimit;
2575
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
2576
+ }
2577
+ } else if (type === "unzoom") {
2578
+ if (element.scale.x < xLimit) {
2579
+ element.scale.x = xLimit;
2580
+ }
2581
+ if (element.scale.y < yLimit) {
2582
+ element.scale.y = yLimit;
2583
+ }
2584
+ if (element.scale.x <= xLimit && element.scale.y <= yLimit) {
2585
+ element.scale.x = xLimit;
2586
+ element.scale.y = yLimit;
2587
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
2588
+ }
2589
+ }
2590
+ if (xSpeed < 1e-5 && ySpeed < 1e-5 && !(args.speedProgression && args.speedProgression.type == "linear" && args.speedProgression.amt != 0)) {
2591
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
2592
+ }
2293
2593
  }
2294
2594
  });
2295
2595
  if (args.speedProgression)
2296
2596
  updateTickerProgression(args, "speed", args.speedProgression);
2297
2597
  }
2298
2598
  };
2299
- TickerRotate = __decorateClass([
2599
+ ZoomTicker = __decorateClass([
2300
2600
  tickerDecorator()
2301
- ], TickerRotate);
2601
+ ], ZoomTicker);
2302
2602
 
2303
2603
  // src/functions/ImageUtility.ts
2304
2604
  function addImage(tag, imageUrl) {
@@ -2307,7 +2607,7 @@ function addImage(tag, imageUrl) {
2307
2607
  GameWindowManager.addCanvasElement(tag, image);
2308
2608
  return image;
2309
2609
  }
2310
- function loadImages(canvasImages) {
2610
+ function loadImage(canvasImages) {
2311
2611
  return __async(this, null, function* () {
2312
2612
  if (!Array.isArray(canvasImages)) {
2313
2613
  return [canvasImages];
@@ -2328,39 +2628,92 @@ function loadImages(canvasImages) {
2328
2628
  });
2329
2629
  });
2330
2630
  }
2631
+ function showImage(tag, imageUrl) {
2632
+ return __async(this, null, function* () {
2633
+ let image = addImage(tag, imageUrl);
2634
+ yield image.load();
2635
+ return image;
2636
+ });
2637
+ }
2331
2638
  function removeCanvasElement(tag) {
2332
2639
  GameWindowManager.removeCanvasElement(tag);
2333
2640
  }
2334
- function showWithDissolveTransition(tag, image, speed, priority) {
2335
- return __async(this, null, function* () {
2336
- let specialTag = void 0;
2641
+ function showWithDissolveTransition(_0, _1) {
2642
+ return __async(this, arguments, function* (tag, image, props = {}, priority) {
2643
+ var _a;
2644
+ let oldCanvasTag = void 0;
2337
2645
  if (GameWindowManager.getCanvasElement(tag)) {
2338
- specialTag = tag + "_temp_disolve";
2339
- GameWindowManager.editTagCanvasElement(tag, specialTag);
2646
+ oldCanvasTag = tag + "_temp_disolve";
2647
+ GameWindowManager.editCanvasElementTag(tag, oldCanvasTag);
2340
2648
  }
2341
2649
  let canvasElement;
2342
2650
  if (typeof image === "string") {
2343
2651
  canvasElement = addImage(tag, image);
2344
2652
  } else {
2345
2653
  canvasElement = image;
2654
+ GameWindowManager.addCanvasElement(tag, canvasElement);
2655
+ }
2656
+ if (canvasElement instanceof CanvasImage && ((_a = canvasElement.texture) == null ? void 0 : _a.label) == "EMPTY") {
2657
+ yield canvasElement.load();
2346
2658
  }
2347
2659
  canvasElement.alpha = 0;
2348
- let effect = new TickerFadeAlpha({
2349
- speed,
2660
+ let effect = new FadeAlphaTicker(__spreadProps(__spreadValues({}, props), {
2350
2661
  type: "show",
2351
- tagToRemoveAfter: specialTag,
2662
+ tagToRemoveAfter: oldCanvasTag,
2352
2663
  startOnlyIfHaveTexture: true
2353
- }, 1e4, priority);
2664
+ }), 10, priority);
2354
2665
  GameWindowManager.addTicker(tag, effect);
2355
- if (canvasElement instanceof CanvasImage) {
2356
- return canvasElement.load();
2357
- }
2358
2666
  return;
2359
2667
  });
2360
2668
  }
2361
-
2362
- // src/constants.ts
2363
- var PIXIVN_VERSION = "0.6.0";
2669
+ function removeWithDissolveTransition(tag, props = {}, priority) {
2670
+ if (typeof tag === "string") {
2671
+ tag = [tag];
2672
+ }
2673
+ let effect = new FadeAlphaTicker(__spreadProps(__spreadValues({}, props), {
2674
+ type: "hide",
2675
+ tagToRemoveAfter: tag,
2676
+ startOnlyIfHaveTexture: true
2677
+ }), 10, priority);
2678
+ GameWindowManager.addTicker(tag, effect);
2679
+ }
2680
+ function showWithFadeTransition(_0, _1) {
2681
+ return __async(this, arguments, function* (tag, image, props = {}, priority) {
2682
+ var _a;
2683
+ if (!GameWindowManager.getCanvasElement(tag)) {
2684
+ return showWithDissolveTransition(tag, image, props, priority);
2685
+ }
2686
+ let oldCanvasTag = tag + "_temp_fade";
2687
+ GameWindowManager.editCanvasElementTag(tag, oldCanvasTag);
2688
+ let canvasElement;
2689
+ if (typeof image === "string") {
2690
+ canvasElement = addImage(tag, image);
2691
+ } else {
2692
+ canvasElement = image;
2693
+ GameWindowManager.addCanvasElement(tag, canvasElement);
2694
+ }
2695
+ if (canvasElement instanceof CanvasImage && ((_a = canvasElement.texture) == null ? void 0 : _a.label) == "EMPTY") {
2696
+ yield canvasElement.load();
2697
+ }
2698
+ canvasElement.alpha = 0;
2699
+ GameWindowManager.addTickersSteps(oldCanvasTag, [
2700
+ new FadeAlphaTicker(__spreadProps(__spreadValues({}, props), {
2701
+ type: "hide",
2702
+ startOnlyIfHaveTexture: true
2703
+ }))
2704
+ ]);
2705
+ GameWindowManager.addTickersSteps(tag, [
2706
+ Pause(props.duration || 1),
2707
+ new FadeAlphaTicker(__spreadProps(__spreadValues({}, props), {
2708
+ type: "show",
2709
+ startOnlyIfHaveTexture: true
2710
+ }))
2711
+ ]);
2712
+ });
2713
+ }
2714
+ function removeWithFadeTransition(tag, props = {}, priority) {
2715
+ return removeWithDissolveTransition(tag, props, priority);
2716
+ }
2364
2717
 
2365
2718
  // src/functions/SavesUtility.ts
2366
2719
  function getSaveData() {
@@ -2389,6 +2742,6 @@ function jsonToSaveData(json) {
2389
2742
  return JSON.parse(json);
2390
2743
  }
2391
2744
 
2392
- export { addImage, clearAllGameDatas, clearChoiceMenuOptions, clearDialogue, getChoiceMenuOptions, getDialogue, getDialogueHistory, getFlag, getSaveData, getSaveJson, getTexture, loadImages, loadSaveData, loadSaveJson, removeCanvasElement, setChoiceMenuOptions, setDialogue, setFlag, showWithDissolveTransition };
2745
+ export { addImage, clearAllGameDatas, clearChoiceMenuOptions, clearDialogue, getChoiceMenuOptions, getDialogue, getDialogueHistory, getFlag, getSaveData, getSaveJson, getTexture, loadImage, loadSaveData, loadSaveJson, removeCanvasElement, removeWithDissolveTransition, removeWithFadeTransition, setChoiceMenuOptions, setDialogue, setFlag, showImage, showWithDissolveTransition, showWithFadeTransition };
2393
2746
  //# sourceMappingURL=out.js.map
2394
2747
  //# sourceMappingURL=index.mjs.map