@drincs/pixi-vn 0.6.0 → 0.6.2

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 (415) hide show
  1. package/dist/{TickerBase-RQDWNI4K.d.ts → TickerBase-3rLpDpmb.d.ts} +27 -13
  2. package/dist/{TickerBase-B5CQCJs8.d.mts → TickerBase-DKYzbzro.d.mts} +27 -13
  3. package/dist/classes/CanvasEvent.d.mts +7 -1
  4. package/dist/classes/CanvasEvent.d.ts +7 -1
  5. package/dist/classes/CanvasEvent.js +7 -0
  6. package/dist/classes/CanvasEvent.js.map +1 -1
  7. package/dist/classes/CanvasEvent.mjs +7 -0
  8. package/dist/classes/CanvasEvent.mjs.map +1 -1
  9. package/dist/classes/CharacterBaseModel.d.mts +2 -26
  10. package/dist/classes/CharacterBaseModel.d.ts +2 -26
  11. package/dist/classes/CharacterBaseModel.js +544 -241
  12. package/dist/classes/CharacterBaseModel.js.map +1 -1
  13. package/dist/classes/CharacterBaseModel.mjs +540 -241
  14. package/dist/classes/CharacterBaseModel.mjs.map +1 -1
  15. package/dist/classes/ChoiceMenuOption.d.mts +27 -17
  16. package/dist/classes/ChoiceMenuOption.d.ts +27 -17
  17. package/dist/classes/ChoiceMenuOption.js +548 -243
  18. package/dist/classes/ChoiceMenuOption.js.map +1 -1
  19. package/dist/classes/ChoiceMenuOption.mjs +544 -243
  20. package/dist/classes/ChoiceMenuOption.mjs.map +1 -1
  21. package/dist/classes/CloseLabel.d.mts +1 -1
  22. package/dist/classes/CloseLabel.d.ts +1 -1
  23. package/dist/classes/CloseLabel.js +1 -1
  24. package/dist/classes/CloseLabel.js.map +1 -1
  25. package/dist/classes/CloseLabel.mjs +1 -1
  26. package/dist/classes/CloseLabel.mjs.map +1 -1
  27. package/dist/classes/DialogueBaseModel.d.mts +3 -2
  28. package/dist/classes/DialogueBaseModel.d.ts +3 -2
  29. package/dist/classes/DialogueBaseModel.js +5 -5
  30. package/dist/classes/DialogueBaseModel.js.map +1 -1
  31. package/dist/classes/DialogueBaseModel.mjs +5 -5
  32. package/dist/classes/DialogueBaseModel.mjs.map +1 -1
  33. package/dist/classes/Label.d.mts +1 -1
  34. package/dist/classes/Label.d.ts +1 -1
  35. package/dist/classes/Label.js +1 -1
  36. package/dist/classes/Label.js.map +1 -1
  37. package/dist/classes/Label.mjs +1 -1
  38. package/dist/classes/Label.mjs.map +1 -1
  39. package/dist/classes/StoredClassModel.d.mts +2 -2
  40. package/dist/classes/StoredClassModel.d.ts +2 -2
  41. package/dist/classes/StoredClassModel.js +544 -241
  42. package/dist/classes/StoredClassModel.js.map +1 -1
  43. package/dist/classes/StoredClassModel.mjs +540 -241
  44. package/dist/classes/StoredClassModel.mjs.map +1 -1
  45. package/dist/classes/canvas/CanvasBase.d.mts +5 -1
  46. package/dist/classes/canvas/CanvasBase.d.ts +5 -1
  47. package/dist/classes/canvas/CanvasBase.js +7 -0
  48. package/dist/classes/canvas/CanvasBase.js.map +1 -1
  49. package/dist/classes/canvas/CanvasBase.mjs +7 -0
  50. package/dist/classes/canvas/CanvasBase.mjs.map +1 -1
  51. package/dist/classes/canvas/CanvasContainer.d.mts +4 -1
  52. package/dist/classes/canvas/CanvasContainer.d.ts +4 -1
  53. package/dist/classes/canvas/CanvasContainer.js +57 -37
  54. package/dist/classes/canvas/CanvasContainer.js.map +1 -1
  55. package/dist/classes/canvas/CanvasContainer.mjs +57 -38
  56. package/dist/classes/canvas/CanvasContainer.mjs.map +1 -1
  57. package/dist/classes/canvas/CanvasImage.d.mts +4 -2
  58. package/dist/classes/canvas/CanvasImage.d.ts +4 -2
  59. package/dist/classes/canvas/CanvasImage.js +33 -20
  60. package/dist/classes/canvas/CanvasImage.js.map +1 -1
  61. package/dist/classes/canvas/CanvasImage.mjs +30 -20
  62. package/dist/classes/canvas/CanvasImage.mjs.map +1 -1
  63. package/dist/classes/canvas/CanvasSprite.d.mts +6 -3
  64. package/dist/classes/canvas/CanvasSprite.d.ts +6 -3
  65. package/dist/classes/canvas/CanvasSprite.js +25 -17
  66. package/dist/classes/canvas/CanvasSprite.js.map +1 -1
  67. package/dist/classes/canvas/CanvasSprite.mjs +25 -18
  68. package/dist/classes/canvas/CanvasSprite.mjs.map +1 -1
  69. package/dist/classes/canvas/CanvasText.d.mts +6 -3
  70. package/dist/classes/canvas/CanvasText.d.ts +6 -3
  71. package/dist/classes/canvas/CanvasText.js +25 -17
  72. package/dist/classes/canvas/CanvasText.js.map +1 -1
  73. package/dist/classes/canvas/CanvasText.mjs +25 -18
  74. package/dist/classes/canvas/CanvasText.mjs.map +1 -1
  75. package/dist/classes/canvas/index.js +184 -158
  76. package/dist/classes/canvas/index.js.map +1 -1
  77. package/dist/classes/canvas/index.mjs +184 -158
  78. package/dist/classes/canvas/index.mjs.map +1 -1
  79. package/dist/classes/index.d.mts +6 -4
  80. package/dist/classes/index.d.ts +6 -4
  81. package/dist/classes/index.js +560 -248
  82. package/dist/classes/index.js.map +1 -1
  83. package/dist/classes/index.mjs +556 -248
  84. package/dist/classes/index.mjs.map +1 -1
  85. package/dist/classes/ticker/FadeAlphaTicker.d.mts +27 -0
  86. package/dist/classes/ticker/FadeAlphaTicker.d.ts +27 -0
  87. package/dist/classes/ticker/{TickerFadeAlpha.js → FadeAlphaTicker.js} +549 -248
  88. package/dist/classes/ticker/FadeAlphaTicker.js.map +1 -0
  89. package/dist/classes/ticker/{TickerRotate.mjs → FadeAlphaTicker.mjs} +571 -274
  90. package/dist/classes/ticker/FadeAlphaTicker.mjs.map +1 -0
  91. package/dist/classes/ticker/MoveTicker.d.mts +25 -0
  92. package/dist/classes/ticker/MoveTicker.d.ts +25 -0
  93. package/dist/classes/ticker/{TickerMove.js → MoveTicker.js} +544 -241
  94. package/dist/classes/ticker/MoveTicker.js.map +1 -0
  95. package/dist/classes/ticker/{TickerFadeAlpha.mjs → MoveTicker.mjs} +568 -269
  96. package/dist/classes/ticker/MoveTicker.mjs.map +1 -0
  97. package/dist/classes/ticker/RotateTicker.d.mts +27 -0
  98. package/dist/classes/ticker/RotateTicker.d.ts +27 -0
  99. package/dist/classes/ticker/{TickerRotate.js → RotateTicker.js} +544 -241
  100. package/dist/classes/ticker/RotateTicker.js.map +1 -0
  101. package/dist/classes/ticker/{TickerMove.mjs → RotateTicker.mjs} +558 -259
  102. package/dist/classes/ticker/RotateTicker.mjs.map +1 -0
  103. package/dist/classes/ticker/TickerBase.d.mts +2 -1
  104. package/dist/classes/ticker/TickerBase.d.ts +2 -1
  105. package/dist/classes/ticker/TickerBase.js +12 -6
  106. package/dist/classes/ticker/TickerBase.js.map +1 -1
  107. package/dist/classes/ticker/TickerBase.mjs +12 -6
  108. package/dist/classes/ticker/TickerBase.mjs.map +1 -1
  109. package/dist/classes/ticker/ZoomTicker.d.mts +31 -0
  110. package/dist/classes/ticker/ZoomTicker.d.ts +31 -0
  111. package/dist/classes/ticker/ZoomTicker.js +1647 -0
  112. package/dist/classes/ticker/ZoomTicker.js.map +1 -0
  113. package/dist/classes/ticker/ZoomTicker.mjs +1639 -0
  114. package/dist/classes/ticker/ZoomTicker.mjs.map +1 -0
  115. package/dist/classes/ticker/index.d.mts +11 -8
  116. package/dist/classes/ticker/index.d.ts +11 -8
  117. package/dist/classes/ticker/index.js +567 -266
  118. package/dist/classes/ticker/index.js.map +1 -1
  119. package/dist/classes/ticker/index.mjs +564 -267
  120. package/dist/classes/ticker/index.mjs.map +1 -1
  121. package/dist/constants.d.mts +12 -2
  122. package/dist/constants.d.ts +12 -2
  123. package/dist/constants.js +10 -1
  124. package/dist/constants.js.map +1 -1
  125. package/dist/constants.mjs +9 -2
  126. package/dist/constants.mjs.map +1 -1
  127. package/dist/decorators/CanvasElementDecorator.d.mts +3 -3
  128. package/dist/decorators/CanvasElementDecorator.d.ts +3 -3
  129. package/dist/decorators/CanvasElementDecorator.js +63 -43
  130. package/dist/decorators/CanvasElementDecorator.js.map +1 -1
  131. package/dist/decorators/CanvasElementDecorator.mjs +62 -42
  132. package/dist/decorators/CanvasElementDecorator.mjs.map +1 -1
  133. package/dist/decorators/CharacterDecorator.d.mts +1 -0
  134. package/dist/decorators/CharacterDecorator.d.ts +1 -0
  135. package/dist/decorators/CharacterDecorator.js +1 -1
  136. package/dist/decorators/CharacterDecorator.js.map +1 -1
  137. package/dist/decorators/CharacterDecorator.mjs +1 -1
  138. package/dist/decorators/CharacterDecorator.mjs.map +1 -1
  139. package/dist/decorators/EventDecorator.d.mts +7 -7
  140. package/dist/decorators/EventDecorator.d.ts +7 -7
  141. package/dist/decorators/EventDecorator.js +12 -11
  142. package/dist/decorators/EventDecorator.js.map +1 -1
  143. package/dist/decorators/EventDecorator.mjs +11 -10
  144. package/dist/decorators/EventDecorator.mjs.map +1 -1
  145. package/dist/decorators/LabelDecorator.d.mts +4 -3
  146. package/dist/decorators/LabelDecorator.d.ts +4 -3
  147. package/dist/decorators/LabelDecorator.js +546 -243
  148. package/dist/decorators/LabelDecorator.js.map +1 -1
  149. package/dist/decorators/LabelDecorator.mjs +542 -243
  150. package/dist/decorators/LabelDecorator.mjs.map +1 -1
  151. package/dist/decorators/TickerDecorator.d.mts +9 -6
  152. package/dist/decorators/TickerDecorator.d.ts +9 -6
  153. package/dist/decorators/TickerDecorator.js +7 -6
  154. package/dist/decorators/TickerDecorator.js.map +1 -1
  155. package/dist/decorators/TickerDecorator.mjs +7 -6
  156. package/dist/decorators/TickerDecorator.mjs.map +1 -1
  157. package/dist/decorators/index.d.mts +4 -3
  158. package/dist/decorators/index.d.ts +4 -3
  159. package/dist/decorators/index.js +550 -245
  160. package/dist/decorators/index.js.map +1 -1
  161. package/dist/decorators/index.mjs +546 -245
  162. package/dist/decorators/index.mjs.map +1 -1
  163. package/dist/functions/CanvasUtility.js +56 -37
  164. package/dist/functions/CanvasUtility.js.map +1 -1
  165. package/dist/functions/CanvasUtility.mjs +56 -37
  166. package/dist/functions/CanvasUtility.mjs.map +1 -1
  167. package/dist/functions/DialogueUtility.d.mts +7 -5
  168. package/dist/functions/DialogueUtility.d.ts +7 -5
  169. package/dist/functions/DialogueUtility.js +729 -397
  170. package/dist/functions/DialogueUtility.js.map +1 -1
  171. package/dist/functions/DialogueUtility.mjs +729 -397
  172. package/dist/functions/DialogueUtility.mjs.map +1 -1
  173. package/dist/functions/FlagsUtility.js +544 -241
  174. package/dist/functions/FlagsUtility.js.map +1 -1
  175. package/dist/functions/FlagsUtility.mjs +540 -241
  176. package/dist/functions/FlagsUtility.mjs.map +1 -1
  177. package/dist/functions/GameUtility.js +544 -241
  178. package/dist/functions/GameUtility.js.map +1 -1
  179. package/dist/functions/GameUtility.mjs +540 -241
  180. package/dist/functions/GameUtility.mjs.map +1 -1
  181. package/dist/functions/ImageUtility.d.mts +81 -8
  182. package/dist/functions/ImageUtility.d.ts +81 -8
  183. package/dist/functions/ImageUtility.js +911 -387
  184. package/dist/functions/ImageUtility.js.map +1 -1
  185. package/dist/functions/ImageUtility.mjs +899 -387
  186. package/dist/functions/ImageUtility.mjs.map +1 -1
  187. package/dist/functions/SavesUtility.d.mts +9 -5
  188. package/dist/functions/SavesUtility.d.ts +9 -5
  189. package/dist/functions/SavesUtility.js +611 -252
  190. package/dist/functions/SavesUtility.js.map +1 -1
  191. package/dist/functions/SavesUtility.mjs +611 -252
  192. package/dist/functions/SavesUtility.mjs.map +1 -1
  193. package/dist/functions/TickerUtility.d.mts +1 -1
  194. package/dist/functions/TickerUtility.d.ts +1 -1
  195. package/dist/functions/TickerUtility.js +32 -18
  196. package/dist/functions/TickerUtility.js.map +1 -1
  197. package/dist/functions/TickerUtility.mjs +32 -18
  198. package/dist/functions/TickerUtility.mjs.map +1 -1
  199. package/dist/functions/index.d.mts +18 -8
  200. package/dist/functions/index.d.ts +18 -8
  201. package/dist/functions/index.js +832 -279
  202. package/dist/functions/index.js.map +1 -1
  203. package/dist/functions/index.mjs +825 -280
  204. package/dist/functions/index.mjs.map +1 -1
  205. package/dist/index.d.mts +25 -16
  206. package/dist/index.d.ts +25 -16
  207. package/dist/index.js +1547 -290
  208. package/dist/index.js.map +1 -1
  209. package/dist/index.mjs +1538 -290
  210. package/dist/index.mjs.map +1 -1
  211. package/dist/interface/CharacterBaseModelProps.d.mts +27 -0
  212. package/dist/interface/CharacterBaseModelProps.d.ts +27 -0
  213. package/dist/interface/CharacterBaseModelProps.js +4 -0
  214. package/dist/interface/CharacterBaseModelProps.mjs +3 -0
  215. package/dist/interface/DialogueHistory.d.mts +3 -7
  216. package/dist/interface/DialogueHistory.d.ts +3 -7
  217. package/dist/interface/IHistoryStep.d.mts +12 -8
  218. package/dist/interface/IHistoryStep.d.ts +12 -8
  219. package/dist/interface/ISaveData.d.mts +8 -4
  220. package/dist/interface/ISaveData.d.ts +8 -4
  221. package/dist/interface/ITicker.d.mts +2 -1
  222. package/dist/interface/ITicker.d.ts +2 -1
  223. package/dist/interface/ITickersSteps.d.mts +14 -5
  224. package/dist/interface/ITickersSteps.d.ts +14 -5
  225. package/dist/interface/TickerHistory.d.mts +29 -0
  226. package/dist/interface/TickerHistory.d.ts +29 -0
  227. package/dist/{types/ticker/TickerMoveProps.js → interface/TickerHistory.js} +1 -1
  228. package/dist/interface/TickerHistory.mjs +3 -0
  229. package/dist/interface/TickerProgrationType.d.mts +13 -1
  230. package/dist/interface/TickerProgrationType.d.ts +13 -1
  231. package/dist/interface/TickerTimeoutHistory.d.mts +7 -0
  232. package/dist/interface/TickerTimeoutHistory.d.ts +7 -0
  233. package/dist/interface/TickerTimeoutHistory.js +4 -0
  234. package/dist/interface/TickerTimeoutHistory.mjs +3 -0
  235. package/dist/interface/canvas/ICanvasBaseMemory.d.mts +1 -1
  236. package/dist/interface/canvas/ICanvasBaseMemory.d.ts +1 -1
  237. package/dist/interface/canvas/ICanvasImageMemory.d.mts +1 -1
  238. package/dist/interface/canvas/ICanvasImageMemory.d.ts +1 -1
  239. package/dist/interface/canvas/ICanvasSpriteMemory.d.mts +0 -1
  240. package/dist/interface/canvas/ICanvasSpriteMemory.d.ts +0 -1
  241. package/dist/interface/canvas/ICanvasTextTextMemory.d.mts +0 -1
  242. package/dist/interface/canvas/ICanvasTextTextMemory.d.ts +0 -1
  243. package/dist/interface/export/ExportedCanvas.d.mts +11 -3
  244. package/dist/interface/export/ExportedCanvas.d.ts +11 -3
  245. package/dist/interface/export/ExportedStep.d.mts +7 -3
  246. package/dist/interface/export/ExportedStep.d.ts +7 -3
  247. package/dist/interface/export/index.d.mts +8 -4
  248. package/dist/interface/export/index.d.ts +8 -4
  249. package/dist/interface/index.d.mts +14 -11
  250. package/dist/interface/index.d.ts +14 -11
  251. package/dist/labels/BaseCanvasElementTestLabel.d.mts +9 -0
  252. package/dist/labels/BaseCanvasElementTestLabel.d.ts +9 -0
  253. package/dist/labels/BaseCanvasElementTestLabel.js +1888 -0
  254. package/dist/labels/BaseCanvasElementTestLabel.js.map +1 -0
  255. package/dist/labels/BaseCanvasElementTestLabel.mjs +1882 -0
  256. package/dist/labels/BaseCanvasElementTestLabel.mjs.map +1 -0
  257. package/dist/labels/CanvasEventsTestLabel.d.mts +27 -0
  258. package/dist/labels/CanvasEventsTestLabel.d.ts +27 -0
  259. package/dist/labels/CanvasEventsTestLabel.js +2822 -0
  260. package/dist/labels/CanvasEventsTestLabel.js.map +1 -0
  261. package/dist/labels/CanvasEventsTestLabel.mjs +2816 -0
  262. package/dist/labels/CanvasEventsTestLabel.mjs.map +1 -0
  263. package/dist/labels/CustomTickerCanvasElementTestLabel.d.mts +20 -0
  264. package/dist/labels/CustomTickerCanvasElementTestLabel.d.ts +20 -0
  265. package/dist/labels/CustomTickerCanvasElementTestLabel.js +2792 -0
  266. package/dist/labels/CustomTickerCanvasElementTestLabel.js.map +1 -0
  267. package/dist/labels/CustomTickerCanvasElementTestLabel.mjs +2786 -0
  268. package/dist/labels/CustomTickerCanvasElementTestLabel.mjs.map +1 -0
  269. package/dist/labels/ImagesAnimationsTestLabel.d.mts +9 -0
  270. package/dist/labels/ImagesAnimationsTestLabel.d.ts +9 -0
  271. package/dist/labels/ImagesAnimationsTestLabel.js +3378 -0
  272. package/dist/labels/ImagesAnimationsTestLabel.js.map +1 -0
  273. package/dist/labels/ImagesAnimationsTestLabel.mjs +3372 -0
  274. package/dist/labels/ImagesAnimationsTestLabel.mjs.map +1 -0
  275. package/dist/labels/MarkdownTest.d.mts +9 -0
  276. package/dist/labels/MarkdownTest.d.ts +9 -0
  277. package/dist/labels/MarkdownTest.js +2756 -0
  278. package/dist/labels/MarkdownTest.js.map +1 -0
  279. package/dist/labels/MarkdownTest.mjs +2750 -0
  280. package/dist/labels/MarkdownTest.mjs.map +1 -0
  281. package/dist/labels/StartLabel.d.mts +10 -0
  282. package/dist/labels/StartLabel.d.ts +10 -0
  283. package/dist/labels/StartLabel.js +3736 -0
  284. package/dist/labels/StartLabel.js.map +1 -0
  285. package/dist/labels/StartLabel.mjs +3729 -0
  286. package/dist/labels/StartLabel.mjs.map +1 -0
  287. package/dist/labels/TestConstant.d.mts +17 -0
  288. package/dist/labels/TestConstant.d.ts +17 -0
  289. package/dist/labels/TestConstant.js +1872 -0
  290. package/dist/labels/TestConstant.js.map +1 -0
  291. package/dist/labels/TestConstant.mjs +1856 -0
  292. package/dist/labels/TestConstant.mjs.map +1 -0
  293. package/dist/labels/TickerTestLabel.d.mts +9 -0
  294. package/dist/labels/TickerTestLabel.d.ts +9 -0
  295. package/dist/labels/TickerTestLabel.js +2675 -0
  296. package/dist/labels/TickerTestLabel.js.map +1 -0
  297. package/dist/labels/TickerTestLabel.mjs +2669 -0
  298. package/dist/labels/TickerTestLabel.mjs.map +1 -0
  299. package/dist/labels/index.d.mts +10 -0
  300. package/dist/labels/index.d.ts +10 -0
  301. package/dist/labels/index.js +3736 -0
  302. package/dist/labels/index.js.map +1 -0
  303. package/dist/labels/index.mjs +3729 -0
  304. package/dist/labels/index.mjs.map +1 -0
  305. package/dist/managers/StepManager.d.mts +21 -15
  306. package/dist/managers/StepManager.d.ts +21 -15
  307. package/dist/managers/StepManager.js +610 -251
  308. package/dist/managers/StepManager.js.map +1 -1
  309. package/dist/managers/StepManager.mjs +610 -251
  310. package/dist/managers/StepManager.mjs.map +1 -1
  311. package/dist/managers/WindowManager.d.mts +38 -24
  312. package/dist/managers/WindowManager.d.ts +38 -24
  313. package/dist/managers/WindowManager.js +356 -170
  314. package/dist/managers/WindowManager.js.map +1 -1
  315. package/dist/managers/WindowManager.mjs +352 -170
  316. package/dist/managers/WindowManager.mjs.map +1 -1
  317. package/dist/managers/index.d.mts +15 -14
  318. package/dist/managers/index.d.ts +15 -14
  319. package/dist/managers/index.js +612 -251
  320. package/dist/managers/index.js.map +1 -1
  321. package/dist/managers/index.mjs +612 -251
  322. package/dist/managers/index.mjs.map +1 -1
  323. package/dist/types/CanvasEventNamesType.d.mts +1 -1
  324. package/dist/types/CanvasEventNamesType.d.ts +1 -1
  325. package/dist/types/ChoiceMenuOptionsType.d.mts +2 -2
  326. package/dist/types/ChoiceMenuOptionsType.d.ts +2 -2
  327. package/dist/types/HistoryChoiceMenuOption.d.mts +22 -0
  328. package/dist/types/HistoryChoiceMenuOption.d.ts +22 -0
  329. package/dist/types/HistoryChoiceMenuOption.js +4 -0
  330. package/dist/types/HistoryChoiceMenuOption.mjs +3 -0
  331. package/dist/types/PauseType.d.mts +8 -4
  332. package/dist/types/PauseType.d.ts +8 -4
  333. package/dist/types/PauseType.js +0 -11
  334. package/dist/types/PauseType.js.map +1 -1
  335. package/dist/types/PauseType.mjs +0 -9
  336. package/dist/types/PauseType.mjs.map +1 -1
  337. package/dist/types/RepeatType.d.mts +1 -2
  338. package/dist/types/RepeatType.d.ts +1 -2
  339. package/dist/types/RepeatType.js +0 -4
  340. package/dist/types/RepeatType.js.map +1 -1
  341. package/dist/types/RepeatType.mjs +0 -3
  342. package/dist/types/RepeatType.mjs.map +1 -1
  343. package/dist/types/index.d.mts +5 -4
  344. package/dist/types/index.d.ts +5 -4
  345. package/dist/types/index.js +0 -15
  346. package/dist/types/index.js.map +1 -1
  347. package/dist/types/index.mjs +1 -13
  348. package/dist/types/index.mjs.map +1 -1
  349. package/dist/types/ticker/{TickerFadeAlphaProps.d.mts → FadeAlphaTickerProps.d.mts} +9 -5
  350. package/dist/types/ticker/{TickerFadeAlphaProps.d.ts → FadeAlphaTickerProps.d.ts} +9 -5
  351. package/dist/types/ticker/FadeAlphaTickerProps.js +4 -0
  352. package/dist/types/ticker/FadeAlphaTickerProps.js.map +1 -0
  353. package/dist/types/ticker/FadeAlphaTickerProps.mjs +3 -0
  354. package/dist/types/ticker/FadeAlphaTickerProps.mjs.map +1 -0
  355. package/dist/types/ticker/{TickerMoveProps.d.mts → MoveTickerProps.d.mts} +14 -5
  356. package/dist/types/ticker/{TickerMoveProps.d.ts → MoveTickerProps.d.ts} +14 -5
  357. package/dist/types/ticker/{TickerRotateProps.js → MoveTickerProps.js} +1 -1
  358. package/dist/types/ticker/MoveTickerProps.js.map +1 -0
  359. package/dist/types/ticker/MoveTickerProps.mjs +3 -0
  360. package/dist/types/ticker/MoveTickerProps.mjs.map +1 -0
  361. package/dist/types/ticker/{TickerRotateProps.d.mts → RotateTickerProps.d.mts} +10 -4
  362. package/dist/types/ticker/{TickerRotateProps.d.ts → RotateTickerProps.d.ts} +10 -4
  363. package/dist/types/ticker/RotateTickerProps.js +4 -0
  364. package/dist/types/ticker/RotateTickerProps.js.map +1 -0
  365. package/dist/types/ticker/RotateTickerProps.mjs +3 -0
  366. package/dist/types/ticker/RotateTickerProps.mjs.map +1 -0
  367. package/dist/types/ticker/TagToRemoveAfterType.d.mts +4 -0
  368. package/dist/types/ticker/TagToRemoveAfterType.d.ts +4 -0
  369. package/dist/types/ticker/TagToRemoveAfterType.js +8 -0
  370. package/dist/types/ticker/TagToRemoveAfterType.js.map +1 -0
  371. package/dist/types/ticker/TagToRemoveAfterType.mjs +6 -0
  372. package/dist/types/ticker/TagToRemoveAfterType.mjs.map +1 -0
  373. package/dist/types/ticker/ZoomTickerProps.d.mts +45 -0
  374. package/dist/types/ticker/ZoomTickerProps.d.ts +45 -0
  375. package/dist/types/ticker/ZoomTickerProps.js +4 -0
  376. package/dist/types/ticker/ZoomTickerProps.js.map +1 -0
  377. package/dist/types/ticker/ZoomTickerProps.mjs +3 -0
  378. package/dist/types/ticker/ZoomTickerProps.mjs.map +1 -0
  379. package/dist/types/ticker/index.d.mts +4 -2
  380. package/dist/types/ticker/index.d.ts +4 -2
  381. package/package.json +7 -7
  382. package/dist/classes/ticker/TickerFadeAlpha.d.mts +0 -31
  383. package/dist/classes/ticker/TickerFadeAlpha.d.ts +0 -31
  384. package/dist/classes/ticker/TickerFadeAlpha.js.map +0 -1
  385. package/dist/classes/ticker/TickerFadeAlpha.mjs.map +0 -1
  386. package/dist/classes/ticker/TickerMove.d.mts +0 -29
  387. package/dist/classes/ticker/TickerMove.d.ts +0 -29
  388. package/dist/classes/ticker/TickerMove.js.map +0 -1
  389. package/dist/classes/ticker/TickerMove.mjs.map +0 -1
  390. package/dist/classes/ticker/TickerRotate.d.mts +0 -30
  391. package/dist/classes/ticker/TickerRotate.d.ts +0 -30
  392. package/dist/classes/ticker/TickerRotate.js.map +0 -1
  393. package/dist/classes/ticker/TickerRotate.mjs.map +0 -1
  394. package/dist/functions/ErrorUtility.d.mts +0 -24
  395. package/dist/functions/ErrorUtility.d.ts +0 -24
  396. package/dist/functions/ErrorUtility.js +0 -261
  397. package/dist/functions/ErrorUtility.js.map +0 -1
  398. package/dist/functions/ErrorUtility.mjs +0 -258
  399. package/dist/functions/ErrorUtility.mjs.map +0 -1
  400. package/dist/interface/IClassWithArgsHistory.d.mts +0 -25
  401. package/dist/interface/IClassWithArgsHistory.d.ts +0 -25
  402. package/dist/interface/IClassWithArgsHistory.js +0 -4
  403. package/dist/interface/IClassWithArgsHistory.mjs +0 -3
  404. package/dist/types/ticker/TickerFadeAlphaProps.js +0 -4
  405. package/dist/types/ticker/TickerFadeAlphaProps.mjs +0 -3
  406. package/dist/types/ticker/TickerMoveProps.mjs +0 -3
  407. package/dist/types/ticker/TickerRotateProps.mjs +0 -3
  408. /package/dist/interface/{IClassWithArgsHistory.js.map → CharacterBaseModelProps.js.map} +0 -0
  409. /package/dist/interface/{IClassWithArgsHistory.mjs.map → CharacterBaseModelProps.mjs.map} +0 -0
  410. /package/dist/{types/ticker/TickerFadeAlphaProps.js.map → interface/TickerHistory.js.map} +0 -0
  411. /package/dist/{types/ticker/TickerFadeAlphaProps.mjs.map → interface/TickerHistory.mjs.map} +0 -0
  412. /package/dist/{types/ticker/TickerMoveProps.js.map → interface/TickerTimeoutHistory.js.map} +0 -0
  413. /package/dist/{types/ticker/TickerMoveProps.mjs.map → interface/TickerTimeoutHistory.mjs.map} +0 -0
  414. /package/dist/types/{ticker/TickerRotateProps.js.map → HistoryChoiceMenuOption.js.map} +0 -0
  415. /package/dist/types/{ticker/TickerRotateProps.mjs.map → HistoryChoiceMenuOption.mjs.map} +0 -0
