@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) => {
@@ -290,8 +289,8 @@ var GameStorageManager = _GameStorageManager;
290
289
  var TickerBase = class {
291
290
  /**
292
291
  * @param args The arguments that you want to pass to the ticker.
293
- * @param duration The duration of the ticker. If is undefined, the ticker will be called every frame.
294
- * @param priority The priority of the ticker. If is undefined, the priority will be UPDATE_PRIORITY.NORMAL.
292
+ * @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
293
+ * @param priority The priority of the ticker. @default UPDATE_PRIORITY.NORMAL
295
294
  */
296
295
  constructor(args, duration, priority) {
297
296
  this.args = args;
@@ -301,15 +300,26 @@ var TickerBase = class {
301
300
  /**
302
301
  * The method that will be called every frame.
303
302
  * This method should be overridden and you can use GameWindowManager.addCanvasElement() to get the canvas element of the canvas, and edit them.
304
- * @param t The ticker that is calling this method
305
- * @param args The arguments that you passed when you added the ticker
306
- * @param tags The tags of the canvas elements that are connected to this ticker
303
+ * @param _ticker The ticker that is calling this method
304
+ * @param _args The arguments that you passed when you added the ticker
305
+ * @param _tags The tags of the canvas elements that are connected to this ticker
306
+ * @param _tickerId The id of the ticker. You can use this to get the ticker from the {@link GameWindowManager.currentTickers}
307
307
  */
308
- fn(_t, _args, _tags) {
308
+ fn(_ticker, _args, _tags, _tickerId) {
309
309
  throw new Error("[Pixi'VN] The method TickerBase.fn() must be overridden");
310
310
  }
311
311
  };
312
312
 
313
+ // src/constants.ts
314
+ var PIXIVN_VERSION = "0.6.1";
315
+ var Repeat = "repeat";
316
+ function Pause(duration) {
317
+ return {
318
+ type: "pause",
319
+ duration
320
+ };
321
+ }
322
+
313
323
  // src/decorators/TickerDecorator.ts
314
324
  var registeredTickers = {};
315
325
  function tickerDecorator(name) {
@@ -318,7 +328,7 @@ function tickerDecorator(name) {
318
328
  name = target.name;
319
329
  }
320
330
  if (registeredTickers[name]) {
321
- console.warn(`[Pixi'VN] Ticker ${name} already exists, it will be overwritten`);
331
+ console.info(`[Pixi'VN] Ticker ${name} already exists, it will be overwritten`);
322
332
  }
323
333
  registeredTickers[name] = target;
324
334
  };
@@ -809,11 +819,8 @@ function asciiArtLog() {
809
819
  `);
810
820
  }
811
821
 
812
- // src/types/PauseType.ts
813
- var PauseValueType = "pause";
814
-
815
- // src/types/RepeatType.ts
816
- var Repeat = "repeat";
822
+ // src/types/ticker/TagToRemoveAfterType.ts
823
+ var tagToRemoveAfter = "tagToRemoveAfter";
817
824
 
818
825
  // src/managers/WindowManager.ts
819
826
  var _GameWindowManager = class _GameWindowManager {
@@ -997,25 +1004,25 @@ var _GameWindowManager = class _GameWindowManager {
997
1004
  /**
998
1005
  * Remove a canvas element from the canvas.
999
1006
  * And remove all tickers that are not connected to any canvas element.
1000
- * @param tag The tag of the canvas element to be removed.
1007
+ * @param tags The tag of the canvas element to be removed.
1001
1008
  * @returns
1002
1009
  * @example
1003
1010
  * ```typescript
1004
1011
  * GameWindowManager.removeCanvasElement("bunny");
1005
1012
  * ```
1006
1013
  */
1007
- static removeCanvasElement(tag) {
1008
- if (typeof tag === "string") {
1009
- tag = [tag];
1014
+ static removeCanvasElement(tags) {
1015
+ if (typeof tags === "string") {
1016
+ tags = [tags];
1010
1017
  }
1011
- tag.forEach((t) => {
1012
- if (_GameWindowManager._children[t]) {
1013
- _GameWindowManager.app.stage.removeChild(_GameWindowManager._children[t]);
1014
- delete _GameWindowManager._children[t];
1018
+ tags.forEach((tag) => {
1019
+ if (_GameWindowManager._children[tag]) {
1020
+ _GameWindowManager.app.stage.removeChild(_GameWindowManager._children[tag]);
1021
+ delete _GameWindowManager._children[tag];
1022
+ _GameWindowManager.removeTickerByCanvasElement(tag);
1015
1023
  }
1016
1024
  });
1017
- _GameWindowManager.removeTickersWithoutAssociatedCanvasElement();
1018
- _GameWindowManager.childrenTagsOrder = _GameWindowManager.childrenTagsOrder.filter((t) => !tag.includes(t));
1025
+ _GameWindowManager.childrenTagsOrder = _GameWindowManager.childrenTagsOrder.filter((t) => !tags.includes(t));
1019
1026
  }
1020
1027
  /**
1021
1028
  * Get a canvas element by the tag.
@@ -1045,18 +1052,43 @@ var _GameWindowManager = class _GameWindowManager {
1045
1052
  _GameWindowManager.app.stage.removeChildren();
1046
1053
  _GameWindowManager._children = {};
1047
1054
  _GameWindowManager.childrenTagsOrder = [];
1048
- _GameWindowManager.removeTickers();
1055
+ _GameWindowManager.removeAllTickers();
1049
1056
  }
1050
1057
  /**
1051
1058
  * Edit the tag of a canvas element.
1052
1059
  * @param oldTag The old tag of the canvas element.
1053
1060
  * @param newTag The new tag of the canvas element.
1054
1061
  */
1055
- static editTagCanvasElement(oldTag, newTag) {
1062
+ static editCanvasElementTag(oldTag, newTag) {
1056
1063
  if (_GameWindowManager._children[oldTag]) {
1057
1064
  _GameWindowManager._children[newTag] = _GameWindowManager._children[oldTag];
1058
1065
  delete _GameWindowManager._children[oldTag];
1059
1066
  }
1067
+ if (_GameWindowManager._currentTickersSteps[oldTag]) {
1068
+ _GameWindowManager._currentTickersSteps[newTag] = _GameWindowManager._currentTickersSteps[oldTag];
1069
+ delete _GameWindowManager._currentTickersSteps[oldTag];
1070
+ }
1071
+ for (let id in _GameWindowManager._currentTickers) {
1072
+ let ticker = _GameWindowManager._currentTickers[id];
1073
+ if (ticker.canvasElementTags.includes(oldTag)) {
1074
+ ticker.canvasElementTags = ticker.canvasElementTags.map((t) => t === oldTag ? newTag : t);
1075
+ if (ticker.args.hasOwnProperty(tagToRemoveAfter)) {
1076
+ let tagToRemoveAfter2 = ticker.args.tagToRemoveAfter;
1077
+ if (typeof tagToRemoveAfter2 === "string") {
1078
+ tagToRemoveAfter2 = [tagToRemoveAfter2];
1079
+ }
1080
+ if (Array.isArray(tagToRemoveAfter2)) {
1081
+ ticker.args.tagToRemoveAfter = tagToRemoveAfter2.map((t) => t === oldTag ? newTag : t);
1082
+ }
1083
+ }
1084
+ }
1085
+ }
1086
+ for (let timeout in _GameWindowManager._currentTickersTimeouts) {
1087
+ let TickerTimeout = _GameWindowManager._currentTickersTimeouts[timeout];
1088
+ if (TickerTimeout.tags.includes(oldTag)) {
1089
+ TickerTimeout.tags = TickerTimeout.tags.map((t) => t === oldTag ? newTag : t);
1090
+ }
1091
+ }
1060
1092
  }
1061
1093
  /** Edit Tickers Methods */
1062
1094
  /**
@@ -1065,23 +1097,38 @@ var _GameWindowManager = class _GameWindowManager {
1065
1097
  static get currentTickers() {
1066
1098
  return _GameWindowManager._currentTickers;
1067
1099
  }
1100
+ static get currentTickersList() {
1101
+ return Object.values(_GameWindowManager._currentTickers);
1102
+ }
1103
+ static get currentTickersWithoutCreatedBySteps() {
1104
+ return Object.fromEntries(Object.entries(_GameWindowManager._currentTickers).filter(([_, ticker]) => !ticker.createdByTicketStepsId));
1105
+ }
1068
1106
  /**
1069
1107
  * The steps of the tickers
1070
1108
  */
1071
1109
  static get currentTickersSteps() {
1072
1110
  return _GameWindowManager._currentTickersSteps;
1073
1111
  }
1112
+ static generateTickerId(tickerData) {
1113
+ try {
1114
+ return sha1__default.default(JSON.stringify(tickerData)).toString() + "_" + Math.random().toString(36).substring(7);
1115
+ } catch (e) {
1116
+ throw new Error(`[Pixi'VN] Error to generate ticker id: ${e}`);
1117
+ }
1118
+ }
1074
1119
  /**
1075
- * Run a ticker.
1120
+ * Run a ticker. You can run multiple addTicker with the same tag and different tickerClasses.
1121
+ * If you run a ticker with the same tag and tickerClass, the old ticker will be removed.
1122
+ * If already exists a sequence of tickers with the same tag, it will be removed.
1076
1123
  * @param canvasEslementTag The tag of the canvas element that will use the ticker.
1077
1124
  * @param ticker The ticker class to be run.
1078
1125
  * @param args The arguments to be used in the ticker.
1079
- * @param duration The time to be used in the ticker. This number is in milliseconds. If it is undefined, the ticker will run forever.
1126
+ * @param duration The time to be used in the ticker. This number is in seconds. If it is undefined, the ticker will run forever.
1080
1127
  * @param priority The priority to be used in the ticker.
1081
1128
  * @returns
1082
1129
  * @example
1083
1130
  * ```typescript
1084
- * GameWindowManager.addTicker("alien", new TickerRotate({ speed: 0.2 }))
1131
+ * GameWindowManager.addTicker("alien", new RotateTicker({ speed: 0.2 }))
1085
1132
  * ```
1086
1133
  */
1087
1134
  static addTicker(canvasElementTag, ticker) {
@@ -1089,82 +1136,88 @@ var _GameWindowManager = class _GameWindowManager {
1089
1136
  if (typeof canvasElementTag === "string") {
1090
1137
  canvasElementTag = [canvasElementTag];
1091
1138
  }
1092
- let t = geTickerInstanceByClassName(tickerName, ticker.args, ticker.duration, ticker.priority);
1093
- if (!t) {
1139
+ if (!geTickerInstanceByClassName(tickerName, ticker.args, ticker.duration, ticker.priority)) {
1094
1140
  console.error(`[Pixi'VN] Ticker ${tickerName} not found`);
1095
1141
  return;
1096
1142
  }
1097
- _GameWindowManager.removeAssociationBetweenTickerCanvasElement(canvasElementTag, ticker);
1098
1143
  let tickerHistory = {
1099
1144
  fn: () => {
1100
1145
  },
1101
1146
  className: tickerName,
1102
- args: ticker.args,
1147
+ args: createExportableElement(ticker.args),
1103
1148
  canvasElementTags: canvasElementTag,
1104
1149
  priority: ticker.priority,
1105
1150
  duration: ticker.duration
1106
1151
  };
1107
- _GameWindowManager.pushTicker(tickerHistory, t);
1108
- _GameWindowManager.removeTickersWithoutAssociatedCanvasElement();
1152
+ let id = _GameWindowManager.generateTickerId(tickerHistory);
1153
+ _GameWindowManager.pushTicker(id, tickerHistory, ticker);
1109
1154
  if (ticker.duration) {
1110
1155
  let timeout = setTimeout(() => {
1111
1156
  _GameWindowManager.removeTickerTimeoutInfo(timeout);
1112
- _GameWindowManager.nextTickerStep(canvasElementTag);
1113
- }, ticker.duration);
1114
- _GameWindowManager.addTickerTimeoutInfo(canvasElementTag, tickerName, timeout.toString());
1157
+ let tickerTimeoutInfo = _GameWindowManager._currentTickersTimeouts[timeout.toString()];
1158
+ if (tickerTimeoutInfo) {
1159
+ _GameWindowManager.removeTicker(id);
1160
+ }
1161
+ }, ticker.duration * 1e3);
1162
+ _GameWindowManager.addTickerTimeoutInfo(canvasElementTag, tickerName, timeout.toString(), true);
1115
1163
  }
1116
1164
  }
1117
- static pushTicker(tickerData, ticker) {
1165
+ static pushTicker(id, tickerData, ticker) {
1118
1166
  _GameWindowManager.removeAssociationBetweenTickerCanvasElement(tickerData.canvasElementTags, tickerData);
1119
- _GameWindowManager._currentTickers.push(tickerData);
1167
+ _GameWindowManager._currentTickers[id] = tickerData;
1120
1168
  tickerData.fn = (t) => {
1121
- ticker == null ? void 0 : ticker.fn(t, tickerData.args, tickerData.canvasElementTags);
1169
+ let data = _GameWindowManager._currentTickers[id];
1170
+ if (data) {
1171
+ ticker == null ? void 0 : ticker.fn(t, data.args, data.canvasElementTags, id);
1172
+ }
1122
1173
  };
1123
1174
  _GameWindowManager.app.ticker.add(tickerData.fn, void 0, tickerData.priority);
1124
1175
  }
1125
1176
  /**
1126
- * Run a sequence of tickers.
1177
+ * Run a sequence of tickers. If exists a ticker steps with the same tag, it will be removed.
1127
1178
  * @param tag The tag of canvas element that will use the tickers.
1128
1179
  * @param steps The steps of the tickers.
1180
+ * @param currentStepNumber The current step number. It is used to continue the sequence of tickers.
1129
1181
  * @returns
1130
1182
  * @example
1131
1183
  * ```typescript
1132
1184
  * GameWindowManager.addTickersSteps("alien", [
1133
- * new TickerRotate({ speed: 0.1, clockwise: true }, 2000),
1134
- * Pause(500),
1135
- * new TickerRotate({ speed: 0.2, clockwise: false }, 2000),
1185
+ * new RotateTicker({ speed: 0.1, clockwise: true }, 2), // 2 seconds
1186
+ * Pause(1), // 1 second
1187
+ * new RotateTicker({ speed: 0.2, clockwise: false }, 2),
1136
1188
  * Repeat,
1137
1189
  * ])
1138
1190
  * ```
1139
1191
  */
1140
- static addTickersSteps(tag, steps) {
1192
+ static addTickersSteps(tag, steps, currentStepNumber = 0) {
1141
1193
  if (steps.length == 0) {
1142
1194
  console.warn("[Pixi'VN] The steps of the tickers is empty");
1143
1195
  return;
1144
1196
  }
1145
- let alredyExists = _GameWindowManager._currentTickersSteps[tag] !== void 0;
1197
+ _GameWindowManager.removeTickerStepByCanvasElement(tag);
1146
1198
  _GameWindowManager._currentTickersSteps[tag] = {
1147
- currentStepNumber: 0,
1148
- steps: steps.map((s) => {
1149
- if (s === Repeat) {
1150
- return s;
1199
+ currentStepNumber,
1200
+ steps: steps.map((step) => {
1201
+ if (step === Repeat) {
1202
+ return step;
1151
1203
  }
1152
- if (!s.duration) {
1153
- console.warn("[Pixi'VN] Duration is not defined, so it will be set to 1000");
1154
- s.duration = 1e3;
1204
+ if (step.hasOwnProperty("type") && step.type === "pause") {
1205
+ return step;
1155
1206
  }
1156
- if (s.hasOwnProperty("type") && s.type === PauseValueType) {
1157
- return s;
1158
- }
1159
- let tickerName = s.constructor.name;
1207
+ let tickerName = step.constructor.name;
1160
1208
  return {
1161
1209
  ticker: tickerName,
1162
- args: s.args,
1163
- duration: s.duration
1210
+ args: createExportableElement(step.args),
1211
+ duration: step.duration
1164
1212
  };
1165
1213
  })
1166
1214
  };
1167
- if (!alredyExists) {
1215
+ _GameWindowManager.runTickersSteps(tag);
1216
+ }
1217
+ static restoneTickersSteps(data) {
1218
+ for (let tag in data) {
1219
+ let steps = data[tag];
1220
+ _GameWindowManager._currentTickersSteps[tag] = steps;
1168
1221
  _GameWindowManager.runTickersSteps(tag);
1169
1222
  }
1170
1223
  }
@@ -1178,12 +1231,17 @@ var _GameWindowManager = class _GameWindowManager {
1178
1231
  return;
1179
1232
  }
1180
1233
  }
1181
- if (step.hasOwnProperty("type") && step.type === PauseValueType) {
1234
+ if (step.hasOwnProperty("type") && step.type === "pause") {
1182
1235
  let timeout = setTimeout(() => {
1236
+ let tickerTimeoutInfo = _GameWindowManager._currentTickersTimeouts[timeout.toString()];
1237
+ if (tickerTimeoutInfo) {
1238
+ tickerTimeoutInfo.tags.forEach((tag2) => {
1239
+ _GameWindowManager.nextTickerStep(tag2);
1240
+ });
1241
+ }
1183
1242
  _GameWindowManager.removeTickerTimeoutInfo(timeout);
1184
- _GameWindowManager.nextTickerStep(tag);
1185
- }, step.duration);
1186
- _GameWindowManager.addTickerTimeoutInfo(tag, "steps", timeout.toString());
1243
+ }, step.duration * 1e3);
1244
+ _GameWindowManager.addTickerTimeoutInfo(tag, "steps", timeout.toString(), false);
1187
1245
  return;
1188
1246
  }
1189
1247
  let ticker = geTickerInstanceByClassName(step.ticker, step.args, step.duration, step.priority);
@@ -1191,57 +1249,88 @@ var _GameWindowManager = class _GameWindowManager {
1191
1249
  console.error(`[Pixi'VN] Ticker ${step.ticker} not found`);
1192
1250
  return;
1193
1251
  }
1194
- _GameWindowManager.addTicker(tag, ticker);
1252
+ let tickerName = ticker.constructor.name;
1253
+ let tickerHistory = {
1254
+ fn: () => {
1255
+ },
1256
+ className: tickerName,
1257
+ args: createExportableElement(ticker.args),
1258
+ canvasElementTags: [tag],
1259
+ priority: ticker.priority,
1260
+ duration: ticker.duration,
1261
+ createdByTicketStepsId: tag
1262
+ };
1263
+ let id = _GameWindowManager.generateTickerId(tickerHistory);
1264
+ _GameWindowManager.pushTicker(id, tickerHistory, ticker);
1265
+ if (ticker.duration) {
1266
+ let timeout = setTimeout(() => {
1267
+ let tickerTimeoutInfo = _GameWindowManager._currentTickersTimeouts[timeout.toString()];
1268
+ if (tickerTimeoutInfo) {
1269
+ _GameWindowManager.removeTicker(id);
1270
+ tickerTimeoutInfo.tags.forEach((tag2) => {
1271
+ _GameWindowManager.nextTickerStep(tag2);
1272
+ });
1273
+ }
1274
+ _GameWindowManager.removeTickerTimeoutInfo(timeout);
1275
+ }, ticker.duration * 1e3);
1276
+ _GameWindowManager.addTickerTimeoutInfo(tag, tickerName, timeout.toString(), false);
1277
+ }
1195
1278
  }
1196
1279
  static nextTickerStep(tag) {
1197
- if (typeof tag === "string") {
1198
- tag = [tag];
1280
+ if (_GameWindowManager._currentTickersSteps[tag]) {
1281
+ let steps = _GameWindowManager._currentTickersSteps[tag];
1282
+ if (steps.currentStepNumber + 1 < steps.steps.length) {
1283
+ steps.currentStepNumber++;
1284
+ _GameWindowManager._currentTickersSteps[tag] = steps;
1285
+ _GameWindowManager.runTickersSteps(tag);
1286
+ } else {
1287
+ _GameWindowManager.removeTickerStepByCanvasElement(tag);
1288
+ }
1199
1289
  }
1200
- tag.forEach((tag2) => {
1201
- if (_GameWindowManager._currentTickersSteps[tag2]) {
1202
- let steps = _GameWindowManager._currentTickersSteps[tag2];
1203
- if (steps.currentStepNumber + 1 < steps.steps.length) {
1204
- steps.currentStepNumber++;
1205
- _GameWindowManager._currentTickersSteps[tag2] = steps;
1206
- _GameWindowManager.runTickersSteps(tag2);
1207
- } else {
1208
- delete _GameWindowManager._currentTickersSteps[tag2];
1209
- }
1290
+ }
1291
+ static onEndOfTicker(canvasElementTags, ticker, canvasElementTagsToDelete, tickerId) {
1292
+ let tickerData = _GameWindowManager._currentTickers[tickerId];
1293
+ _GameWindowManager.removeAssociationBetweenTickerCanvasElement(canvasElementTags, ticker);
1294
+ _GameWindowManager.removeCanvasElement(canvasElementTagsToDelete);
1295
+ if (tickerData) {
1296
+ _GameWindowManager.removeTicker(tickerId);
1297
+ if (tickerData.duration == void 0 && tickerData.createdByTicketStepsId) {
1298
+ _GameWindowManager.nextTickerStep(tickerData.createdByTicketStepsId);
1210
1299
  }
1211
- });
1300
+ }
1212
1301
  }
1213
1302
  /**
1214
1303
  * Remove a connection between a canvas element and a ticker.
1215
1304
  * And remove the ticker if there is no canvas element connected to it.
1216
- * @param tag The tag of the canvas element that will use the ticker.
1305
+ * @param tags The tag of the canvas element that will use the ticker.
1217
1306
  * @param ticker The ticker class to be removed.
1218
1307
  * @example
1219
1308
  * ```typescript
1220
- * GameWindowManager.removeAssociationBetweenTickerCanvasElement("alien", TickerRotate)
1309
+ * GameWindowManager.removeAssociationBetweenTickerCanvasElement("alien", RotateTicker)
1221
1310
  * ```
1222
1311
  */
1223
- static removeAssociationBetweenTickerCanvasElement(tag, ticker) {
1312
+ static removeAssociationBetweenTickerCanvasElement(tags, ticker) {
1224
1313
  let tickerName;
1225
- if (ticker instanceof TickerBase) {
1314
+ if (typeof ticker === "string") {
1315
+ tickerName = ticker;
1316
+ } else if (ticker instanceof TickerBase) {
1226
1317
  tickerName = ticker.constructor.name;
1227
1318
  } else {
1228
1319
  tickerName = ticker.name;
1229
1320
  }
1230
- if (typeof tag === "string") {
1231
- tag = [tag];
1321
+ if (typeof tags === "string") {
1322
+ tags = [tags];
1232
1323
  }
1233
- _GameWindowManager._currentTickers = _GameWindowManager._currentTickers.map((t) => {
1234
- if (t.className === tickerName) {
1235
- t.canvasElementTags = t.canvasElementTags.filter((e) => !tag.includes(e));
1324
+ for (let id in _GameWindowManager._currentTickers) {
1325
+ let ticker2 = _GameWindowManager._currentTickers[id];
1326
+ if (ticker2.className === tickerName) {
1327
+ _GameWindowManager._currentTickers[id].canvasElementTags = ticker2.canvasElementTags.filter((e) => !tags.includes(e));
1236
1328
  }
1237
- return t;
1238
- });
1239
- for (let timeout in _GameWindowManager.currentTickersTimeouts) {
1240
- let t = _GameWindowManager.currentTickersTimeouts[timeout].tags.filter((e) => !tag.includes(e));
1241
- if (t.length == 0) {
1242
- _GameWindowManager.removeTickerTimeoutInfo(timeout);
1243
- } else {
1244
- _GameWindowManager.currentTickersTimeouts[timeout].tags = t;
1329
+ }
1330
+ for (let timeout in _GameWindowManager._currentTickersTimeouts) {
1331
+ let TickerTimeout = _GameWindowManager._currentTickersTimeouts[timeout];
1332
+ if (TickerTimeout.ticker === tickerName && TickerTimeout.canBeDeletedBeforeEnd) {
1333
+ _GameWindowManager._currentTickersTimeouts[timeout].tags = TickerTimeout.tags.filter((t) => !tags.includes(t));
1245
1334
  }
1246
1335
  }
1247
1336
  _GameWindowManager.removeTickersWithoutAssociatedCanvasElement();
@@ -1250,49 +1339,117 @@ var _GameWindowManager = class _GameWindowManager {
1250
1339
  * Remove all tickers that are not connected to any existing canvas element.
1251
1340
  */
1252
1341
  static removeTickersWithoutAssociatedCanvasElement() {
1253
- let currentTickers = _GameWindowManager._currentTickers.map((t) => {
1254
- t.canvasElementTags = t.canvasElementTags.filter((e) => _GameWindowManager._children[e]);
1255
- return t;
1256
- });
1257
- currentTickers.filter((t) => t.canvasElementTags.length === 0).forEach((t) => {
1258
- _GameWindowManager.app.ticker.remove(t.fn);
1259
- });
1260
- currentTickers = currentTickers.filter((t) => t.canvasElementTags.length > 0);
1261
- _GameWindowManager._currentTickers = currentTickers;
1342
+ for (let id in _GameWindowManager._currentTickers) {
1343
+ let ticker = _GameWindowManager._currentTickers[id];
1344
+ ticker.canvasElementTags = ticker.canvasElementTags.filter((e) => _GameWindowManager._children[e]);
1345
+ if (ticker.canvasElementTags.length === 0) {
1346
+ _GameWindowManager.removeTicker(id);
1347
+ }
1348
+ }
1262
1349
  for (let tag in _GameWindowManager._currentTickersSteps) {
1263
1350
  if (_GameWindowManager._children[tag] === void 0) {
1264
1351
  delete _GameWindowManager._currentTickersSteps[tag];
1265
1352
  }
1266
1353
  }
1354
+ Object.entries(_GameWindowManager._currentTickersTimeouts).forEach(([timeout, { tags }]) => {
1355
+ if (tags.length === 0) {
1356
+ _GameWindowManager.removeTickerTimeout(timeout);
1357
+ }
1358
+ });
1267
1359
  }
1268
- static addTickerTimeoutInfo(tags, ticker, timeout) {
1360
+ static addTickerTimeoutInfo(tags, ticker, timeout, canBeDeletedBeforeEnd) {
1269
1361
  if (typeof tags === "string") {
1270
1362
  tags = [tags];
1271
1363
  }
1272
- _GameWindowManager.currentTickersTimeouts[timeout] = {
1364
+ _GameWindowManager._currentTickersTimeouts[timeout] = {
1273
1365
  tags,
1274
- ticker
1366
+ ticker,
1367
+ canBeDeletedBeforeEnd
1275
1368
  };
1276
1369
  }
1277
1370
  static removeTickerTimeoutInfo(timeout) {
1278
1371
  if (typeof timeout !== "string") {
1279
1372
  timeout = timeout.toString();
1280
1373
  }
1281
- if (_GameWindowManager.currentTickersTimeouts[timeout]) {
1282
- delete _GameWindowManager.currentTickersTimeouts[timeout];
1374
+ if (_GameWindowManager._currentTickersTimeouts[timeout]) {
1375
+ delete _GameWindowManager._currentTickersTimeouts[timeout];
1376
+ }
1377
+ }
1378
+ static removeTickerTimeout(timeout) {
1379
+ if (typeof timeout !== "string") {
1380
+ timeout = timeout.toString();
1381
+ }
1382
+ clearTimeout(Number(timeout));
1383
+ _GameWindowManager.removeTickerTimeoutInfo(timeout);
1384
+ }
1385
+ static removeTickerTimeoutsByTag(tag, checkCanBeDeletedBeforeEnd) {
1386
+ for (let timeout in _GameWindowManager._currentTickersTimeouts) {
1387
+ let tagsWithoutTagToRemove = _GameWindowManager._currentTickersTimeouts[timeout].tags.filter((t) => t !== tag);
1388
+ if (tagsWithoutTagToRemove.length === 0) {
1389
+ let canBeDeletedBeforeEnd = _GameWindowManager._currentTickersTimeouts[timeout].canBeDeletedBeforeEnd;
1390
+ if (!checkCanBeDeletedBeforeEnd || canBeDeletedBeforeEnd) {
1391
+ _GameWindowManager.removeTickerTimeout(timeout);
1392
+ }
1393
+ } else {
1394
+ _GameWindowManager._currentTickersTimeouts[timeout].tags = tagsWithoutTagToRemove;
1395
+ }
1283
1396
  }
1284
1397
  }
1285
1398
  /**
1286
1399
  * Remove all tickers from the canvas.
1287
1400
  */
1288
- static removeTickers() {
1401
+ static removeAllTickers() {
1289
1402
  _GameWindowManager._currentTickersSteps = {};
1290
- _GameWindowManager._currentTickers.forEach((t) => {
1291
- _GameWindowManager.app.ticker.remove(t.fn);
1403
+ Object.keys(_GameWindowManager._currentTickers).forEach((id) => {
1404
+ _GameWindowManager.removeTicker(id);
1405
+ });
1406
+ _GameWindowManager._currentTickers = {};
1407
+ for (let timeout in _GameWindowManager._currentTickersTimeouts) {
1408
+ _GameWindowManager.removeTickerTimeout(timeout);
1409
+ }
1410
+ }
1411
+ /**
1412
+ * Remove all tickers from a canvas element.
1413
+ * @param tag The tag of the canvas element that will use the ticker.
1414
+ */
1415
+ static removeTickerByCanvasElement(tag) {
1416
+ if (typeof tag === "string") {
1417
+ tag = [tag];
1418
+ }
1419
+ tag.forEach((tag2) => {
1420
+ for (let id in _GameWindowManager._currentTickers) {
1421
+ let ticker = _GameWindowManager._currentTickers[id];
1422
+ if (ticker.canvasElementTags.includes(tag2)) {
1423
+ _GameWindowManager.removeTicker(id);
1424
+ }
1425
+ }
1426
+ if (_GameWindowManager._currentTickersSteps[tag2]) {
1427
+ delete _GameWindowManager._currentTickersSteps[tag2];
1428
+ }
1429
+ _GameWindowManager.removeTickerTimeoutsByTag(tag2, false);
1430
+ delete _GameWindowManager._currentTickersSteps[tag2];
1292
1431
  });
1293
- _GameWindowManager._currentTickers = [];
1294
- for (let timeout in _GameWindowManager.currentTickersTimeouts) {
1295
- _GameWindowManager.removeTickerTimeoutInfo(timeout);
1432
+ }
1433
+ static removeTickerStepByCanvasElement(tag) {
1434
+ if (_GameWindowManager._currentTickersSteps[tag]) {
1435
+ delete _GameWindowManager._currentTickersSteps[tag];
1436
+ }
1437
+ for (let id in _GameWindowManager._currentTickers) {
1438
+ let ticker = _GameWindowManager._currentTickers[id];
1439
+ if (ticker.createdByTicketStepsId === tag) {
1440
+ _GameWindowManager.removeTicker(id);
1441
+ }
1442
+ }
1443
+ }
1444
+ static removeTicker(tickerId) {
1445
+ let ticker = _GameWindowManager._currentTickers[tickerId];
1446
+ if (ticker) {
1447
+ if (ticker.args.hasOwnProperty(tagToRemoveAfter)) {
1448
+ let tagToRemoveAfter2 = ticker.args.tagToRemoveAfter;
1449
+ _GameWindowManager.removeCanvasElement(tagToRemoveAfter2);
1450
+ }
1451
+ _GameWindowManager.app.ticker.remove(ticker.fn);
1452
+ delete _GameWindowManager._currentTickers[tickerId];
1296
1453
  }
1297
1454
  }
1298
1455
  /**
@@ -1319,7 +1476,8 @@ var _GameWindowManager = class _GameWindowManager {
1319
1476
  currentElements[tag] = exportCanvasElement(_GameWindowManager._children[tag]);
1320
1477
  }
1321
1478
  return {
1322
- currentTickers: createExportableElement(_GameWindowManager._currentTickers),
1479
+ currentTickers: createExportableElement(_GameWindowManager.currentTickersWithoutCreatedBySteps),
1480
+ currentTickersSteps: createExportableElement(_GameWindowManager._currentTickersSteps),
1323
1481
  currentElements: createExportableElement(currentElements),
1324
1482
  childrenTagsOrder: createExportableElement(_GameWindowManager.childrenTagsOrder)
1325
1483
  };
@@ -1354,7 +1512,8 @@ var _GameWindowManager = class _GameWindowManager {
1354
1512
  }
1355
1513
  if (data.hasOwnProperty("currentTickers")) {
1356
1514
  let currentTickers = data["currentTickers"];
1357
- currentTickers.forEach((t) => {
1515
+ for (let id in currentTickers) {
1516
+ let t = currentTickers[id];
1358
1517
  let tags = t.canvasElementTags;
1359
1518
  let ticker = geTickerInstanceByClassName(t.className, t.args, t.duration, t.priority);
1360
1519
  if (ticker) {
@@ -1362,7 +1521,11 @@ var _GameWindowManager = class _GameWindowManager {
1362
1521
  } else {
1363
1522
  console.error(`[Pixi'VN] Ticker ${t.className} not found`);
1364
1523
  }
1365
- });
1524
+ }
1525
+ }
1526
+ if (data.hasOwnProperty("currentTickersSteps")) {
1527
+ let currentTickersSteps = data["currentTickersSteps"];
1528
+ _GameWindowManager.restoneTickersSteps(currentTickersSteps);
1366
1529
  }
1367
1530
  } catch (e) {
1368
1531
  console.error("[Pixi'VN] Error importing data", e);
@@ -1376,9 +1539,9 @@ _GameWindowManager._children = {};
1376
1539
  * The order of the children tags.
1377
1540
  */
1378
1541
  _GameWindowManager.childrenTagsOrder = [];
1379
- _GameWindowManager._currentTickers = [];
1542
+ _GameWindowManager._currentTickers = {};
1380
1543
  _GameWindowManager._currentTickersSteps = {};
1381
- _GameWindowManager.currentTickersTimeouts = {};
1544
+ _GameWindowManager._currentTickersTimeouts = {};
1382
1545
  var GameWindowManager = _GameWindowManager;
1383
1546
 
1384
1547
  // src/managers/StepManager.ts
@@ -1445,7 +1608,8 @@ var _GameStepManager = class _GameStepManager {
1445
1608
  canvas: {
1446
1609
  childrenTagsOrder: [],
1447
1610
  currentElements: {},
1448
- currentTickers: []
1611
+ currentTickers: {},
1612
+ currentTickersSteps: {}
1449
1613
  },
1450
1614
  labelIndex: -1,
1451
1615
  openedLabels: []
@@ -1656,8 +1820,15 @@ var _GameStepManager = class _GameStepManager {
1656
1820
  }
1657
1821
  try {
1658
1822
  if (labelId === CLOSE_LABEL_ID) {
1659
- let closeLabel = newCloseLabel(choiseMade);
1660
- return _GameStepManager.closeChoiceMenu(closeLabel, props);
1823
+ let closeCurrentLabel = newCloseLabel(choiseMade);
1824
+ let choice = {
1825
+ label: closeCurrentLabel,
1826
+ text: "",
1827
+ closeCurrentLabel: false,
1828
+ type: "close",
1829
+ props: {}
1830
+ };
1831
+ return _GameStepManager.closeChoiceMenu(choice, props);
1661
1832
  }
1662
1833
  let tempLabel = getLabelById(labelId);
1663
1834
  if (!tempLabel) {
@@ -1707,8 +1878,15 @@ var _GameStepManager = class _GameStepManager {
1707
1878
  }
1708
1879
  try {
1709
1880
  if (labelId === CLOSE_LABEL_ID) {
1710
- let closeLabel = newCloseLabel(choiseMade);
1711
- return _GameStepManager.closeChoiceMenu(closeLabel, props);
1881
+ let closeCurrentLabel = newCloseLabel(choiseMade);
1882
+ let choice = {
1883
+ label: closeCurrentLabel,
1884
+ text: "",
1885
+ closeCurrentLabel: false,
1886
+ type: "close",
1887
+ props: {}
1888
+ };
1889
+ return _GameStepManager.closeChoiceMenu(choice, props);
1712
1890
  }
1713
1891
  let tempLabel = getLabelById(labelId);
1714
1892
  if (!tempLabel) {
@@ -1724,7 +1902,8 @@ var _GameStepManager = class _GameStepManager {
1724
1902
  }
1725
1903
  /**
1726
1904
  * When the player is in a choice menu, can use this function to exit to the choice menu.
1727
- * @param props The props to pass to the step.
1905
+ * @param choice
1906
+ * @param props
1728
1907
  * @returns StepLabelResultType or undefined.
1729
1908
  * @example
1730
1909
  * ```typescript
@@ -1735,12 +1914,16 @@ var _GameStepManager = class _GameStepManager {
1735
1914
  * })
1736
1915
  * ```
1737
1916
  */
1738
- static closeChoiceMenu(label, props) {
1917
+ static closeChoiceMenu(choice, props) {
1739
1918
  return __async(this, null, function* () {
1919
+ let label = choice.label;
1740
1920
  let choiseMade = void 0;
1741
1921
  if (typeof label.choiseIndex === "number") {
1742
1922
  choiseMade = label.choiseIndex;
1743
1923
  }
1924
+ if (choice.closeCurrentLabel) {
1925
+ _GameStepManager.closeCurrentLabel();
1926
+ }
1744
1927
  return _GameStepManager.runNextStep(props, choiseMade);
1745
1928
  });
1746
1929
  }
@@ -1943,8 +2126,9 @@ var Close = "close";
1943
2126
  var ChoiceMenuOptionClose = class {
1944
2127
  /**
1945
2128
  * @param text Text to be displayed in the menu
2129
+ * @param closeCurrentLabel If true, the current label will be closed. @default false
1946
2130
  */
1947
- constructor(text) {
2131
+ constructor(text, closeCurrentLabel = false) {
1948
2132
  /**
1949
2133
  * Label to be opened when the option is selected
1950
2134
  */
@@ -1958,6 +2142,7 @@ var ChoiceMenuOptionClose = class {
1958
2142
  */
1959
2143
  this.props = {};
1960
2144
  this.text = text;
2145
+ this.closeCurrentLabel = closeCurrentLabel;
1961
2146
  }
1962
2147
  };
1963
2148
 
@@ -2042,7 +2227,8 @@ function setChoiceMenuOptions(options) {
2042
2227
  if (option instanceof ChoiceMenuOptionClose) {
2043
2228
  return {
2044
2229
  text: option.text,
2045
- type: Close
2230
+ type: Close,
2231
+ closeCurrentLabel: option.closeCurrentLabel
2046
2232
  };
2047
2233
  }
2048
2234
  return __spreadProps(__spreadValues({}, option), {
@@ -2063,6 +2249,7 @@ function getChoiceMenuOptions() {
2063
2249
  text: option.text,
2064
2250
  label: itemLabel,
2065
2251
  type: Close,
2252
+ closeCurrentLabel: option.closeCurrentLabel,
2066
2253
  props: {}
2067
2254
  });
2068
2255
  return;
@@ -2144,20 +2331,15 @@ function clearAllGameDatas() {
2144
2331
  GameWindowManager.clear();
2145
2332
  GameStepManager.clear();
2146
2333
  }
2147
- var TickerFadeAlpha = class extends TickerBase {
2148
- /**
2149
- * The method that will be called every frame to fade the alpha of the canvas element of the canvas.
2150
- * @param delta The delta time
2151
- * @param args The arguments that are passed to the ticker
2152
- * @param tags The tags of the canvas element that are connected to this ticker
2153
- */
2154
- fn(t, args, tags) {
2334
+ var FadeAlphaTicker = class extends TickerBase {
2335
+ fn(ticker, args, tags, tickerId) {
2155
2336
  let type = args.type === void 0 ? "hide" : args.type;
2156
- let speed = args.speed === void 0 ? 0.1 : args.speed;
2337
+ let duration = args.duration === void 0 ? 1 : args.duration;
2338
+ let speed = 1 / (duration * 60);
2157
2339
  let limit = args.limit === void 0 ? type === "hide" ? 0 : 1 : args.limit;
2158
- let removeElementAfter = args.tagToRemoveAfter || [];
2159
- if (typeof removeElementAfter === "string") {
2160
- removeElementAfter = [removeElementAfter];
2340
+ let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
2341
+ if (typeof tagToRemoveAfter2 === "string") {
2342
+ tagToRemoveAfter2 = [tagToRemoveAfter2];
2161
2343
  }
2162
2344
  if (type === "hide" && limit < 0) {
2163
2345
  limit = 0;
@@ -2178,61 +2360,88 @@ var TickerFadeAlpha = class extends TickerBase {
2178
2360
  let element = GameWindowManager.getCanvasElement(tag);
2179
2361
  if (element && element instanceof pixi_js.Container) {
2180
2362
  if (type === "show" && element.alpha < limit) {
2181
- element.alpha += speed * t.deltaTime;
2363
+ element.alpha += speed * ticker.deltaTime;
2182
2364
  } else if (type === "hide" && element.alpha > limit) {
2183
- element.alpha -= speed * t.deltaTime;
2184
- } else {
2365
+ element.alpha -= speed * ticker.deltaTime;
2366
+ }
2367
+ if (type === "show" && element.alpha >= limit) {
2185
2368
  element.alpha = limit;
2186
- GameWindowManager.removeAssociationBetweenTickerCanvasElement(tag, this);
2187
- GameWindowManager.removeCanvasElement(removeElementAfter);
2369
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
2370
+ } else if (type === "hide" && element.alpha <= limit) {
2371
+ element.alpha = limit;
2372
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
2188
2373
  }
2189
2374
  }
2190
2375
  });
2191
2376
  }
2192
2377
  };
2193
- TickerFadeAlpha = __decorateClass([
2378
+ FadeAlphaTicker = __decorateClass([
2194
2379
  tickerDecorator()
2195
- ], TickerFadeAlpha);
2380
+ ], FadeAlphaTicker);
2196
2381
 
2197
2382
  // src/functions/TickerUtility.ts
2198
2383
  function updateTickerProgression(args, propertyName, progression) {
2199
- if (args.hasOwnProperty(propertyName) && typeof args[propertyName] !== "number") {
2384
+ if (args[propertyName] === void 0 || !progression || args[propertyName] === progression.limit) {
2200
2385
  return;
2201
2386
  }
2202
- if (args[propertyName] !== void 0 && progression && args[propertyName] !== progression.limit) {
2387
+ if (typeof args[propertyName] === "number") {
2203
2388
  if (progression.type === "linear") {
2204
- args[propertyName] += progression.amt;
2205
- if (progression.limit !== void 0) {
2206
- if (args[propertyName] > progression.limit && progression.amt > 0) {
2207
- args[propertyName] = progression.limit;
2208
- } else if (args[propertyName] < progression.limit && progression.amt < 0) {
2209
- args[propertyName] = progression.limit;
2210
- }
2211
- }
2389
+ args[propertyName] = getLinearProgression(args[propertyName], progression);
2212
2390
  } else if (progression.type === "exponential") {
2213
- args[propertyName] += args[propertyName] * progression.percentage;
2214
- if (progression.limit !== void 0) {
2215
- if (args[propertyName] > progression.limit && progression.percentage > 0) {
2216
- args[propertyName] = progression.limit;
2217
- } else if (args[propertyName] < progression.limit && progression.percentage < 0) {
2218
- args[propertyName] = progression.limit;
2219
- }
2220
- }
2391
+ args[propertyName] = getExponentialProgression(args[propertyName], progression);
2392
+ }
2393
+ } 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") {
2394
+ if (progression.type === "linear") {
2395
+ args[propertyName].x = getLinearProgression(args[propertyName].x, progression);
2396
+ args[propertyName].y = getLinearProgression(args[propertyName].y, progression);
2397
+ } else if (progression.type === "exponential") {
2398
+ args[propertyName].x = getExponentialProgression(args[propertyName].x, progression);
2399
+ args[propertyName].y = getExponentialProgression(args[propertyName].y, progression);
2221
2400
  }
2222
2401
  }
2223
2402
  }
2403
+ function getLinearProgression(number, progression) {
2404
+ if (progression.limit !== void 0) {
2405
+ if (number > progression.limit && progression.amt > 0) {
2406
+ return progression.limit;
2407
+ } else if (number < progression.limit && progression.amt < 0) {
2408
+ return progression.limit;
2409
+ }
2410
+ }
2411
+ return number + progression.amt / 60;
2412
+ }
2413
+ function getExponentialProgression(number, progression) {
2414
+ if (progression.limit !== void 0) {
2415
+ if (number > progression.limit && progression.percentage > 0) {
2416
+ return progression.limit;
2417
+ } else if (number < progression.limit && progression.percentage < 0) {
2418
+ return progression.limit;
2419
+ }
2420
+ }
2421
+ return number + number * progression.percentage;
2422
+ }
2224
2423
 
2225
- // src/classes/ticker/TickerMove.ts
2226
- var TickerMove = class extends TickerBase {
2227
- /**
2228
- * The method that will be called every frame to move the canvas element of the canvas.
2229
- * @param t The ticker that is calling this method
2230
- * @param args The arguments that are passed to the ticker
2231
- * @param tags The tags of the canvas element that are connected to this ticker
2232
- */
2233
- fn(t, args, tags) {
2234
- let speed = args.speed === void 0 ? 0.1 : args.speed;
2424
+ // src/classes/ticker/MoveTicker.ts
2425
+ var MoveTicker = class extends TickerBase {
2426
+ fn(ticker, args, tags, tickerId) {
2427
+ let xSpeed = 1;
2428
+ let ySpeed = 1;
2429
+ if (args.speed) {
2430
+ if (typeof args.speed === "number") {
2431
+ xSpeed = args.speed;
2432
+ ySpeed = args.speed;
2433
+ } else {
2434
+ xSpeed = args.speed.x;
2435
+ ySpeed = args.speed.y;
2436
+ }
2437
+ }
2438
+ xSpeed /= 60;
2439
+ ySpeed /= 60;
2235
2440
  let destination = args.destination;
2441
+ let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
2442
+ if (typeof tagToRemoveAfter2 === "string") {
2443
+ tagToRemoveAfter2 = [tagToRemoveAfter2];
2444
+ }
2236
2445
  tags.filter((tag) => {
2237
2446
  var _a;
2238
2447
  let element = GameWindowManager.getCanvasElement(tag);
@@ -2245,41 +2454,42 @@ var TickerMove = class extends TickerBase {
2245
2454
  }).forEach((tag) => {
2246
2455
  let element = GameWindowManager.getCanvasElement(tag);
2247
2456
  if (element && element instanceof pixi_js.Container) {
2248
- let xDistance = destination.x - element.x;
2457
+ let xDistance = destination.x - element.x > 0 ? 1 : -1;
2249
2458
  if (xDistance != 0) {
2250
- element.x += xDistance / speed * t.deltaTime;
2459
+ element.x += xDistance * xSpeed * ticker.deltaTime;
2251
2460
  let newDistance = destination.x - element.x;
2252
2461
  if (xDistance < 0 && newDistance > 0 || xDistance > 0 && newDistance < 0) {
2253
2462
  element.x = destination.x;
2254
2463
  }
2255
2464
  }
2256
- let yDistance = destination.y - element.y;
2465
+ let yDistance = destination.y - element.y > 0 ? 1 : -1;
2257
2466
  if (yDistance != 0) {
2258
- element.y += yDistance / speed * t.deltaTime;
2467
+ element.y += yDistance * ySpeed * ticker.deltaTime;
2259
2468
  let newDistance = destination.y - element.y;
2260
2469
  if (yDistance < 0 && newDistance > 0 || yDistance > 0 && newDistance < 0) {
2261
2470
  element.y = destination.y;
2262
2471
  }
2263
2472
  }
2473
+ if (element.x == destination.x && element.y == destination.y) {
2474
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
2475
+ }
2264
2476
  }
2265
2477
  });
2266
2478
  if (args.speedProgression)
2267
2479
  updateTickerProgression(args, "speed", args.speedProgression);
2268
2480
  }
2269
2481
  };
2270
- TickerMove = __decorateClass([
2482
+ MoveTicker = __decorateClass([
2271
2483
  tickerDecorator()
2272
- ], TickerMove);
2273
- var TickerRotate = class extends TickerBase {
2274
- /**
2275
- * The method that will be called every frame to rotate the canvas element of the canvas.
2276
- * @param delta The delta time
2277
- * @param args The arguments that are passed to the ticker
2278
- * @param tags The tags of the canvas element that are connected to this ticker
2279
- */
2280
- fn(t, args, tags) {
2281
- let speed = args.speed === void 0 ? 0.1 : args.speed;
2484
+ ], MoveTicker);
2485
+ var RotateTicker = class extends TickerBase {
2486
+ fn(ticker, args, tags, tickerId) {
2487
+ let speed = (args.speed === void 0 ? 1 : args.speed) / 60;
2282
2488
  let clockwise = args.clockwise === void 0 ? true : args.clockwise;
2489
+ let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
2490
+ if (typeof tagToRemoveAfter2 === "string") {
2491
+ tagToRemoveAfter2 = [tagToRemoveAfter2];
2492
+ }
2283
2493
  tags.filter((tag) => {
2284
2494
  var _a;
2285
2495
  let element = GameWindowManager.getCanvasElement(tag);
@@ -2293,18 +2503,108 @@ var TickerRotate = class extends TickerBase {
2293
2503
  let element = GameWindowManager.getCanvasElement(tag);
2294
2504
  if (element && element instanceof pixi_js.Container) {
2295
2505
  if (clockwise)
2296
- element.rotation += speed * t.deltaTime;
2506
+ element.rotation += speed * ticker.deltaTime;
2297
2507
  else
2298
- element.rotation -= speed * t.deltaTime;
2508
+ element.rotation -= speed * ticker.deltaTime;
2509
+ if (speed < 1e-5 && !(args.speedProgression && args.speedProgression.type == "linear" && args.speedProgression.amt != 0)) {
2510
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
2511
+ }
2512
+ }
2513
+ });
2514
+ if (args.speedProgression)
2515
+ updateTickerProgression(args, "speed", args.speedProgression);
2516
+ }
2517
+ };
2518
+ RotateTicker = __decorateClass([
2519
+ tickerDecorator()
2520
+ ], RotateTicker);
2521
+ var ZoomTicker = class extends TickerBase {
2522
+ fn(ticker, args, tags, tickerId) {
2523
+ let xSpeed = 0.1;
2524
+ let ySpeed = 0.1;
2525
+ if (args.speed) {
2526
+ if (typeof args.speed === "number") {
2527
+ xSpeed = args.speed;
2528
+ ySpeed = args.speed;
2529
+ } else {
2530
+ xSpeed = args.speed.x;
2531
+ ySpeed = args.speed.y;
2532
+ }
2533
+ }
2534
+ xSpeed /= 60;
2535
+ ySpeed /= 60;
2536
+ let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
2537
+ if (typeof tagToRemoveAfter2 === "string") {
2538
+ tagToRemoveAfter2 = [tagToRemoveAfter2];
2539
+ }
2540
+ let type = args.type || "zoom";
2541
+ let xLimit = Infinity;
2542
+ let yLimit = Infinity;
2543
+ if (args.limit) {
2544
+ if (typeof args.limit === "number") {
2545
+ xLimit = args.limit;
2546
+ yLimit = args.limit;
2547
+ } else {
2548
+ xLimit = args.limit.x;
2549
+ yLimit = args.limit.y;
2550
+ }
2551
+ }
2552
+ tags.filter((tag) => {
2553
+ var _a;
2554
+ let element = GameWindowManager.getCanvasElement(tag);
2555
+ if (args.startOnlyIfHaveTexture) {
2556
+ if (element && element instanceof pixi_js.Sprite && ((_a = element.texture) == null ? void 0 : _a.label) == "EMPTY") {
2557
+ return false;
2558
+ }
2559
+ }
2560
+ return true;
2561
+ }).forEach((tag) => {
2562
+ let element = GameWindowManager.getCanvasElement(tag);
2563
+ if (element && element instanceof pixi_js.Container) {
2564
+ if (type === "zoom" && (element.scale.x < xLimit || element.scale.y < yLimit)) {
2565
+ element.scale.x += xSpeed * ticker.deltaTime;
2566
+ element.scale.y += ySpeed * ticker.deltaTime;
2567
+ } else if (type === "unzoom" && (element.scale.x > xLimit || element.scale.y > yLimit)) {
2568
+ element.scale.x -= xSpeed * ticker.deltaTime;
2569
+ element.scale.y -= ySpeed * ticker.deltaTime;
2570
+ }
2571
+ if (type === "zoom") {
2572
+ if (element.scale.x > xLimit) {
2573
+ element.scale.x = xLimit;
2574
+ }
2575
+ if (element.scale.y > yLimit) {
2576
+ element.scale.y = yLimit;
2577
+ }
2578
+ if (element.scale.x >= xLimit && element.scale.y >= yLimit) {
2579
+ element.scale.x = xLimit;
2580
+ element.scale.y = yLimit;
2581
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
2582
+ }
2583
+ } else if (type === "unzoom") {
2584
+ if (element.scale.x < xLimit) {
2585
+ element.scale.x = xLimit;
2586
+ }
2587
+ if (element.scale.y < yLimit) {
2588
+ element.scale.y = yLimit;
2589
+ }
2590
+ if (element.scale.x <= xLimit && element.scale.y <= yLimit) {
2591
+ element.scale.x = xLimit;
2592
+ element.scale.y = yLimit;
2593
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
2594
+ }
2595
+ }
2596
+ if (xSpeed < 1e-5 && ySpeed < 1e-5 && !(args.speedProgression && args.speedProgression.type == "linear" && args.speedProgression.amt != 0)) {
2597
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
2598
+ }
2299
2599
  }
2300
2600
  });
2301
2601
  if (args.speedProgression)
2302
2602
  updateTickerProgression(args, "speed", args.speedProgression);
2303
2603
  }
2304
2604
  };
2305
- TickerRotate = __decorateClass([
2605
+ ZoomTicker = __decorateClass([
2306
2606
  tickerDecorator()
2307
- ], TickerRotate);
2607
+ ], ZoomTicker);
2308
2608
 
2309
2609
  // src/functions/ImageUtility.ts
2310
2610
  function addImage(tag, imageUrl) {
@@ -2313,7 +2613,7 @@ function addImage(tag, imageUrl) {
2313
2613
  GameWindowManager.addCanvasElement(tag, image);
2314
2614
  return image;
2315
2615
  }
2316
- function loadImages(canvasImages) {
2616
+ function loadImage(canvasImages) {
2317
2617
  return __async(this, null, function* () {
2318
2618
  if (!Array.isArray(canvasImages)) {
2319
2619
  return [canvasImages];
@@ -2334,39 +2634,92 @@ function loadImages(canvasImages) {
2334
2634
  });
2335
2635
  });
2336
2636
  }
2637
+ function showImage(tag, imageUrl) {
2638
+ return __async(this, null, function* () {
2639
+ let image = addImage(tag, imageUrl);
2640
+ yield image.load();
2641
+ return image;
2642
+ });
2643
+ }
2337
2644
  function removeCanvasElement(tag) {
2338
2645
  GameWindowManager.removeCanvasElement(tag);
2339
2646
  }
2340
- function showWithDissolveTransition(tag, image, speed, priority) {
2341
- return __async(this, null, function* () {
2342
- let specialTag = void 0;
2647
+ function showWithDissolveTransition(_0, _1) {
2648
+ return __async(this, arguments, function* (tag, image, props = {}, priority) {
2649
+ var _a;
2650
+ let oldCanvasTag = void 0;
2343
2651
  if (GameWindowManager.getCanvasElement(tag)) {
2344
- specialTag = tag + "_temp_disolve";
2345
- GameWindowManager.editTagCanvasElement(tag, specialTag);
2652
+ oldCanvasTag = tag + "_temp_disolve";
2653
+ GameWindowManager.editCanvasElementTag(tag, oldCanvasTag);
2346
2654
  }
2347
2655
  let canvasElement;
2348
2656
  if (typeof image === "string") {
2349
2657
  canvasElement = addImage(tag, image);
2350
2658
  } else {
2351
2659
  canvasElement = image;
2660
+ GameWindowManager.addCanvasElement(tag, canvasElement);
2661
+ }
2662
+ if (canvasElement instanceof CanvasImage && ((_a = canvasElement.texture) == null ? void 0 : _a.label) == "EMPTY") {
2663
+ yield canvasElement.load();
2352
2664
  }
2353
2665
  canvasElement.alpha = 0;
2354
- let effect = new TickerFadeAlpha({
2355
- speed,
2666
+ let effect = new FadeAlphaTicker(__spreadProps(__spreadValues({}, props), {
2356
2667
  type: "show",
2357
- tagToRemoveAfter: specialTag,
2668
+ tagToRemoveAfter: oldCanvasTag,
2358
2669
  startOnlyIfHaveTexture: true
2359
- }, 1e4, priority);
2670
+ }), 10, priority);
2360
2671
  GameWindowManager.addTicker(tag, effect);
2361
- if (canvasElement instanceof CanvasImage) {
2362
- return canvasElement.load();
2363
- }
2364
2672
  return;
2365
2673
  });
2366
2674
  }
2367
-
2368
- // src/constants.ts
2369
- var PIXIVN_VERSION = "0.6.0";
2675
+ function removeWithDissolveTransition(tag, props = {}, priority) {
2676
+ if (typeof tag === "string") {
2677
+ tag = [tag];
2678
+ }
2679
+ let effect = new FadeAlphaTicker(__spreadProps(__spreadValues({}, props), {
2680
+ type: "hide",
2681
+ tagToRemoveAfter: tag,
2682
+ startOnlyIfHaveTexture: true
2683
+ }), 10, priority);
2684
+ GameWindowManager.addTicker(tag, effect);
2685
+ }
2686
+ function showWithFadeTransition(_0, _1) {
2687
+ return __async(this, arguments, function* (tag, image, props = {}, priority) {
2688
+ var _a;
2689
+ if (!GameWindowManager.getCanvasElement(tag)) {
2690
+ return showWithDissolveTransition(tag, image, props, priority);
2691
+ }
2692
+ let oldCanvasTag = tag + "_temp_fade";
2693
+ GameWindowManager.editCanvasElementTag(tag, oldCanvasTag);
2694
+ let canvasElement;
2695
+ if (typeof image === "string") {
2696
+ canvasElement = addImage(tag, image);
2697
+ } else {
2698
+ canvasElement = image;
2699
+ GameWindowManager.addCanvasElement(tag, canvasElement);
2700
+ }
2701
+ if (canvasElement instanceof CanvasImage && ((_a = canvasElement.texture) == null ? void 0 : _a.label) == "EMPTY") {
2702
+ yield canvasElement.load();
2703
+ }
2704
+ canvasElement.alpha = 0;
2705
+ GameWindowManager.addTickersSteps(oldCanvasTag, [
2706
+ new FadeAlphaTicker(__spreadProps(__spreadValues({}, props), {
2707
+ type: "hide",
2708
+ startOnlyIfHaveTexture: true
2709
+ }))
2710
+ ]);
2711
+ GameWindowManager.addTickersSteps(tag, [
2712
+ Pause(props.duration || 1),
2713
+ new FadeAlphaTicker(__spreadProps(__spreadValues({}, props), {
2714
+ type: "show",
2715
+ startOnlyIfHaveTexture: true
2716
+ }))
2717
+ ]);
2718
+ });
2719
+ }
2720
+ function removeWithFadeTransition(tag, props = {}, priority) {
2721
+ return removeWithDissolveTransition(tag, props, priority);
2722
+ }
2370
2723
 
2371
2724
  // src/functions/SavesUtility.ts
2372
2725
  function getSaveData() {
@@ -2406,13 +2759,17 @@ exports.getFlag = getFlag;
2406
2759
  exports.getSaveData = getSaveData;
2407
2760
  exports.getSaveJson = getSaveJson;
2408
2761
  exports.getTexture = getTexture;
2409
- exports.loadImages = loadImages;
2762
+ exports.loadImage = loadImage;
2410
2763
  exports.loadSaveData = loadSaveData;
2411
2764
  exports.loadSaveJson = loadSaveJson;
2412
2765
  exports.removeCanvasElement = removeCanvasElement;
2766
+ exports.removeWithDissolveTransition = removeWithDissolveTransition;
2767
+ exports.removeWithFadeTransition = removeWithFadeTransition;
2413
2768
  exports.setChoiceMenuOptions = setChoiceMenuOptions;
2414
2769
  exports.setDialogue = setDialogue;
2415
2770
  exports.setFlag = setFlag;
2771
+ exports.showImage = showImage;
2416
2772
  exports.showWithDissolveTransition = showWithDissolveTransition;
2773
+ exports.showWithFadeTransition = showWithFadeTransition;
2417
2774
  //# sourceMappingURL=out.js.map
2418
2775
  //# sourceMappingURL=index.js.map