@@ -2,7 +2,11 @@
2
2
 
3
3
  var pixi_js = require('pixi.js');
4
4
  require('deep-diff');
5
- require('crypto-js/sha1');
5
+ var sha1 = require('crypto-js/sha1');
6
+
7
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
8
+
9
+ var sha1__default = /*#__PURE__*/_interopDefault(sha1);
6
10
 
7
11
  var __defProp = Object.defineProperty;
8
12
  var __defProps = Object.defineProperties;
@@ -29,8 +33,7 @@ var __decorateClass = (decorators, target, key, kind) => {
29
33
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
30
34
  if (decorator = decorators[i])
31
35
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
32
- if (kind && result)
33
- __defProp(target, key, result);
36
+ if (kind && result) __defProp(target, key, result);
34
37
  return result;
35
38
  };
36
39
  var __async = (__this, __arguments, generator) => {
@@ -66,17 +69,23 @@ function exportCanvasElement(element) {
66
69
  return element.memory;
67
70
  }
68
71
  function importCanvasElement(memory) {
69
- let element = getCanvasElementInstanceByClassName(memory.className);
72
+ let element = getCanvasElementInstanceById(memory.pixivnId);
70
73
  if (element) {
71
74
  element.memory = memory;
72
75
  } else {
73
- throw new Error("[Pixi'VN] The element " + memory.className + " could not be created");
76
+ throw new Error("[Pixi'VN] The element " + memory.pixivnId + " could not be created");
74
77
  }
75
78
  return element;
76
79
  }
77
80
 
78
81
  // src/classes/canvas/CanvasContainer.ts
82
+ var CANVAS_CONTAINER_ID = "CanvasContainer";
79
83
  var CanvasContainer = class extends pixi_js.Container {
84
+ constructor(options) {
85
+ super(options);
86
+ this.pixivnId = CANVAS_CONTAINER_ID;
87
+ this.pixivnId = this.constructor.prototype.pixivnId;
88
+ }
80
89
  get memory() {
81
90
  let memory = getMemoryContainer(this);
82
91
  this.children.forEach((child) => {
@@ -92,8 +101,12 @@ var CanvasContainer = class extends pixi_js.Container {
92
101
  }
93
102
  };
94
103
  function getMemoryContainer(element) {
104
+ let className = "CanvasContainer";
105
+ if (element.hasOwnProperty("pixivnId")) {
106
+ className = element.pixivnId;
107
+ }
95
108
  return {
96
- className: "CanvasContainer",
109
+ pixivnId: className,
97
110
  elements: [],
98
111
  width: element.width,
99
112
  height: element.height,
@@ -209,40 +222,43 @@ function getTextStyle(style) {
209
222
 
210
223
  // src/decorators/EventDecorator.ts
211
224
  var registeredEvents = {};
212
- function getEventTypeByClassName(eventName) {
225
+ function getEventTypeById(eventId) {
213
226
  try {
214
- let eventType = registeredEvents[eventName];
227
+ let eventType = registeredEvents[eventId];
215
228
  if (!eventType) {
216
- console.error(`[Pixi'VN] Event ${eventName} not found`);
229
+ console.error(`[Pixi'VN] Event ${eventId} not found`);
217
230
  return;
218
231
  }
219
232
  new eventType();
220
233
  return eventType;
221
234
  } catch (e) {
222
- console.error(`[Pixi'VN] Error while getting Event ${eventName}`, e);
235
+ console.error(`[Pixi'VN] Error while getting Event ${eventId}`, e);
223
236
  return;
224
237
  }
225
238
  }
226
- function getEventInstanceByClassName(eventName) {
239
+ function getEventInstanceById(eventId) {
227
240
  try {
228
- let eventType = registeredEvents[eventName];
241
+ let eventType = registeredEvents[eventId];
229
242
  if (!eventType) {
230
- console.error(`[Pixi'VN] Event ${eventName} not found`);
243
+ console.error(`[Pixi'VN] Event ${eventId} not found`);
231
244
  return;
232
245
  }
233
246
  let event = new eventType();
234
247
  return event;
235
248
  } catch (e) {
236
- console.error(`[Pixi'VN] Error while getting Event ${eventName}`, e);
249
+ console.error(`[Pixi'VN] Error while getting Event ${eventId}`, e);
237
250
  return;
238
251
  }
239
252
  }
240
253
 
241
254
  // src/classes/canvas/CanvasSprite.ts
255
+ var CANVAS_SPRITE_ID = "CanvasSprite";
242
256
  var CanvasSprite = class _CanvasSprite extends pixi_js.Sprite {
243
- constructor() {
244
- super(...arguments);
257
+ constructor(options) {
258
+ super(options);
259
+ this.pixivnId = CANVAS_SPRITE_ID;
245
260
  this._onEvents = {};
261
+ this.pixivnId = this.constructor.prototype.pixivnId;
246
262
  }
247
263
  get memory() {
248
264
  return getMemorySprite(this);
@@ -283,9 +299,9 @@ var CanvasSprite = class _CanvasSprite extends pixi_js.Sprite {
283
299
  * ```
284
300
  */
285
301
  onEvent(event, eventClass) {
286
- let className = eventClass.name;
287
- let instance = getEventInstanceByClassName(className);
288
- this._onEvents[event] = className;
302
+ let id = eventClass.prototype.id;
303
+ let instance = getEventInstanceById(id);
304
+ this._onEvents[event] = id;
289
305
  if (instance) {
290
306
  super.on(event, () => {
291
307
  instance.fn(event, this);
@@ -314,7 +330,7 @@ var CanvasSprite = class _CanvasSprite extends pixi_js.Sprite {
314
330
  function getMemorySprite(element) {
315
331
  let temp = getMemoryContainer(element);
316
332
  return __spreadProps(__spreadValues({}, temp), {
317
- className: "CanvasSprite",
333
+ pixivnId: element.pixivnId,
318
334
  textureImage: getTextureMemory(element.texture),
319
335
  anchor: { x: element.anchor.x, y: element.anchor.y },
320
336
  roundPixels: element.roundPixels,
@@ -337,8 +353,8 @@ function setMemorySprite(element, memory) {
337
353
  }
338
354
  memory.roundPixels && (element.roundPixels = memory.roundPixels);
339
355
  for (let event in memory.onEvents) {
340
- let className = memory.onEvents[event];
341
- let instance = getEventTypeByClassName(className);
356
+ let id = memory.onEvents[event];
357
+ let instance = getEventTypeById(id);
342
358
  if (instance) {
343
359
  element.onEvent(event, instance);
344
360
  }
@@ -346,9 +362,11 @@ function setMemorySprite(element, memory) {
346
362
  }
347
363
 
348
364
  // src/classes/canvas/CanvasImage.ts
365
+ var CANVAS_IMAGE_ID = "CanvasImage";
349
366
  var CanvasImage = class _CanvasImage extends CanvasSprite {
350
367
  constructor(options, imageLink) {
351
368
  super(options);
369
+ this.pixivnId = CANVAS_IMAGE_ID;
352
370
  this.imageLink = "";
353
371
  if (imageLink) {
354
372
  this.imageLink = imageLink;
@@ -356,12 +374,13 @@ var CanvasImage = class _CanvasImage extends CanvasSprite {
356
374
  }
357
375
  get memory() {
358
376
  return __spreadProps(__spreadValues({}, getMemorySprite(this)), {
359
- className: "CanvasImage",
360
- textureImage: { image: this.imageLink }
377
+ pixivnId: this.pixivnId,
378
+ imageLink: this.imageLink
361
379
  });
362
380
  }
363
381
  set memory(memory) {
364
382
  setMemorySprite(this, memory);
383
+ this.imageLink = memory.imageLink;
365
384
  }
366
385
  static from(source, skipCache) {
367
386
  let sprite = pixi_js.Sprite.from(source, skipCache);
@@ -389,10 +408,13 @@ var CanvasImage = class _CanvasImage extends CanvasSprite {
389
408
  });
390
409
  }
391
410
  };
411
+ var CANVAS_TEXT_ID = "CanvasText";
392
412
  var CanvasText = class extends pixi_js.Text {
393
- constructor() {
394
- super(...arguments);
413
+ constructor(options) {
414
+ super(options);
415
+ this.pixivnId = CANVAS_TEXT_ID;
395
416
  this._onEvents = {};
417
+ this.pixivnId = this.constructor.prototype.pixivnId;
396
418
  }
397
419
  get memory() {
398
420
  return getMemoryText(this);
@@ -433,9 +455,9 @@ var CanvasText = class extends pixi_js.Text {
433
455
  * ```
434
456
  */
435
457
  onEvent(event, eventClass) {
436
- let className = eventClass.name;
437
- let instance = getEventInstanceByClassName(className);
438
- this._onEvents[event] = className;
458
+ let id = eventClass.prototype.id;
459
+ let instance = getEventInstanceById(id);
460
+ this._onEvents[event] = id;
439
461
  if (instance) {
440
462
  super.on(event, () => {
441
463
  instance.fn(event, this);
@@ -458,7 +480,7 @@ var CanvasText = class extends pixi_js.Text {
458
480
  function getMemoryText(element) {
459
481
  let temp = getMemoryContainer(element);
460
482
  return __spreadProps(__spreadValues({}, temp), {
461
- className: "CanvasText",
483
+ pixivnId: element.pixivnId,
462
484
  anchor: { x: element.anchor.x, y: element.anchor.y },
463
485
  text: element.text,
464
486
  resolution: element.resolution,
@@ -481,8 +503,8 @@ function setMemoryText(element, memory) {
481
503
  memory.style && (element.style = memory.style);
482
504
  memory.roundPixels && (element.roundPixels = memory.roundPixels);
483
505
  for (let event in memory.onEvents) {
484
- let className = memory.onEvents[event];
485
- let instance = getEventTypeByClassName(className);
506
+ let id = memory.onEvents[event];
507
+ let instance = getEventTypeById(id);
486
508
  if (instance) {
487
509
  element.onEvent(event, instance);
488
510
  }
@@ -491,75 +513,72 @@ function setMemoryText(element, memory) {
491
513
 
492
514
  // src/decorators/CanvasElementDecorator.ts
493
515
  var registeredCanvasElement = {};
494
- function getCanvasElementInstanceByClassName(canvasName) {
516
+ function getCanvasElementInstanceById(canvasId) {
495
517
  try {
496
- let eventType = registeredCanvasElement[canvasName];
518
+ let eventType = registeredCanvasElement[canvasId];
497
519
  if (!eventType) {
498
- if (canvasName === "CanvasContainer") {
520
+ if (canvasId === CANVAS_CONTAINER_ID) {
499
521
  eventType = CanvasContainer;
500
- } else if (canvasName === "CanvasImage") {
522
+ } else if (canvasId === CANVAS_IMAGE_ID) {
501
523
  eventType = CanvasImage;
502
- } else if (canvasName === "CanvasSprite") {
524
+ } else if (canvasId === CANVAS_SPRITE_ID) {
503
525
  eventType = CanvasSprite;
504
- } else if (canvasName === "CanvasText") {
526
+ } else if (canvasId === CANVAS_TEXT_ID) {
505
527
  eventType = CanvasText;
506
528
  }
507
529
  }
508
530
  if (!eventType) {
509
- console.error(`[Pixi'VN] CanvasElement ${canvasName} not found`);
531
+ console.error(`[Pixi'VN] CanvasElement ${canvasId} not found`);
510
532
  return;
511
533
  }
512
534
  let canvasElement = new eventType();
513
535
  return canvasElement;
514
536
  } catch (e) {
515
- console.error(`[Pixi'VN] Error while getting CanvasElement ${canvasName}`, e);
537
+ console.error(`[Pixi'VN] Error while getting CanvasElement ${canvasId}`, e);
516
538
  return;
517
539
  }
518
540
  }
519
541
 
520
- // src/types/PauseType.ts
521
- var PauseValueType = "pause";
522
-
523
- // src/types/RepeatType.ts
524
- var Repeat = "repeat";
525
-
526
542
  // src/classes/ticker/TickerBase.ts
527
543
  var TickerBase = class {
528
544
  /**
529
545
  * @param args The arguments that you want to pass to the ticker.
530
- * @param duration The duration of the ticker. If is undefined, the ticker will be called every frame.
531
- * @param priority The priority of the ticker. If is undefined, the priority will be UPDATE_PRIORITY.NORMAL.
546
+ * @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
547
+ * @param priority The priority of the ticker. @default UPDATE_PRIORITY.NORMAL
532
548
  */
533
549
  constructor(args, duration, priority) {
550
+ /**
551
+ * Get the id of the ticker. This variable is used in the system to get the ticker by id, {@link geTickerInstanceById}
552
+ */
553
+ this.id = "ticker_id_not_set";
534
554
  this.args = args;
535
555
  this.duration = duration;
536
556
  this.priority = priority;
557
+ this.id = this.constructor.prototype.id;
537
558
  }
538
559
  /**
539
560
  * The method that will be called every frame.
540
561
  * This method should be overridden and you can use GameWindowManager.addCanvasElement() to get the canvas element of the canvas, and edit them.
541
- * @param t The ticker that is calling this method
542
- * @param args The arguments that you passed when you added the ticker
543
- * @param tags The tags of the canvas elements that are connected to this ticker
562
+ * @param _ticker The ticker that is calling this method
563
+ * @param _args The arguments that you passed when you added the ticker
564
+ * @param _tags The tags of the canvas elements that are connected to this ticker
565
+ * @param _tickerId The id of the ticker. You can use this to get the ticker from the {@link GameWindowManager.currentTickers}
544
566
  */
545
- fn(_t, _args, _tags) {
567
+ fn(_ticker, _args, _tags, _tickerId) {
546
568
  throw new Error("[Pixi'VN] The method TickerBase.fn() must be overridden");
547
569
  }
548
570
  };
549
- var TickerFadeAlpha = class extends TickerBase {
550
- /**
551
- * The method that will be called every frame to fade the alpha of the canvas element of the canvas.
552
- * @param delta The delta time
553
- * @param args The arguments that are passed to the ticker
554
- * @param tags The tags of the canvas element that are connected to this ticker
555
- */
556
- fn(t, args, tags) {
571
+
572
+ // src/classes/ticker/FadeAlphaTicker.ts
573
+ var FadeAlphaTicker = class extends TickerBase {
574
+ fn(ticker, args, tags, tickerId) {
557
575
  let type = args.type === void 0 ? "hide" : args.type;
558
- let speed = args.speed === void 0 ? 0.1 : args.speed;
576
+ let duration = args.duration === void 0 ? 1 : args.duration;
577
+ let speed = 1 / (duration * 60);
559
578
  let limit = args.limit === void 0 ? type === "hide" ? 0 : 1 : args.limit;
560
- let removeElementAfter = args.tagToRemoveAfter || [];
561
- if (typeof removeElementAfter === "string") {
562
- removeElementAfter = [removeElementAfter];
579
+ let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
580
+ if (typeof tagToRemoveAfter2 === "string") {
581
+ tagToRemoveAfter2 = [tagToRemoveAfter2];
563
582
  }
564
583
  if (type === "hide" && limit < 0) {
565
584
  limit = 0;
@@ -580,61 +599,76 @@ var TickerFadeAlpha = class extends TickerBase {
580
599
  let element = GameWindowManager.getCanvasElement(tag);
581
600
  if (element && element instanceof pixi_js.Container) {
582
601
  if (type === "show" && element.alpha < limit) {
583
- element.alpha += speed * t.deltaTime;
602
+ element.alpha += speed * ticker.deltaTime;
584
603
  } else if (type === "hide" && element.alpha > limit) {
585
- element.alpha -= speed * t.deltaTime;
586
- } else {
604
+ element.alpha -= speed * ticker.deltaTime;
605
+ }
606
+ if (type === "show" && element.alpha >= limit) {
607
+ element.alpha = limit;
608
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
609
+ } else if (type === "hide" && element.alpha <= limit) {
587
610
  element.alpha = limit;
588
- GameWindowManager.removeAssociationBetweenTickerCanvasElement(tag, this);
589
- GameWindowManager.removeCanvasElement(removeElementAfter);
611
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
590
612
  }
591
613
  }
592
614
  });
593
615
  }
594
616
  };
595
- TickerFadeAlpha = __decorateClass([
617
+ FadeAlphaTicker = __decorateClass([
596
618
  tickerDecorator()
597
- ], TickerFadeAlpha);
619
+ ], FadeAlphaTicker);
598
620
 
599
621
  // src/functions/TickerUtility.ts
600
622
  function updateTickerProgression(args, propertyName, progression) {
601
- if (args.hasOwnProperty(propertyName) && typeof args[propertyName] !== "number") {
623
+ if (args[propertyName] === void 0 || !progression || args[propertyName] === progression.limit) {
602
624
  return;
603
625
  }
604
- if (args[propertyName] !== void 0 && progression && args[propertyName] !== progression.limit) {
626
+ if (typeof args[propertyName] === "number") {
605
627
  if (progression.type === "linear") {
606
- args[propertyName] += progression.amt;
607
- if (progression.limit !== void 0) {
608
- if (args[propertyName] > progression.limit && progression.amt > 0) {
609
- args[propertyName] = progression.limit;
610
- } else if (args[propertyName] < progression.limit && progression.amt < 0) {
611
- args[propertyName] = progression.limit;
612
- }
613
- }
628
+ args[propertyName] = getLinearProgression(args[propertyName], progression);
614
629
  } else if (progression.type === "exponential") {
615
- args[propertyName] += args[propertyName] * progression.percentage;
616
- if (progression.limit !== void 0) {
617
- if (args[propertyName] > progression.limit && progression.percentage > 0) {
618
- args[propertyName] = progression.limit;
619
- } else if (args[propertyName] < progression.limit && progression.percentage < 0) {
620
- args[propertyName] = progression.limit;
621
- }
622
- }
630
+ args[propertyName] = getExponentialProgression(args[propertyName], progression);
631
+ }
632
+ } 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") {
633
+ if (progression.type === "linear") {
634
+ args[propertyName].x = getLinearProgression(args[propertyName].x, progression);
635
+ args[propertyName].y = getLinearProgression(args[propertyName].y, progression);
636
+ } else if (progression.type === "exponential") {
637
+ args[propertyName].x = getExponentialProgression(args[propertyName].x, progression);
638
+ args[propertyName].y = getExponentialProgression(args[propertyName].y, progression);
639
+ }
640
+ }
641
+ }
642
+ function getLinearProgression(number, progression) {
643
+ if (progression.limit !== void 0) {
644
+ if (number > progression.limit && progression.amt > 0) {
645
+ return progression.limit;
646
+ } else if (number < progression.limit && progression.amt < 0) {
647
+ return progression.limit;
623
648
  }
624
649
  }
650
+ return number + progression.amt / 60;
651
+ }
652
+ function getExponentialProgression(number, progression) {
653
+ if (progression.limit !== void 0) {
654
+ if (number > progression.limit && progression.percentage > 0) {
655
+ return progression.limit;
656
+ } else if (number < progression.limit && progression.percentage < 0) {
657
+ return progression.limit;
658
+ }
659
+ }
660
+ return number + number * progression.percentage;
625
661
  }
626
662
 
627
- // src/classes/ticker/TickerRotate.ts
628
- var TickerRotate = class extends TickerBase {
629
- /**
630
- * The method that will be called every frame to rotate the canvas element of the canvas.
631
- * @param delta The delta time
632
- * @param args The arguments that are passed to the ticker
633
- * @param tags The tags of the canvas element that are connected to this ticker
634
- */
635
- fn(t, args, tags) {
636
- let speed = args.speed === void 0 ? 0.1 : args.speed;
663
+ // src/classes/ticker/RotateTicker.ts
664
+ var RotateTicker = class extends TickerBase {
665
+ fn(ticker, args, tags, tickerId) {
666
+ let speed = (args.speed === void 0 ? 1 : args.speed) / 60;
637
667
  let clockwise = args.clockwise === void 0 ? true : args.clockwise;
668
+ let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
669
+ if (typeof tagToRemoveAfter2 === "string") {
670
+ tagToRemoveAfter2 = [tagToRemoveAfter2];
671
+ }
638
672
  tags.filter((tag) => {
639
673
  var _a;
640
674
  let element = GameWindowManager.getCanvasElement(tag);
@@ -648,18 +682,114 @@ var TickerRotate = class extends TickerBase {
648
682
  let element = GameWindowManager.getCanvasElement(tag);
649
683
  if (element && element instanceof pixi_js.Container) {
650
684
  if (clockwise)
651
- element.rotation += speed * t.deltaTime;
685
+ element.rotation += speed * ticker.deltaTime;
652
686
  else
653
- element.rotation -= speed * t.deltaTime;
687
+ element.rotation -= speed * ticker.deltaTime;
688
+ if (speed < 1e-5 && !(args.speedProgression && args.speedProgression.type == "linear" && args.speedProgression.amt != 0)) {
689
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
690
+ }
691
+ }
692
+ });
693
+ if (args.speedProgression)
694
+ updateTickerProgression(args, "speed", args.speedProgression);
695
+ }
696
+ };
697
+ RotateTicker = __decorateClass([
698
+ tickerDecorator()
699
+ ], RotateTicker);
700
+ var ZoomTicker = class extends TickerBase {
701
+ fn(ticker, args, tags, tickerId) {
702
+ let xSpeed = 0.1;
703
+ let ySpeed = 0.1;
704
+ if (args.speed) {
705
+ if (typeof args.speed === "number") {
706
+ xSpeed = args.speed;
707
+ ySpeed = args.speed;
708
+ } else {
709
+ xSpeed = args.speed.x;
710
+ ySpeed = args.speed.y;
711
+ }
712
+ }
713
+ xSpeed /= 60;
714
+ ySpeed /= 60;
715
+ let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
716
+ if (typeof tagToRemoveAfter2 === "string") {
717
+ tagToRemoveAfter2 = [tagToRemoveAfter2];
718
+ }
719
+ let type = args.type || "zoom";
720
+ let xLimit = type === "zoom" ? Infinity : 0;
721
+ let yLimit = type === "zoom" ? Infinity : 0;
722
+ if (args.limit) {
723
+ if (typeof args.limit === "number") {
724
+ xLimit = args.limit;
725
+ yLimit = args.limit;
726
+ } else {
727
+ xLimit = args.limit.x;
728
+ yLimit = args.limit.y;
729
+ }
730
+ }
731
+ tags.filter((tag) => {
732
+ var _a;
733
+ let element = GameWindowManager.getCanvasElement(tag);
734
+ if (args.startOnlyIfHaveTexture) {
735
+ if (element && element instanceof pixi_js.Sprite && ((_a = element.texture) == null ? void 0 : _a.label) == "EMPTY") {
736
+ return false;
737
+ }
738
+ }
739
+ return true;
740
+ }).forEach((tag) => {
741
+ let element = GameWindowManager.getCanvasElement(tag);
742
+ if (element && element instanceof pixi_js.Container) {
743
+ if (type === "zoom" && (element.scale.x < xLimit || element.scale.y < yLimit)) {
744
+ element.scale.x += xSpeed * ticker.deltaTime;
745
+ element.scale.y += ySpeed * ticker.deltaTime;
746
+ } else if (type === "unzoom" && (element.scale.x > xLimit || element.scale.y > yLimit)) {
747
+ element.scale.x -= xSpeed * ticker.deltaTime;
748
+ element.scale.y -= ySpeed * ticker.deltaTime;
749
+ }
750
+ if (type === "zoom") {
751
+ if (element.scale.x > xLimit) {
752
+ element.scale.x = xLimit;
753
+ }
754
+ if (element.scale.y > yLimit) {
755
+ element.scale.y = yLimit;
756
+ }
757
+ if (element.scale.x >= xLimit && element.scale.y >= yLimit) {
758
+ element.scale.x = xLimit;
759
+ element.scale.y = yLimit;
760
+ this.onEndOfTicker(tag, tickerId, element, tagToRemoveAfter2);
761
+ }
762
+ } else if (type === "unzoom") {
763
+ if (element.scale.x < xLimit) {
764
+ element.scale.x = xLimit;
765
+ }
766
+ if (element.scale.y < yLimit) {
767
+ element.scale.y = yLimit;
768
+ }
769
+ if (element.scale.x <= xLimit && element.scale.y <= yLimit) {
770
+ element.scale.x = xLimit;
771
+ element.scale.y = yLimit;
772
+ this.onEndOfTicker(tag, tickerId, element, tagToRemoveAfter2);
773
+ }
774
+ }
775
+ if (xSpeed < 1e-5 && ySpeed < 1e-5 && !(args.speedProgression && args.speedProgression.type == "linear" && args.speedProgression.amt != 0)) {
776
+ this.onEndOfTicker(tag, tickerId, element, tagToRemoveAfter2);
777
+ }
654
778
  }
655
779
  });
656
780
  if (args.speedProgression)
657
781
  updateTickerProgression(args, "speed", args.speedProgression);
658
782
  }
783
+ onEndOfTicker(tag, tickerId, _element, tagToRemoveAfter2) {
784
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
785
+ }
659
786
  };
660
- TickerRotate = __decorateClass([
787
+ ZoomTicker = __decorateClass([
661
788
  tickerDecorator()
662
- ], TickerRotate);
789
+ ], ZoomTicker);
790
+
791
+ // src/constants.ts
792
+ var Repeat = "repeat";
663
793
 
664
794
  // src/functions/ExportUtility.ts
665
795
  function createExportableElement(element) {
@@ -680,21 +810,22 @@ function tickerDecorator(name) {
680
810
  name = target.name;
681
811
  }
682
812
  if (registeredTickers[name]) {
683
- console.warn(`[Pixi'VN] Ticker ${name} already exists, it will be overwritten`);
813
+ console.info(`[Pixi'VN] Ticker ${name} already exists, it will be overwritten`);
684
814
  }
815
+ target.prototype.id = name;
685
816
  registeredTickers[name] = target;
686
817
  };
687
818
  }
688
- function geTickerInstanceByClassName(tickerName, args, duration, priority) {
819
+ function geTickerInstanceById(tickerId, args, duration, priority) {
689
820
  try {
690
- let ticker = registeredTickers[tickerName];
821
+ let ticker = registeredTickers[tickerId];
691
822
  if (!ticker) {
692
- console.error(`[Pixi'VN] Ticker ${tickerName} not found`);
823
+ console.error(`[Pixi'VN] Ticker ${tickerId} not found`);
693
824
  return;
694
825
  }
695
826
  return new ticker(args, duration, priority);
696
827
  } catch (e) {
697
- console.error(`[Pixi'VN] Error while getting Ticker ${tickerName}`, e);
828
+ console.error(`[Pixi'VN] Error while getting Ticker ${tickerId}`, e);
698
829
  return;
699
830
  }
700
831
  }
@@ -710,6 +841,9 @@ function asciiArtLog() {
710
841
  `);
711
842
  }
712
843
 
844
+ // src/types/ticker/TagToRemoveAfterType.ts
845
+ var tagToRemoveAfter = "tagToRemoveAfter";
846
+
713
847
  // src/managers/WindowManager.ts
714
848
  var _GameWindowManager = class _GameWindowManager {
715
849
  constructor() {
@@ -892,25 +1026,25 @@ var _GameWindowManager = class _GameWindowManager {
892
1026
  /**
893
1027
  * Remove a canvas element from the canvas.
894
1028
  * And remove all tickers that are not connected to any canvas element.
895
- * @param tag The tag of the canvas element to be removed.
1029
+ * @param tags The tag of the canvas element to be removed.
896
1030
  * @returns
897
1031
  * @example
898
1032
  * ```typescript
899
1033
  * GameWindowManager.removeCanvasElement("bunny");
900
1034
  * ```
901
1035
  */
902
- static removeCanvasElement(tag) {
903
- if (typeof tag === "string") {
904
- tag = [tag];
1036
+ static removeCanvasElement(tags) {
1037
+ if (typeof tags === "string") {
1038
+ tags = [tags];
905
1039
  }
906
- tag.forEach((t) => {
907
- if (_GameWindowManager._children[t]) {
908
- _GameWindowManager.app.stage.removeChild(_GameWindowManager._children[t]);
909
- delete _GameWindowManager._children[t];
1040
+ tags.forEach((tag) => {
1041
+ if (_GameWindowManager._children[tag]) {
1042
+ _GameWindowManager.app.stage.removeChild(_GameWindowManager._children[tag]);
1043
+ delete _GameWindowManager._children[tag];
1044
+ _GameWindowManager.removeTickerByCanvasElement(tag);
910
1045
  }
911
1046
  });
912
- _GameWindowManager.removeTickersWithoutAssociatedCanvasElement();
913
- _GameWindowManager.childrenTagsOrder = _GameWindowManager.childrenTagsOrder.filter((t) => !tag.includes(t));
1047
+ _GameWindowManager.childrenTagsOrder = _GameWindowManager.childrenTagsOrder.filter((t) => !tags.includes(t));
914
1048
  }
915
1049
  /**
916
1050
  * Get a canvas element by the tag.
@@ -940,18 +1074,43 @@ var _GameWindowManager = class _GameWindowManager {
940
1074
  _GameWindowManager.app.stage.removeChildren();
941
1075
  _GameWindowManager._children = {};
942
1076
  _GameWindowManager.childrenTagsOrder = [];
943
- _GameWindowManager.removeTickers();
1077
+ _GameWindowManager.removeAllTickers();
944
1078
  }
945
1079
  /**
946
1080
  * Edit the tag of a canvas element.
947
1081
  * @param oldTag The old tag of the canvas element.
948
1082
  * @param newTag The new tag of the canvas element.
949
1083
  */
950
- static editTagCanvasElement(oldTag, newTag) {
1084
+ static editCanvasElementTag(oldTag, newTag) {
951
1085
  if (_GameWindowManager._children[oldTag]) {
952
1086
  _GameWindowManager._children[newTag] = _GameWindowManager._children[oldTag];
953
1087
  delete _GameWindowManager._children[oldTag];
954
1088
  }
1089
+ if (_GameWindowManager._currentTickersSteps[oldTag]) {
1090
+ _GameWindowManager._currentTickersSteps[newTag] = _GameWindowManager._currentTickersSteps[oldTag];
1091
+ delete _GameWindowManager._currentTickersSteps[oldTag];
1092
+ }
1093
+ for (let id in _GameWindowManager._currentTickers) {
1094
+ let ticker = _GameWindowManager._currentTickers[id];
1095
+ if (ticker.canvasElementTags.includes(oldTag)) {
1096
+ ticker.canvasElementTags = ticker.canvasElementTags.map((t) => t === oldTag ? newTag : t);
1097
+ if (ticker.args.hasOwnProperty(tagToRemoveAfter)) {
1098
+ let tagToRemoveAfter2 = ticker.args.tagToRemoveAfter;
1099
+ if (typeof tagToRemoveAfter2 === "string") {
1100
+ tagToRemoveAfter2 = [tagToRemoveAfter2];
1101
+ }
1102
+ if (Array.isArray(tagToRemoveAfter2)) {
1103
+ ticker.args.tagToRemoveAfter = tagToRemoveAfter2.map((t) => t === oldTag ? newTag : t);
1104
+ }
1105
+ }
1106
+ }
1107
+ }
1108
+ for (let timeout in _GameWindowManager._currentTickersTimeouts) {
1109
+ let TickerTimeout = _GameWindowManager._currentTickersTimeouts[timeout];
1110
+ if (TickerTimeout.tags.includes(oldTag)) {
1111
+ TickerTimeout.tags = TickerTimeout.tags.map((t) => t === oldTag ? newTag : t);
1112
+ }
1113
+ }
955
1114
  }
956
1115
  /** Edit Tickers Methods */
957
1116
  /**
@@ -960,106 +1119,127 @@ var _GameWindowManager = class _GameWindowManager {
960
1119
  static get currentTickers() {
961
1120
  return _GameWindowManager._currentTickers;
962
1121
  }
1122
+ static get currentTickersList() {
1123
+ return Object.values(_GameWindowManager._currentTickers);
1124
+ }
1125
+ static get currentTickersWithoutCreatedBySteps() {
1126
+ return Object.fromEntries(Object.entries(_GameWindowManager._currentTickers).filter(([_, ticker]) => !ticker.createdByTicketStepsId));
1127
+ }
963
1128
  /**
964
1129
  * The steps of the tickers
965
1130
  */
966
1131
  static get currentTickersSteps() {
967
1132
  return _GameWindowManager._currentTickersSteps;
968
1133
  }
1134
+ static generateTickerId(tickerData) {
1135
+ try {
1136
+ return sha1__default.default(JSON.stringify(tickerData)).toString() + "_" + Math.random().toString(36).substring(7);
1137
+ } catch (e) {
1138
+ throw new Error(`[Pixi'VN] Error to generate ticker id: ${e}`);
1139
+ }
1140
+ }
969
1141
  /**
970
- * Run a ticker.
1142
+ * Run a ticker. You can run multiple addTicker with the same tag and different tickerClasses.
1143
+ * If you run a ticker with the same tag and tickerClass, the old ticker will be removed.
1144
+ * If already exists a sequence of tickers with the same tag, it will be removed.
971
1145
  * @param canvasEslementTag The tag of the canvas element that will use the ticker.
972
1146
  * @param ticker The ticker class to be run.
973
1147
  * @param args The arguments to be used in the ticker.
974
- * @param duration The time to be used in the ticker. This number is in milliseconds. If it is undefined, the ticker will run forever.
1148
+ * @param duration The time to be used in the ticker. This number is in seconds. If it is undefined, the ticker will run forever.
975
1149
  * @param priority The priority to be used in the ticker.
976
1150
  * @returns
977
1151
  * @example
978
1152
  * ```typescript
979
- * GameWindowManager.addTicker("alien", new TickerRotate({ speed: 0.2 }))
1153
+ * GameWindowManager.addTicker("alien", new RotateTicker({ speed: 0.2 }))
980
1154
  * ```
981
1155
  */
982
1156
  static addTicker(canvasElementTag, ticker) {
983
- let tickerName = ticker.constructor.name;
1157
+ let tickerId = ticker.id;
984
1158
  if (typeof canvasElementTag === "string") {
985
1159
  canvasElementTag = [canvasElementTag];
986
1160
  }
987
- let t = geTickerInstanceByClassName(tickerName, ticker.args, ticker.duration, ticker.priority);
988
- if (!t) {
989
- console.error(`[Pixi'VN] Ticker ${tickerName} not found`);
1161
+ if (!geTickerInstanceById(tickerId, ticker.args, ticker.duration, ticker.priority)) {
1162
+ console.error(`[Pixi'VN] Ticker ${tickerId} not found`);
990
1163
  return;
991
1164
  }
992
- _GameWindowManager.removeAssociationBetweenTickerCanvasElement(canvasElementTag, ticker);
993
1165
  let tickerHistory = {
994
1166
  fn: () => {
995
1167
  },
996
- className: tickerName,
997
- args: ticker.args,
1168
+ id: tickerId,
1169
+ args: createExportableElement(ticker.args),
998
1170
  canvasElementTags: canvasElementTag,
999
1171
  priority: ticker.priority,
1000
1172
  duration: ticker.duration
1001
1173
  };
1002
- _GameWindowManager.pushTicker(tickerHistory, t);
1003
- _GameWindowManager.removeTickersWithoutAssociatedCanvasElement();
1174
+ let id = _GameWindowManager.generateTickerId(tickerHistory);
1175
+ _GameWindowManager.pushTicker(id, tickerHistory, ticker);
1004
1176
  if (ticker.duration) {
1005
1177
  let timeout = setTimeout(() => {
1006
1178
  _GameWindowManager.removeTickerTimeoutInfo(timeout);
1007
- _GameWindowManager.nextTickerStep(canvasElementTag);
1008
- }, ticker.duration);
1009
- _GameWindowManager.addTickerTimeoutInfo(canvasElementTag, tickerName, timeout.toString());
1179
+ let tickerTimeoutInfo = _GameWindowManager._currentTickersTimeouts[timeout.toString()];
1180
+ if (tickerTimeoutInfo) {
1181
+ _GameWindowManager.removeTicker(id);
1182
+ }
1183
+ }, ticker.duration * 1e3);
1184
+ _GameWindowManager.addTickerTimeoutInfo(canvasElementTag, tickerId, timeout.toString(), true);
1010
1185
  }
1011
1186
  }
1012
- static pushTicker(tickerData, ticker) {
1013
- _GameWindowManager.removeAssociationBetweenTickerCanvasElement(tickerData.canvasElementTags, tickerData);
1014
- _GameWindowManager._currentTickers.push(tickerData);
1187
+ static pushTicker(id, tickerData, ticker) {
1188
+ _GameWindowManager.removeAssociationBetweenTickerCanvasElement(tickerData.canvasElementTags, ticker);
1189
+ _GameWindowManager._currentTickers[id] = tickerData;
1015
1190
  tickerData.fn = (t) => {
1016
- ticker == null ? void 0 : ticker.fn(t, tickerData.args, tickerData.canvasElementTags);
1191
+ let data = _GameWindowManager._currentTickers[id];
1192
+ if (data) {
1193
+ ticker == null ? void 0 : ticker.fn(t, data.args, data.canvasElementTags, id);
1194
+ }
1017
1195
  };
1018
1196
  _GameWindowManager.app.ticker.add(tickerData.fn, void 0, tickerData.priority);
1019
1197
  }
1020
1198
  /**
1021
- * Run a sequence of tickers.
1199
+ * Run a sequence of tickers. If exists a ticker steps with the same tag, it will be removed.
1022
1200
  * @param tag The tag of canvas element that will use the tickers.
1023
1201
  * @param steps The steps of the tickers.
1202
+ * @param currentStepNumber The current step number. It is used to continue the sequence of tickers.
1024
1203
  * @returns
1025
1204
  * @example
1026
1205
  * ```typescript
1027
1206
  * GameWindowManager.addTickersSteps("alien", [
1028
- * new TickerRotate({ speed: 0.1, clockwise: true }, 2000),
1029
- * Pause(500),
1030
- * new TickerRotate({ speed: 0.2, clockwise: false }, 2000),
1207
+ * new RotateTicker({ speed: 0.1, clockwise: true }, 2), // 2 seconds
1208
+ * Pause(1), // 1 second
1209
+ * new RotateTicker({ speed: 0.2, clockwise: false }, 2),
1031
1210
  * Repeat,
1032
1211
  * ])
1033
1212
  * ```
1034
1213
  */
1035
- static addTickersSteps(tag, steps) {
1214
+ static addTickersSteps(tag, steps, currentStepNumber = 0) {
1036
1215
  if (steps.length == 0) {
1037
1216
  console.warn("[Pixi'VN] The steps of the tickers is empty");
1038
1217
  return;
1039
1218
  }
1040
- let alredyExists = _GameWindowManager._currentTickersSteps[tag] !== void 0;
1219
+ _GameWindowManager.removeTickerStepByCanvasElement(tag);
1041
1220
  _GameWindowManager._currentTickersSteps[tag] = {
1042
- currentStepNumber: 0,
1043
- steps: steps.map((s) => {
1044
- if (s === Repeat) {
1045
- return s;
1221
+ currentStepNumber,
1222
+ steps: steps.map((step) => {
1223
+ if (step === Repeat) {
1224
+ return step;
1046
1225
  }
1047
- if (!s.duration) {
1048
- console.warn("[Pixi'VN] Duration is not defined, so it will be set to 1000");
1049
- s.duration = 1e3;
1226
+ if (step.hasOwnProperty("type") && step.type === "pause") {
1227
+ return step;
1050
1228
  }
1051
- if (s.hasOwnProperty("type") && s.type === PauseValueType) {
1052
- return s;
1053
- }
1054
- let tickerName = s.constructor.name;
1229
+ let tickerId = step.id;
1055
1230
  return {
1056
- ticker: tickerName,
1057
- args: s.args,
1058
- duration: s.duration
1231
+ ticker: tickerId,
1232
+ args: createExportableElement(step.args),
1233
+ duration: step.duration
1059
1234
  };
1060
1235
  })
1061
1236
  };
1062
- if (!alredyExists) {
1237
+ _GameWindowManager.runTickersSteps(tag);
1238
+ }
1239
+ static restoneTickersSteps(data) {
1240
+ for (let tag in data) {
1241
+ let steps = data[tag];
1242
+ _GameWindowManager._currentTickersSteps[tag] = steps;
1063
1243
  _GameWindowManager.runTickersSteps(tag);
1064
1244
  }
1065
1245
  }
@@ -1073,70 +1253,106 @@ var _GameWindowManager = class _GameWindowManager {
1073
1253
  return;
1074
1254
  }
1075
1255
  }
1076
- if (step.hasOwnProperty("type") && step.type === PauseValueType) {
1256
+ if (step.hasOwnProperty("type") && step.type === "pause") {
1077
1257
  let timeout = setTimeout(() => {
1258
+ let tickerTimeoutInfo = _GameWindowManager._currentTickersTimeouts[timeout.toString()];
1259
+ if (tickerTimeoutInfo) {
1260
+ tickerTimeoutInfo.tags.forEach((tag2) => {
1261
+ _GameWindowManager.nextTickerStep(tag2);
1262
+ });
1263
+ }
1078
1264
  _GameWindowManager.removeTickerTimeoutInfo(timeout);
1079
- _GameWindowManager.nextTickerStep(tag);
1080
- }, step.duration);
1081
- _GameWindowManager.addTickerTimeoutInfo(tag, "steps", timeout.toString());
1265
+ }, step.duration * 1e3);
1266
+ _GameWindowManager.addTickerTimeoutInfo(tag, "steps", timeout.toString(), false);
1082
1267
  return;
1083
1268
  }
1084
- let ticker = geTickerInstanceByClassName(step.ticker, step.args, step.duration, step.priority);
1269
+ let ticker = geTickerInstanceById(step.ticker, step.args, step.duration, step.priority);
1085
1270
  if (!ticker) {
1086
1271
  console.error(`[Pixi'VN] Ticker ${step.ticker} not found`);
1087
1272
  return;
1088
1273
  }
1089
- _GameWindowManager.addTicker(tag, ticker);
1274
+ let tickerName = ticker.id;
1275
+ let tickerHistory = {
1276
+ fn: () => {
1277
+ },
1278
+ id: tickerName,
1279
+ args: createExportableElement(ticker.args),
1280
+ canvasElementTags: [tag],
1281
+ priority: ticker.priority,
1282
+ duration: ticker.duration,
1283
+ createdByTicketStepsId: tag
1284
+ };
1285
+ let id = _GameWindowManager.generateTickerId(tickerHistory);
1286
+ _GameWindowManager.pushTicker(id, tickerHistory, ticker);
1287
+ if (ticker.duration) {
1288
+ let timeout = setTimeout(() => {
1289
+ let tickerTimeoutInfo = _GameWindowManager._currentTickersTimeouts[timeout.toString()];
1290
+ if (tickerTimeoutInfo) {
1291
+ _GameWindowManager.removeTicker(id);
1292
+ tickerTimeoutInfo.tags.forEach((tag2) => {
1293
+ _GameWindowManager.nextTickerStep(tag2);
1294
+ });
1295
+ }
1296
+ _GameWindowManager.removeTickerTimeoutInfo(timeout);
1297
+ }, ticker.duration * 1e3);
1298
+ _GameWindowManager.addTickerTimeoutInfo(tag, tickerName, timeout.toString(), false);
1299
+ }
1090
1300
  }
1091
1301
  static nextTickerStep(tag) {
1092
- if (typeof tag === "string") {
1093
- tag = [tag];
1302
+ if (_GameWindowManager._currentTickersSteps[tag]) {
1303
+ let steps = _GameWindowManager._currentTickersSteps[tag];
1304
+ if (steps.currentStepNumber + 1 < steps.steps.length) {
1305
+ steps.currentStepNumber++;
1306
+ _GameWindowManager._currentTickersSteps[tag] = steps;
1307
+ _GameWindowManager.runTickersSteps(tag);
1308
+ } else {
1309
+ _GameWindowManager.removeTickerStepByCanvasElement(tag);
1310
+ }
1094
1311
  }
1095
- tag.forEach((tag2) => {
1096
- if (_GameWindowManager._currentTickersSteps[tag2]) {
1097
- let steps = _GameWindowManager._currentTickersSteps[tag2];
1098
- if (steps.currentStepNumber + 1 < steps.steps.length) {
1099
- steps.currentStepNumber++;
1100
- _GameWindowManager._currentTickersSteps[tag2] = steps;
1101
- _GameWindowManager.runTickersSteps(tag2);
1102
- } else {
1103
- delete _GameWindowManager._currentTickersSteps[tag2];
1104
- }
1312
+ }
1313
+ static onEndOfTicker(canvasElementTags, ticker, canvasElementTagsToDelete, tickerId) {
1314
+ let tickerData = _GameWindowManager._currentTickers[tickerId];
1315
+ _GameWindowManager.removeAssociationBetweenTickerCanvasElement(canvasElementTags, ticker);
1316
+ _GameWindowManager.removeCanvasElement(canvasElementTagsToDelete);
1317
+ if (tickerData) {
1318
+ _GameWindowManager.removeTicker(tickerId);
1319
+ if (tickerData.duration == void 0 && tickerData.createdByTicketStepsId) {
1320
+ _GameWindowManager.nextTickerStep(tickerData.createdByTicketStepsId);
1105
1321
  }
1106
- });
1322
+ }
1107
1323
  }
1108
1324
  /**
1109
1325
  * Remove a connection between a canvas element and a ticker.
1110
1326
  * And remove the ticker if there is no canvas element connected to it.
1111
- * @param tag The tag of the canvas element that will use the ticker.
1327
+ * @param tags The tag of the canvas element that will use the ticker.
1112
1328
  * @param ticker The ticker class to be removed.
1113
1329
  * @example
1114
1330
  * ```typescript
1115
- * GameWindowManager.removeAssociationBetweenTickerCanvasElement("alien", TickerRotate)
1331
+ * GameWindowManager.removeAssociationBetweenTickerCanvasElement("alien", RotateTicker)
1116
1332
  * ```
1117
1333
  */
1118
- static removeAssociationBetweenTickerCanvasElement(tag, ticker) {
1119
- let tickerName;
1120
- if (ticker instanceof TickerBase) {
1121
- tickerName = ticker.constructor.name;
1334
+ static removeAssociationBetweenTickerCanvasElement(tags, ticker) {
1335
+ let tickerId;
1336
+ if (typeof ticker === "string") {
1337
+ tickerId = ticker;
1338
+ } else if (ticker instanceof TickerBase) {
1339
+ tickerId = ticker.id;
1122
1340
  } else {
1123
- tickerName = ticker.name;
1341
+ tickerId = ticker.prototype.id;
1124
1342
  }
1125
- if (typeof tag === "string") {
1126
- tag = [tag];
1343
+ if (typeof tags === "string") {
1344
+ tags = [tags];
1127
1345
  }
1128
- _GameWindowManager._currentTickers = _GameWindowManager._currentTickers.map((t) => {
1129
- if (t.className === tickerName) {
1130
- t.canvasElementTags = t.canvasElementTags.filter((e) => !tag.includes(e));
1346
+ for (let id in _GameWindowManager._currentTickers) {
1347
+ let ticker2 = _GameWindowManager._currentTickers[id];
1348
+ if (ticker2.id === tickerId) {
1349
+ _GameWindowManager._currentTickers[id].canvasElementTags = ticker2.canvasElementTags.filter((e) => !tags.includes(e));
1131
1350
  }
1132
- return t;
1133
- });
1134
- for (let timeout in _GameWindowManager.currentTickersTimeouts) {
1135
- let t = _GameWindowManager.currentTickersTimeouts[timeout].tags.filter((e) => !tag.includes(e));
1136
- if (t.length == 0) {
1137
- _GameWindowManager.removeTickerTimeoutInfo(timeout);
1138
- } else {
1139
- _GameWindowManager.currentTickersTimeouts[timeout].tags = t;
1351
+ }
1352
+ for (let timeout in _GameWindowManager._currentTickersTimeouts) {
1353
+ let TickerTimeout = _GameWindowManager._currentTickersTimeouts[timeout];
1354
+ if (TickerTimeout.ticker === tickerId && TickerTimeout.canBeDeletedBeforeEnd) {
1355
+ _GameWindowManager._currentTickersTimeouts[timeout].tags = TickerTimeout.tags.filter((t) => !tags.includes(t));
1140
1356
  }
1141
1357
  }
1142
1358
  _GameWindowManager.removeTickersWithoutAssociatedCanvasElement();
@@ -1145,49 +1361,117 @@ var _GameWindowManager = class _GameWindowManager {
1145
1361
  * Remove all tickers that are not connected to any existing canvas element.
1146
1362
  */
1147
1363
  static removeTickersWithoutAssociatedCanvasElement() {
1148
- let currentTickers = _GameWindowManager._currentTickers.map((t) => {
1149
- t.canvasElementTags = t.canvasElementTags.filter((e) => _GameWindowManager._children[e]);
1150
- return t;
1151
- });
1152
- currentTickers.filter((t) => t.canvasElementTags.length === 0).forEach((t) => {
1153
- _GameWindowManager.app.ticker.remove(t.fn);
1154
- });
1155
- currentTickers = currentTickers.filter((t) => t.canvasElementTags.length > 0);
1156
- _GameWindowManager._currentTickers = currentTickers;
1364
+ for (let id in _GameWindowManager._currentTickers) {
1365
+ let ticker = _GameWindowManager._currentTickers[id];
1366
+ ticker.canvasElementTags = ticker.canvasElementTags.filter((e) => _GameWindowManager._children[e]);
1367
+ if (ticker.canvasElementTags.length === 0) {
1368
+ _GameWindowManager.removeTicker(id);
1369
+ }
1370
+ }
1157
1371
  for (let tag in _GameWindowManager._currentTickersSteps) {
1158
1372
  if (_GameWindowManager._children[tag] === void 0) {
1159
1373
  delete _GameWindowManager._currentTickersSteps[tag];
1160
1374
  }
1161
1375
  }
1376
+ Object.entries(_GameWindowManager._currentTickersTimeouts).forEach(([timeout, { tags }]) => {
1377
+ if (tags.length === 0) {
1378
+ _GameWindowManager.removeTickerTimeout(timeout);
1379
+ }
1380
+ });
1162
1381
  }
1163
- static addTickerTimeoutInfo(tags, ticker, timeout) {
1382
+ static addTickerTimeoutInfo(tags, ticker, timeout, canBeDeletedBeforeEnd) {
1164
1383
  if (typeof tags === "string") {
1165
1384
  tags = [tags];
1166
1385
  }
1167
- _GameWindowManager.currentTickersTimeouts[timeout] = {
1386
+ _GameWindowManager._currentTickersTimeouts[timeout] = {
1168
1387
  tags,
1169
- ticker
1388
+ ticker,
1389
+ canBeDeletedBeforeEnd
1170
1390
  };
1171
1391
  }
1172
1392
  static removeTickerTimeoutInfo(timeout) {
1173
1393
  if (typeof timeout !== "string") {
1174
1394
  timeout = timeout.toString();
1175
1395
  }
1176
- if (_GameWindowManager.currentTickersTimeouts[timeout]) {
1177
- delete _GameWindowManager.currentTickersTimeouts[timeout];
1396
+ if (_GameWindowManager._currentTickersTimeouts[timeout]) {
1397
+ delete _GameWindowManager._currentTickersTimeouts[timeout];
1398
+ }
1399
+ }
1400
+ static removeTickerTimeout(timeout) {
1401
+ if (typeof timeout !== "string") {
1402
+ timeout = timeout.toString();
1403
+ }
1404
+ clearTimeout(Number(timeout));
1405
+ _GameWindowManager.removeTickerTimeoutInfo(timeout);
1406
+ }
1407
+ static removeTickerTimeoutsByTag(tag, checkCanBeDeletedBeforeEnd) {
1408
+ for (let timeout in _GameWindowManager._currentTickersTimeouts) {
1409
+ let tagsWithoutTagToRemove = _GameWindowManager._currentTickersTimeouts[timeout].tags.filter((t) => t !== tag);
1410
+ if (tagsWithoutTagToRemove.length === 0) {
1411
+ let canBeDeletedBeforeEnd = _GameWindowManager._currentTickersTimeouts[timeout].canBeDeletedBeforeEnd;
1412
+ if (!checkCanBeDeletedBeforeEnd || canBeDeletedBeforeEnd) {
1413
+ _GameWindowManager.removeTickerTimeout(timeout);
1414
+ }
1415
+ } else {
1416
+ _GameWindowManager._currentTickersTimeouts[timeout].tags = tagsWithoutTagToRemove;
1417
+ }
1178
1418
  }
1179
1419
  }
1180
1420
  /**
1181
1421
  * Remove all tickers from the canvas.
1182
1422
  */
1183
- static removeTickers() {
1423
+ static removeAllTickers() {
1184
1424
  _GameWindowManager._currentTickersSteps = {};
1185
- _GameWindowManager._currentTickers.forEach((t) => {
1186
- _GameWindowManager.app.ticker.remove(t.fn);
1425
+ Object.keys(_GameWindowManager._currentTickers).forEach((id) => {
1426
+ _GameWindowManager.removeTicker(id);
1427
+ });
1428
+ _GameWindowManager._currentTickers = {};
1429
+ for (let timeout in _GameWindowManager._currentTickersTimeouts) {
1430
+ _GameWindowManager.removeTickerTimeout(timeout);
1431
+ }
1432
+ }
1433
+ /**
1434
+ * Remove all tickers from a canvas element.
1435
+ * @param tag The tag of the canvas element that will use the ticker.
1436
+ */
1437
+ static removeTickerByCanvasElement(tag) {
1438
+ if (typeof tag === "string") {
1439
+ tag = [tag];
1440
+ }
1441
+ tag.forEach((tag2) => {
1442
+ for (let id in _GameWindowManager._currentTickers) {
1443
+ let ticker = _GameWindowManager._currentTickers[id];
1444
+ if (ticker.canvasElementTags.includes(tag2)) {
1445
+ _GameWindowManager.removeTicker(id);
1446
+ }
1447
+ }
1448
+ if (_GameWindowManager._currentTickersSteps[tag2]) {
1449
+ delete _GameWindowManager._currentTickersSteps[tag2];
1450
+ }
1451
+ _GameWindowManager.removeTickerTimeoutsByTag(tag2, false);
1452
+ delete _GameWindowManager._currentTickersSteps[tag2];
1187
1453
  });
1188
- _GameWindowManager._currentTickers = [];
1189
- for (let timeout in _GameWindowManager.currentTickersTimeouts) {
1190
- _GameWindowManager.removeTickerTimeoutInfo(timeout);
1454
+ }
1455
+ static removeTickerStepByCanvasElement(tag) {
1456
+ if (_GameWindowManager._currentTickersSteps[tag]) {
1457
+ delete _GameWindowManager._currentTickersSteps[tag];
1458
+ }
1459
+ for (let id in _GameWindowManager._currentTickers) {
1460
+ let ticker = _GameWindowManager._currentTickers[id];
1461
+ if (ticker.createdByTicketStepsId === tag) {
1462
+ _GameWindowManager.removeTicker(id);
1463
+ }
1464
+ }
1465
+ }
1466
+ static removeTicker(tickerId) {
1467
+ let ticker = _GameWindowManager._currentTickers[tickerId];
1468
+ if (ticker) {
1469
+ if (ticker.args.hasOwnProperty(tagToRemoveAfter)) {
1470
+ let tagToRemoveAfter2 = ticker.args.tagToRemoveAfter;
1471
+ _GameWindowManager.removeCanvasElement(tagToRemoveAfter2);
1472
+ }
1473
+ _GameWindowManager.app.ticker.remove(ticker.fn);
1474
+ delete _GameWindowManager._currentTickers[tickerId];
1191
1475
  }
1192
1476
  }
1193
1477
  /**
@@ -1214,7 +1498,8 @@ var _GameWindowManager = class _GameWindowManager {
1214
1498
  currentElements[tag] = exportCanvasElement(_GameWindowManager._children[tag]);
1215
1499
  }
1216
1500
  return {
1217
- currentTickers: createExportableElement(_GameWindowManager._currentTickers),
1501
+ currentTickers: createExportableElement(_GameWindowManager.currentTickersWithoutCreatedBySteps),
1502
+ currentTickersSteps: createExportableElement(_GameWindowManager._currentTickersSteps),
1218
1503
  currentElements: createExportableElement(currentElements),
1219
1504
  childrenTagsOrder: createExportableElement(_GameWindowManager.childrenTagsOrder)
1220
1505
  };
@@ -1249,15 +1534,20 @@ var _GameWindowManager = class _GameWindowManager {
1249
1534
  }
1250
1535
  if (data.hasOwnProperty("currentTickers")) {
1251
1536
  let currentTickers = data["currentTickers"];
1252
- currentTickers.forEach((t) => {
1537
+ for (let id in currentTickers) {
1538
+ let t = currentTickers[id];
1253
1539
  let tags = t.canvasElementTags;
1254
- let ticker = geTickerInstanceByClassName(t.className, t.args, t.duration, t.priority);
1540
+ let ticker = geTickerInstanceById(t.id, t.args, t.duration, t.priority);
1255
1541
  if (ticker) {
1256
1542
  _GameWindowManager.addTicker(tags, ticker);
1257
1543
  } else {
1258
- console.error(`[Pixi'VN] Ticker ${t.className} not found`);
1544
+ console.error(`[Pixi'VN] Ticker ${t.id} not found`);
1259
1545
  }
1260
- });
1546
+ }
1547
+ }
1548
+ if (data.hasOwnProperty("currentTickersSteps")) {
1549
+ let currentTickersSteps = data["currentTickersSteps"];
1550
+ _GameWindowManager.restoneTickersSteps(currentTickersSteps);
1261
1551
  }
1262
1552
  } catch (e) {
1263
1553
  console.error("[Pixi'VN] Error importing data", e);
@@ -1271,22 +1561,32 @@ _GameWindowManager._children = {};
1271
1561
  * The order of the children tags.
1272
1562
  */
1273
1563
  _GameWindowManager.childrenTagsOrder = [];
1274
- _GameWindowManager._currentTickers = [];
1564
+ _GameWindowManager._currentTickers = {};
1275
1565
  _GameWindowManager._currentTickersSteps = {};
1276
- _GameWindowManager.currentTickersTimeouts = {};
1566
+ _GameWindowManager._currentTickersTimeouts = {};
1277
1567
  var GameWindowManager = _GameWindowManager;
1278
1568
 
1279
- // src/classes/ticker/TickerMove.ts
1280
- exports.default = class TickerMove extends TickerBase {
1281
- /**
1282
- * The method that will be called every frame to move the canvas element of the canvas.
1283
- * @param t The ticker that is calling this method
1284
- * @param args The arguments that are passed to the ticker
1285
- * @param tags The tags of the canvas element that are connected to this ticker
1286
- */
1287
- fn(t, args, tags) {
1288
- let speed = args.speed === void 0 ? 0.1 : args.speed;
1569
+ // src/classes/ticker/MoveTicker.ts
1570
+ exports.default = class MoveTicker extends TickerBase {
1571
+ fn(ticker, args, tags, tickerId) {
1572
+ let xSpeed = 1;
1573
+ let ySpeed = 1;
1574
+ if (args.speed) {
1575
+ if (typeof args.speed === "number") {
1576
+ xSpeed = args.speed;
1577
+ ySpeed = args.speed;
1578
+ } else {
1579
+ xSpeed = args.speed.x;
1580
+ ySpeed = args.speed.y;
1581
+ }
1582
+ }
1583
+ xSpeed /= 60;
1584
+ ySpeed /= 60;
1289
1585
  let destination = args.destination;
1586
+ let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
1587
+ if (typeof tagToRemoveAfter2 === "string") {
1588
+ tagToRemoveAfter2 = [tagToRemoveAfter2];
1589
+ }
1290
1590
  tags.filter((tag) => {
1291
1591
  var _a;
1292
1592
  let element = GameWindowManager.getCanvasElement(tag);
@@ -1299,22 +1599,25 @@ exports.default = class TickerMove extends TickerBase {
1299
1599
  }).forEach((tag) => {
1300
1600
  let element = GameWindowManager.getCanvasElement(tag);
1301
1601
  if (element && element instanceof pixi_js.Container) {
1302
- let xDistance = destination.x - element.x;
1602
+ let xDistance = destination.x - element.x > 0 ? 1 : -1;
1303
1603
  if (xDistance != 0) {
1304
- element.x += xDistance / speed * t.deltaTime;
1604
+ element.x += xDistance * xSpeed * ticker.deltaTime;
1305
1605
  let newDistance = destination.x - element.x;
1306
1606
  if (xDistance < 0 && newDistance > 0 || xDistance > 0 && newDistance < 0) {
1307
1607
  element.x = destination.x;
1308
1608
  }
1309
1609
  }
1310
- let yDistance = destination.y - element.y;
1610
+ let yDistance = destination.y - element.y > 0 ? 1 : -1;
1311
1611
  if (yDistance != 0) {
1312
- element.y += yDistance / speed * t.deltaTime;
1612
+ element.y += yDistance * ySpeed * ticker.deltaTime;
1313
1613
  let newDistance = destination.y - element.y;
1314
1614
  if (yDistance < 0 && newDistance > 0 || yDistance > 0 && newDistance < 0) {
1315
1615
  element.y = destination.y;
1316
1616
  }
1317
1617
  }
1618
+ if (element.x == destination.x && element.y == destination.y) {
1619
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
1620
+ }
1318
1621
  }
1319
1622
  });
1320
1623
  if (args.speedProgression)
@@ -1327,4 +1630,4 @@ exports.default = __decorateClass([
1327
1630
 
1328
1631
  module.exports = exports.default;
1329
1632
  //# sourceMappingURL=out.js.map
1330
- //# sourceMappingURL=TickerMove.js.map
1633
+ //# sourceMappingURL=MoveTicker.js.map