@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
@@ -1,6 +1,6 @@
1
1
  import { Sprite, Container, Application, Text, Assets, Texture } from 'pixi.js';
2
2
  import 'deep-diff';
3
- import 'crypto-js/sha1';
3
+ import sha1 from 'crypto-js/sha1';
4
4
 
5
5
  var __defProp = Object.defineProperty;
6
6
  var __defProps = Object.defineProperties;
@@ -27,8 +27,7 @@ var __decorateClass = (decorators, target, key, kind) => {
27
27
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
28
28
  if (decorator = decorators[i])
29
29
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
30
- if (kind && result)
31
- __defProp(target, key, result);
30
+ if (kind && result) __defProp(target, key, result);
32
31
  return result;
33
32
  };
34
33
  var __async = (__this, __arguments, generator) => {
@@ -64,17 +63,23 @@ function exportCanvasElement(element) {
64
63
  return element.memory;
65
64
  }
66
65
  function importCanvasElement(memory) {
67
- let element = getCanvasElementInstanceByClassName(memory.className);
66
+ let element = getCanvasElementInstanceById(memory.pixivnId);
68
67
  if (element) {
69
68
  element.memory = memory;
70
69
  } else {
71
- throw new Error("[Pixi'VN] The element " + memory.className + " could not be created");
70
+ throw new Error("[Pixi'VN] The element " + memory.pixivnId + " could not be created");
72
71
  }
73
72
  return element;
74
73
  }
75
74
 
76
75
  // src/classes/canvas/CanvasContainer.ts
76
+ var CANVAS_CONTAINER_ID = "CanvasContainer";
77
77
  var CanvasContainer = class extends Container {
78
+ constructor(options) {
79
+ super(options);
80
+ this.pixivnId = CANVAS_CONTAINER_ID;
81
+ this.pixivnId = this.constructor.prototype.pixivnId;
82
+ }
78
83
  get memory() {
79
84
  let memory = getMemoryContainer(this);
80
85
  this.children.forEach((child) => {
@@ -90,8 +95,12 @@ var CanvasContainer = class extends Container {
90
95
  }
91
96
  };
92
97
  function getMemoryContainer(element) {
98
+ let className = "CanvasContainer";
99
+ if (element.hasOwnProperty("pixivnId")) {
100
+ className = element.pixivnId;
101
+ }
93
102
  return {
94
- className: "CanvasContainer",
103
+ pixivnId: className,
95
104
  elements: [],
96
105
  width: element.width,
97
106
  height: element.height,
@@ -207,40 +216,43 @@ function getTextStyle(style) {
207
216
 
208
217
  // src/decorators/EventDecorator.ts
209
218
  var registeredEvents = {};
210
- function getEventTypeByClassName(eventName) {
219
+ function getEventTypeById(eventId) {
211
220
  try {
212
- let eventType = registeredEvents[eventName];
221
+ let eventType = registeredEvents[eventId];
213
222
  if (!eventType) {
214
- console.error(`[Pixi'VN] Event ${eventName} not found`);
223
+ console.error(`[Pixi'VN] Event ${eventId} not found`);
215
224
  return;
216
225
  }
217
226
  new eventType();
218
227
  return eventType;
219
228
  } catch (e) {
220
- console.error(`[Pixi'VN] Error while getting Event ${eventName}`, e);
229
+ console.error(`[Pixi'VN] Error while getting Event ${eventId}`, e);
221
230
  return;
222
231
  }
223
232
  }
224
- function getEventInstanceByClassName(eventName) {
233
+ function getEventInstanceById(eventId) {
225
234
  try {
226
- let eventType = registeredEvents[eventName];
235
+ let eventType = registeredEvents[eventId];
227
236
  if (!eventType) {
228
- console.error(`[Pixi'VN] Event ${eventName} not found`);
237
+ console.error(`[Pixi'VN] Event ${eventId} not found`);
229
238
  return;
230
239
  }
231
240
  let event = new eventType();
232
241
  return event;
233
242
  } catch (e) {
234
- console.error(`[Pixi'VN] Error while getting Event ${eventName}`, e);
243
+ console.error(`[Pixi'VN] Error while getting Event ${eventId}`, e);
235
244
  return;
236
245
  }
237
246
  }
238
247
 
239
248
  // src/classes/canvas/CanvasSprite.ts
249
+ var CANVAS_SPRITE_ID = "CanvasSprite";
240
250
  var CanvasSprite = class _CanvasSprite extends Sprite {
241
- constructor() {
242
- super(...arguments);
251
+ constructor(options) {
252
+ super(options);
253
+ this.pixivnId = CANVAS_SPRITE_ID;
243
254
  this._onEvents = {};
255
+ this.pixivnId = this.constructor.prototype.pixivnId;
244
256
  }
245
257
  get memory() {
246
258
  return getMemorySprite(this);
@@ -281,9 +293,9 @@ var CanvasSprite = class _CanvasSprite extends Sprite {
281
293
  * ```
282
294
  */
283
295
  onEvent(event, eventClass) {
284
- let className = eventClass.name;
285
- let instance = getEventInstanceByClassName(className);
286
- this._onEvents[event] = className;
296
+ let id = eventClass.prototype.id;
297
+ let instance = getEventInstanceById(id);
298
+ this._onEvents[event] = id;
287
299
  if (instance) {
288
300
  super.on(event, () => {
289
301
  instance.fn(event, this);
@@ -312,7 +324,7 @@ var CanvasSprite = class _CanvasSprite extends Sprite {
312
324
  function getMemorySprite(element) {
313
325
  let temp = getMemoryContainer(element);
314
326
  return __spreadProps(__spreadValues({}, temp), {
315
- className: "CanvasSprite",
327
+ pixivnId: element.pixivnId,
316
328
  textureImage: getTextureMemory(element.texture),
317
329
  anchor: { x: element.anchor.x, y: element.anchor.y },
318
330
  roundPixels: element.roundPixels,
@@ -335,8 +347,8 @@ function setMemorySprite(element, memory) {
335
347
  }
336
348
  memory.roundPixels && (element.roundPixels = memory.roundPixels);
337
349
  for (let event in memory.onEvents) {
338
- let className = memory.onEvents[event];
339
- let instance = getEventTypeByClassName(className);
350
+ let id = memory.onEvents[event];
351
+ let instance = getEventTypeById(id);
340
352
  if (instance) {
341
353
  element.onEvent(event, instance);
342
354
  }
@@ -344,9 +356,11 @@ function setMemorySprite(element, memory) {
344
356
  }
345
357
 
346
358
  // src/classes/canvas/CanvasImage.ts
359
+ var CANVAS_IMAGE_ID = "CanvasImage";
347
360
  var CanvasImage = class _CanvasImage extends CanvasSprite {
348
361
  constructor(options, imageLink) {
349
362
  super(options);
363
+ this.pixivnId = CANVAS_IMAGE_ID;
350
364
  this.imageLink = "";
351
365
  if (imageLink) {
352
366
  this.imageLink = imageLink;
@@ -354,12 +368,13 @@ var CanvasImage = class _CanvasImage extends CanvasSprite {
354
368
  }
355
369
  get memory() {
356
370
  return __spreadProps(__spreadValues({}, getMemorySprite(this)), {
357
- className: "CanvasImage",
358
- textureImage: { image: this.imageLink }
371
+ pixivnId: this.pixivnId,
372
+ imageLink: this.imageLink
359
373
  });
360
374
  }
361
375
  set memory(memory) {
362
376
  setMemorySprite(this, memory);
377
+ this.imageLink = memory.imageLink;
363
378
  }
364
379
  static from(source, skipCache) {
365
380
  let sprite = Sprite.from(source, skipCache);
@@ -387,10 +402,13 @@ var CanvasImage = class _CanvasImage extends CanvasSprite {
387
402
  });
388
403
  }
389
404
  };
405
+ var CANVAS_TEXT_ID = "CanvasText";
390
406
  var CanvasText = class extends Text {
391
- constructor() {
392
- super(...arguments);
407
+ constructor(options) {
408
+ super(options);
409
+ this.pixivnId = CANVAS_TEXT_ID;
393
410
  this._onEvents = {};
411
+ this.pixivnId = this.constructor.prototype.pixivnId;
394
412
  }
395
413
  get memory() {
396
414
  return getMemoryText(this);
@@ -431,9 +449,9 @@ var CanvasText = class extends Text {
431
449
  * ```
432
450
  */
433
451
  onEvent(event, eventClass) {
434
- let className = eventClass.name;
435
- let instance = getEventInstanceByClassName(className);
436
- this._onEvents[event] = className;
452
+ let id = eventClass.prototype.id;
453
+ let instance = getEventInstanceById(id);
454
+ this._onEvents[event] = id;
437
455
  if (instance) {
438
456
  super.on(event, () => {
439
457
  instance.fn(event, this);
@@ -456,7 +474,7 @@ var CanvasText = class extends Text {
456
474
  function getMemoryText(element) {
457
475
  let temp = getMemoryContainer(element);
458
476
  return __spreadProps(__spreadValues({}, temp), {
459
- className: "CanvasText",
477
+ pixivnId: element.pixivnId,
460
478
  anchor: { x: element.anchor.x, y: element.anchor.y },
461
479
  text: element.text,
462
480
  resolution: element.resolution,
@@ -479,8 +497,8 @@ function setMemoryText(element, memory) {
479
497
  memory.style && (element.style = memory.style);
480
498
  memory.roundPixels && (element.roundPixels = memory.roundPixels);
481
499
  for (let event in memory.onEvents) {
482
- let className = memory.onEvents[event];
483
- let instance = getEventTypeByClassName(className);
500
+ let id = memory.onEvents[event];
501
+ let instance = getEventTypeById(id);
484
502
  if (instance) {
485
503
  element.onEvent(event, instance);
486
504
  }
@@ -489,75 +507,72 @@ function setMemoryText(element, memory) {
489
507
 
490
508
  // src/decorators/CanvasElementDecorator.ts
491
509
  var registeredCanvasElement = {};
492
- function getCanvasElementInstanceByClassName(canvasName) {
510
+ function getCanvasElementInstanceById(canvasId) {
493
511
  try {
494
- let eventType = registeredCanvasElement[canvasName];
512
+ let eventType = registeredCanvasElement[canvasId];
495
513
  if (!eventType) {
496
- if (canvasName === "CanvasContainer") {
514
+ if (canvasId === CANVAS_CONTAINER_ID) {
497
515
  eventType = CanvasContainer;
498
- } else if (canvasName === "CanvasImage") {
516
+ } else if (canvasId === CANVAS_IMAGE_ID) {
499
517
  eventType = CanvasImage;
500
- } else if (canvasName === "CanvasSprite") {
518
+ } else if (canvasId === CANVAS_SPRITE_ID) {
501
519
  eventType = CanvasSprite;
502
- } else if (canvasName === "CanvasText") {
520
+ } else if (canvasId === CANVAS_TEXT_ID) {
503
521
  eventType = CanvasText;
504
522
  }
505
523
  }
506
524
  if (!eventType) {
507
- console.error(`[Pixi'VN] CanvasElement ${canvasName} not found`);
525
+ console.error(`[Pixi'VN] CanvasElement ${canvasId} not found`);
508
526
  return;
509
527
  }
510
528
  let canvasElement = new eventType();
511
529
  return canvasElement;
512
530
  } catch (e) {
513
- console.error(`[Pixi'VN] Error while getting CanvasElement ${canvasName}`, e);
531
+ console.error(`[Pixi'VN] Error while getting CanvasElement ${canvasId}`, e);
514
532
  return;
515
533
  }
516
534
  }
517
535
 
518
- // src/types/PauseType.ts
519
- var PauseValueType = "pause";
520
-
521
- // src/types/RepeatType.ts
522
- var Repeat = "repeat";
523
-
524
536
  // src/classes/ticker/TickerBase.ts
525
537
  var TickerBase = class {
526
538
  /**
527
539
  * @param args The arguments that you want to pass to the ticker.
528
- * @param duration The duration of the ticker. If is undefined, the ticker will be called every frame.
529
- * @param priority The priority of the ticker. If is undefined, the priority will be UPDATE_PRIORITY.NORMAL.
540
+ * @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
541
+ * @param priority The priority of the ticker. @default UPDATE_PRIORITY.NORMAL
530
542
  */
531
543
  constructor(args, duration, priority) {
544
+ /**
545
+ * Get the id of the ticker. This variable is used in the system to get the ticker by id, {@link geTickerInstanceById}
546
+ */
547
+ this.id = "ticker_id_not_set";
532
548
  this.args = args;
533
549
  this.duration = duration;
534
550
  this.priority = priority;
551
+ this.id = this.constructor.prototype.id;
535
552
  }
536
553
  /**
537
554
  * The method that will be called every frame.
538
555
  * This method should be overridden and you can use GameWindowManager.addCanvasElement() to get the canvas element of the canvas, and edit them.
539
- * @param t The ticker that is calling this method
540
- * @param args The arguments that you passed when you added the ticker
541
- * @param tags The tags of the canvas elements that are connected to this ticker
556
+ * @param _ticker The ticker that is calling this method
557
+ * @param _args The arguments that you passed when you added the ticker
558
+ * @param _tags The tags of the canvas elements that are connected to this ticker
559
+ * @param _tickerId The id of the ticker. You can use this to get the ticker from the {@link GameWindowManager.currentTickers}
542
560
  */
543
- fn(_t, _args, _tags) {
561
+ fn(_ticker, _args, _tags, _tickerId) {
544
562
  throw new Error("[Pixi'VN] The method TickerBase.fn() must be overridden");
545
563
  }
546
564
  };
547
- var TickerFadeAlpha = class extends TickerBase {
548
- /**
549
- * The method that will be called every frame to fade the alpha of the canvas element of the canvas.
550
- * @param delta The delta time
551
- * @param args The arguments that are passed to the ticker
552
- * @param tags The tags of the canvas element that are connected to this ticker
553
- */
554
- fn(t, args, tags) {
565
+
566
+ // src/classes/ticker/FadeAlphaTicker.ts
567
+ var FadeAlphaTicker = class extends TickerBase {
568
+ fn(ticker, args, tags, tickerId) {
555
569
  let type = args.type === void 0 ? "hide" : args.type;
556
- let speed = args.speed === void 0 ? 0.1 : args.speed;
570
+ let duration = args.duration === void 0 ? 1 : args.duration;
571
+ let speed = 1 / (duration * 60);
557
572
  let limit = args.limit === void 0 ? type === "hide" ? 0 : 1 : args.limit;
558
- let removeElementAfter = args.tagToRemoveAfter || [];
559
- if (typeof removeElementAfter === "string") {
560
- removeElementAfter = [removeElementAfter];
573
+ let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
574
+ if (typeof tagToRemoveAfter2 === "string") {
575
+ tagToRemoveAfter2 = [tagToRemoveAfter2];
561
576
  }
562
577
  if (type === "hide" && limit < 0) {
563
578
  limit = 0;
@@ -578,61 +593,88 @@ var TickerFadeAlpha = class extends TickerBase {
578
593
  let element = GameWindowManager.getCanvasElement(tag);
579
594
  if (element && element instanceof Container) {
580
595
  if (type === "show" && element.alpha < limit) {
581
- element.alpha += speed * t.deltaTime;
596
+ element.alpha += speed * ticker.deltaTime;
582
597
  } else if (type === "hide" && element.alpha > limit) {
583
- element.alpha -= speed * t.deltaTime;
584
- } else {
598
+ element.alpha -= speed * ticker.deltaTime;
599
+ }
600
+ if (type === "show" && element.alpha >= limit) {
601
+ element.alpha = limit;
602
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
603
+ } else if (type === "hide" && element.alpha <= limit) {
585
604
  element.alpha = limit;
586
- GameWindowManager.removeAssociationBetweenTickerCanvasElement(tag, this);
587
- GameWindowManager.removeCanvasElement(removeElementAfter);
605
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
588
606
  }
589
607
  }
590
608
  });
591
609
  }
592
610
  };
593
- TickerFadeAlpha = __decorateClass([
611
+ FadeAlphaTicker = __decorateClass([
594
612
  tickerDecorator()
595
- ], TickerFadeAlpha);
613
+ ], FadeAlphaTicker);
596
614
 
597
615
  // src/functions/TickerUtility.ts
598
616
  function updateTickerProgression(args, propertyName, progression) {
599
- if (args.hasOwnProperty(propertyName) && typeof args[propertyName] !== "number") {
617
+ if (args[propertyName] === void 0 || !progression || args[propertyName] === progression.limit) {
600
618
  return;
601
619
  }
602
- if (args[propertyName] !== void 0 && progression && args[propertyName] !== progression.limit) {
620
+ if (typeof args[propertyName] === "number") {
603
621
  if (progression.type === "linear") {
604
- args[propertyName] += progression.amt;
605
- if (progression.limit !== void 0) {
606
- if (args[propertyName] > progression.limit && progression.amt > 0) {
607
- args[propertyName] = progression.limit;
608
- } else if (args[propertyName] < progression.limit && progression.amt < 0) {
609
- args[propertyName] = progression.limit;
610
- }
611
- }
622
+ args[propertyName] = getLinearProgression(args[propertyName], progression);
612
623
  } else if (progression.type === "exponential") {
613
- args[propertyName] += args[propertyName] * progression.percentage;
614
- if (progression.limit !== void 0) {
615
- if (args[propertyName] > progression.limit && progression.percentage > 0) {
616
- args[propertyName] = progression.limit;
617
- } else if (args[propertyName] < progression.limit && progression.percentage < 0) {
618
- args[propertyName] = progression.limit;
619
- }
620
- }
624
+ args[propertyName] = getExponentialProgression(args[propertyName], progression);
625
+ }
626
+ } 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") {
627
+ if (progression.type === "linear") {
628
+ args[propertyName].x = getLinearProgression(args[propertyName].x, progression);
629
+ args[propertyName].y = getLinearProgression(args[propertyName].y, progression);
630
+ } else if (progression.type === "exponential") {
631
+ args[propertyName].x = getExponentialProgression(args[propertyName].x, progression);
632
+ args[propertyName].y = getExponentialProgression(args[propertyName].y, progression);
633
+ }
634
+ }
635
+ }
636
+ function getLinearProgression(number, progression) {
637
+ if (progression.limit !== void 0) {
638
+ if (number > progression.limit && progression.amt > 0) {
639
+ return progression.limit;
640
+ } else if (number < progression.limit && progression.amt < 0) {
641
+ return progression.limit;
621
642
  }
622
643
  }
644
+ return number + progression.amt / 60;
645
+ }
646
+ function getExponentialProgression(number, progression) {
647
+ if (progression.limit !== void 0) {
648
+ if (number > progression.limit && progression.percentage > 0) {
649
+ return progression.limit;
650
+ } else if (number < progression.limit && progression.percentage < 0) {
651
+ return progression.limit;
652
+ }
653
+ }
654
+ return number + number * progression.percentage;
623
655
  }
624
656
 
625
- // src/classes/ticker/TickerRotate.ts
626
- var TickerRotate = class extends TickerBase {
627
- /**
628
- * The method that will be called every frame to rotate the canvas element of the canvas.
629
- * @param delta The delta time
630
- * @param args The arguments that are passed to the ticker
631
- * @param tags The tags of the canvas element that are connected to this ticker
632
- */
633
- fn(t, args, tags) {
634
- let speed = args.speed === void 0 ? 0.1 : args.speed;
635
- let clockwise = args.clockwise === void 0 ? true : args.clockwise;
657
+ // src/classes/ticker/MoveTicker.ts
658
+ var MoveTicker = class extends TickerBase {
659
+ fn(ticker, args, tags, tickerId) {
660
+ let xSpeed = 1;
661
+ let ySpeed = 1;
662
+ if (args.speed) {
663
+ if (typeof args.speed === "number") {
664
+ xSpeed = args.speed;
665
+ ySpeed = args.speed;
666
+ } else {
667
+ xSpeed = args.speed.x;
668
+ ySpeed = args.speed.y;
669
+ }
670
+ }
671
+ xSpeed /= 60;
672
+ ySpeed /= 60;
673
+ let destination = args.destination;
674
+ let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
675
+ if (typeof tagToRemoveAfter2 === "string") {
676
+ tagToRemoveAfter2 = [tagToRemoveAfter2];
677
+ }
636
678
  tags.filter((tag) => {
637
679
  var _a;
638
680
  let element = GameWindowManager.getCanvasElement(tag);
@@ -645,19 +687,127 @@ var TickerRotate = class extends TickerBase {
645
687
  }).forEach((tag) => {
646
688
  let element = GameWindowManager.getCanvasElement(tag);
647
689
  if (element && element instanceof Container) {
648
- if (clockwise)
649
- element.rotation += speed * t.deltaTime;
650
- else
651
- element.rotation -= speed * t.deltaTime;
690
+ let xDistance = destination.x - element.x > 0 ? 1 : -1;
691
+ if (xDistance != 0) {
692
+ element.x += xDistance * xSpeed * ticker.deltaTime;
693
+ let newDistance = destination.x - element.x;
694
+ if (xDistance < 0 && newDistance > 0 || xDistance > 0 && newDistance < 0) {
695
+ element.x = destination.x;
696
+ }
697
+ }
698
+ let yDistance = destination.y - element.y > 0 ? 1 : -1;
699
+ if (yDistance != 0) {
700
+ element.y += yDistance * ySpeed * ticker.deltaTime;
701
+ let newDistance = destination.y - element.y;
702
+ if (yDistance < 0 && newDistance > 0 || yDistance > 0 && newDistance < 0) {
703
+ element.y = destination.y;
704
+ }
705
+ }
706
+ if (element.x == destination.x && element.y == destination.y) {
707
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
708
+ }
709
+ }
710
+ });
711
+ if (args.speedProgression)
712
+ updateTickerProgression(args, "speed", args.speedProgression);
713
+ }
714
+ };
715
+ MoveTicker = __decorateClass([
716
+ tickerDecorator()
717
+ ], MoveTicker);
718
+ var ZoomTicker = class extends TickerBase {
719
+ fn(ticker, args, tags, tickerId) {
720
+ let xSpeed = 0.1;
721
+ let ySpeed = 0.1;
722
+ if (args.speed) {
723
+ if (typeof args.speed === "number") {
724
+ xSpeed = args.speed;
725
+ ySpeed = args.speed;
726
+ } else {
727
+ xSpeed = args.speed.x;
728
+ ySpeed = args.speed.y;
729
+ }
730
+ }
731
+ xSpeed /= 60;
732
+ ySpeed /= 60;
733
+ let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
734
+ if (typeof tagToRemoveAfter2 === "string") {
735
+ tagToRemoveAfter2 = [tagToRemoveAfter2];
736
+ }
737
+ let type = args.type || "zoom";
738
+ let xLimit = type === "zoom" ? Infinity : 0;
739
+ let yLimit = type === "zoom" ? Infinity : 0;
740
+ if (args.limit) {
741
+ if (typeof args.limit === "number") {
742
+ xLimit = args.limit;
743
+ yLimit = args.limit;
744
+ } else {
745
+ xLimit = args.limit.x;
746
+ yLimit = args.limit.y;
747
+ }
748
+ }
749
+ tags.filter((tag) => {
750
+ var _a;
751
+ let element = GameWindowManager.getCanvasElement(tag);
752
+ if (args.startOnlyIfHaveTexture) {
753
+ if (element && element instanceof Sprite && ((_a = element.texture) == null ? void 0 : _a.label) == "EMPTY") {
754
+ return false;
755
+ }
756
+ }
757
+ return true;
758
+ }).forEach((tag) => {
759
+ let element = GameWindowManager.getCanvasElement(tag);
760
+ if (element && element instanceof Container) {
761
+ if (type === "zoom" && (element.scale.x < xLimit || element.scale.y < yLimit)) {
762
+ element.scale.x += xSpeed * ticker.deltaTime;
763
+ element.scale.y += ySpeed * ticker.deltaTime;
764
+ } else if (type === "unzoom" && (element.scale.x > xLimit || element.scale.y > yLimit)) {
765
+ element.scale.x -= xSpeed * ticker.deltaTime;
766
+ element.scale.y -= ySpeed * ticker.deltaTime;
767
+ }
768
+ if (type === "zoom") {
769
+ if (element.scale.x > xLimit) {
770
+ element.scale.x = xLimit;
771
+ }
772
+ if (element.scale.y > yLimit) {
773
+ element.scale.y = yLimit;
774
+ }
775
+ if (element.scale.x >= xLimit && element.scale.y >= yLimit) {
776
+ element.scale.x = xLimit;
777
+ element.scale.y = yLimit;
778
+ this.onEndOfTicker(tag, tickerId, element, tagToRemoveAfter2);
779
+ }
780
+ } else if (type === "unzoom") {
781
+ if (element.scale.x < xLimit) {
782
+ element.scale.x = xLimit;
783
+ }
784
+ if (element.scale.y < yLimit) {
785
+ element.scale.y = yLimit;
786
+ }
787
+ if (element.scale.x <= xLimit && element.scale.y <= yLimit) {
788
+ element.scale.x = xLimit;
789
+ element.scale.y = yLimit;
790
+ this.onEndOfTicker(tag, tickerId, element, tagToRemoveAfter2);
791
+ }
792
+ }
793
+ if (xSpeed < 1e-5 && ySpeed < 1e-5 && !(args.speedProgression && args.speedProgression.type == "linear" && args.speedProgression.amt != 0)) {
794
+ this.onEndOfTicker(tag, tickerId, element, tagToRemoveAfter2);
795
+ }
652
796
  }
653
797
  });
654
798
  if (args.speedProgression)
655
799
  updateTickerProgression(args, "speed", args.speedProgression);
656
800
  }
801
+ onEndOfTicker(tag, tickerId, _element, tagToRemoveAfter2) {
802
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
803
+ }
657
804
  };
658
- TickerRotate = __decorateClass([
805
+ ZoomTicker = __decorateClass([
659
806
  tickerDecorator()
660
- ], TickerRotate);
807
+ ], ZoomTicker);
808
+
809
+ // src/constants.ts
810
+ var Repeat = "repeat";
661
811
 
662
812
  // src/functions/ExportUtility.ts
663
813
  function createExportableElement(element) {
@@ -678,21 +828,22 @@ function tickerDecorator(name) {
678
828
  name = target.name;
679
829
  }
680
830
  if (registeredTickers[name]) {
681
- console.warn(`[Pixi'VN] Ticker ${name} already exists, it will be overwritten`);
831
+ console.info(`[Pixi'VN] Ticker ${name} already exists, it will be overwritten`);
682
832
  }
833
+ target.prototype.id = name;
683
834
  registeredTickers[name] = target;
684
835
  };
685
836
  }
686
- function geTickerInstanceByClassName(tickerName, args, duration, priority) {
837
+ function geTickerInstanceById(tickerId, args, duration, priority) {
687
838
  try {
688
- let ticker = registeredTickers[tickerName];
839
+ let ticker = registeredTickers[tickerId];
689
840
  if (!ticker) {
690
- console.error(`[Pixi'VN] Ticker ${tickerName} not found`);
841
+ console.error(`[Pixi'VN] Ticker ${tickerId} not found`);
691
842
  return;
692
843
  }
693
844
  return new ticker(args, duration, priority);
694
845
  } catch (e) {
695
- console.error(`[Pixi'VN] Error while getting Ticker ${tickerName}`, e);
846
+ console.error(`[Pixi'VN] Error while getting Ticker ${tickerId}`, e);
696
847
  return;
697
848
  }
698
849
  }
@@ -708,6 +859,9 @@ function asciiArtLog() {
708
859
  `);
709
860
  }
710
861
 
862
+ // src/types/ticker/TagToRemoveAfterType.ts
863
+ var tagToRemoveAfter = "tagToRemoveAfter";
864
+
711
865
  // src/managers/WindowManager.ts
712
866
  var _GameWindowManager = class _GameWindowManager {
713
867
  constructor() {
@@ -890,25 +1044,25 @@ var _GameWindowManager = class _GameWindowManager {
890
1044
  /**
891
1045
  * Remove a canvas element from the canvas.
892
1046
  * And remove all tickers that are not connected to any canvas element.
893
- * @param tag The tag of the canvas element to be removed.
1047
+ * @param tags The tag of the canvas element to be removed.
894
1048
  * @returns
895
1049
  * @example
896
1050
  * ```typescript
897
1051
  * GameWindowManager.removeCanvasElement("bunny");
898
1052
  * ```
899
1053
  */
900
- static removeCanvasElement(tag) {
901
- if (typeof tag === "string") {
902
- tag = [tag];
1054
+ static removeCanvasElement(tags) {
1055
+ if (typeof tags === "string") {
1056
+ tags = [tags];
903
1057
  }
904
- tag.forEach((t) => {
905
- if (_GameWindowManager._children[t]) {
906
- _GameWindowManager.app.stage.removeChild(_GameWindowManager._children[t]);
907
- delete _GameWindowManager._children[t];
1058
+ tags.forEach((tag) => {
1059
+ if (_GameWindowManager._children[tag]) {
1060
+ _GameWindowManager.app.stage.removeChild(_GameWindowManager._children[tag]);
1061
+ delete _GameWindowManager._children[tag];
1062
+ _GameWindowManager.removeTickerByCanvasElement(tag);
908
1063
  }
909
1064
  });
910
- _GameWindowManager.removeTickersWithoutAssociatedCanvasElement();
911
- _GameWindowManager.childrenTagsOrder = _GameWindowManager.childrenTagsOrder.filter((t) => !tag.includes(t));
1065
+ _GameWindowManager.childrenTagsOrder = _GameWindowManager.childrenTagsOrder.filter((t) => !tags.includes(t));
912
1066
  }
913
1067
  /**
914
1068
  * Get a canvas element by the tag.
@@ -938,18 +1092,43 @@ var _GameWindowManager = class _GameWindowManager {
938
1092
  _GameWindowManager.app.stage.removeChildren();
939
1093
  _GameWindowManager._children = {};
940
1094
  _GameWindowManager.childrenTagsOrder = [];
941
- _GameWindowManager.removeTickers();
1095
+ _GameWindowManager.removeAllTickers();
942
1096
  }
943
1097
  /**
944
1098
  * Edit the tag of a canvas element.
945
1099
  * @param oldTag The old tag of the canvas element.
946
1100
  * @param newTag The new tag of the canvas element.
947
1101
  */
948
- static editTagCanvasElement(oldTag, newTag) {
1102
+ static editCanvasElementTag(oldTag, newTag) {
949
1103
  if (_GameWindowManager._children[oldTag]) {
950
1104
  _GameWindowManager._children[newTag] = _GameWindowManager._children[oldTag];
951
1105
  delete _GameWindowManager._children[oldTag];
952
1106
  }
1107
+ if (_GameWindowManager._currentTickersSteps[oldTag]) {
1108
+ _GameWindowManager._currentTickersSteps[newTag] = _GameWindowManager._currentTickersSteps[oldTag];
1109
+ delete _GameWindowManager._currentTickersSteps[oldTag];
1110
+ }
1111
+ for (let id in _GameWindowManager._currentTickers) {
1112
+ let ticker = _GameWindowManager._currentTickers[id];
1113
+ if (ticker.canvasElementTags.includes(oldTag)) {
1114
+ ticker.canvasElementTags = ticker.canvasElementTags.map((t) => t === oldTag ? newTag : t);
1115
+ if (ticker.args.hasOwnProperty(tagToRemoveAfter)) {
1116
+ let tagToRemoveAfter2 = ticker.args.tagToRemoveAfter;
1117
+ if (typeof tagToRemoveAfter2 === "string") {
1118
+ tagToRemoveAfter2 = [tagToRemoveAfter2];
1119
+ }
1120
+ if (Array.isArray(tagToRemoveAfter2)) {
1121
+ ticker.args.tagToRemoveAfter = tagToRemoveAfter2.map((t) => t === oldTag ? newTag : t);
1122
+ }
1123
+ }
1124
+ }
1125
+ }
1126
+ for (let timeout in _GameWindowManager._currentTickersTimeouts) {
1127
+ let TickerTimeout = _GameWindowManager._currentTickersTimeouts[timeout];
1128
+ if (TickerTimeout.tags.includes(oldTag)) {
1129
+ TickerTimeout.tags = TickerTimeout.tags.map((t) => t === oldTag ? newTag : t);
1130
+ }
1131
+ }
953
1132
  }
954
1133
  /** Edit Tickers Methods */
955
1134
  /**
@@ -958,106 +1137,127 @@ var _GameWindowManager = class _GameWindowManager {
958
1137
  static get currentTickers() {
959
1138
  return _GameWindowManager._currentTickers;
960
1139
  }
1140
+ static get currentTickersList() {
1141
+ return Object.values(_GameWindowManager._currentTickers);
1142
+ }
1143
+ static get currentTickersWithoutCreatedBySteps() {
1144
+ return Object.fromEntries(Object.entries(_GameWindowManager._currentTickers).filter(([_, ticker]) => !ticker.createdByTicketStepsId));
1145
+ }
961
1146
  /**
962
1147
  * The steps of the tickers
963
1148
  */
964
1149
  static get currentTickersSteps() {
965
1150
  return _GameWindowManager._currentTickersSteps;
966
1151
  }
1152
+ static generateTickerId(tickerData) {
1153
+ try {
1154
+ return sha1(JSON.stringify(tickerData)).toString() + "_" + Math.random().toString(36).substring(7);
1155
+ } catch (e) {
1156
+ throw new Error(`[Pixi'VN] Error to generate ticker id: ${e}`);
1157
+ }
1158
+ }
967
1159
  /**
968
- * Run a ticker.
1160
+ * Run a ticker. You can run multiple addTicker with the same tag and different tickerClasses.
1161
+ * If you run a ticker with the same tag and tickerClass, the old ticker will be removed.
1162
+ * If already exists a sequence of tickers with the same tag, it will be removed.
969
1163
  * @param canvasEslementTag The tag of the canvas element that will use the ticker.
970
1164
  * @param ticker The ticker class to be run.
971
1165
  * @param args The arguments to be used in the ticker.
972
- * @param duration The time to be used in the ticker. This number is in milliseconds. If it is undefined, the ticker will run forever.
1166
+ * @param duration The time to be used in the ticker. This number is in seconds. If it is undefined, the ticker will run forever.
973
1167
  * @param priority The priority to be used in the ticker.
974
1168
  * @returns
975
1169
  * @example
976
1170
  * ```typescript
977
- * GameWindowManager.addTicker("alien", new TickerRotate({ speed: 0.2 }))
1171
+ * GameWindowManager.addTicker("alien", new RotateTicker({ speed: 0.2 }))
978
1172
  * ```
979
1173
  */
980
1174
  static addTicker(canvasElementTag, ticker) {
981
- let tickerName = ticker.constructor.name;
1175
+ let tickerId = ticker.id;
982
1176
  if (typeof canvasElementTag === "string") {
983
1177
  canvasElementTag = [canvasElementTag];
984
1178
  }
985
- let t = geTickerInstanceByClassName(tickerName, ticker.args, ticker.duration, ticker.priority);
986
- if (!t) {
987
- console.error(`[Pixi'VN] Ticker ${tickerName} not found`);
1179
+ if (!geTickerInstanceById(tickerId, ticker.args, ticker.duration, ticker.priority)) {
1180
+ console.error(`[Pixi'VN] Ticker ${tickerId} not found`);
988
1181
  return;
989
1182
  }
990
- _GameWindowManager.removeAssociationBetweenTickerCanvasElement(canvasElementTag, ticker);
991
1183
  let tickerHistory = {
992
1184
  fn: () => {
993
1185
  },
994
- className: tickerName,
995
- args: ticker.args,
1186
+ id: tickerId,
1187
+ args: createExportableElement(ticker.args),
996
1188
  canvasElementTags: canvasElementTag,
997
1189
  priority: ticker.priority,
998
1190
  duration: ticker.duration
999
1191
  };
1000
- _GameWindowManager.pushTicker(tickerHistory, t);
1001
- _GameWindowManager.removeTickersWithoutAssociatedCanvasElement();
1192
+ let id = _GameWindowManager.generateTickerId(tickerHistory);
1193
+ _GameWindowManager.pushTicker(id, tickerHistory, ticker);
1002
1194
  if (ticker.duration) {
1003
1195
  let timeout = setTimeout(() => {
1004
1196
  _GameWindowManager.removeTickerTimeoutInfo(timeout);
1005
- _GameWindowManager.nextTickerStep(canvasElementTag);
1006
- }, ticker.duration);
1007
- _GameWindowManager.addTickerTimeoutInfo(canvasElementTag, tickerName, timeout.toString());
1197
+ let tickerTimeoutInfo = _GameWindowManager._currentTickersTimeouts[timeout.toString()];
1198
+ if (tickerTimeoutInfo) {
1199
+ _GameWindowManager.removeTicker(id);
1200
+ }
1201
+ }, ticker.duration * 1e3);
1202
+ _GameWindowManager.addTickerTimeoutInfo(canvasElementTag, tickerId, timeout.toString(), true);
1008
1203
  }
1009
1204
  }
1010
- static pushTicker(tickerData, ticker) {
1011
- _GameWindowManager.removeAssociationBetweenTickerCanvasElement(tickerData.canvasElementTags, tickerData);
1012
- _GameWindowManager._currentTickers.push(tickerData);
1205
+ static pushTicker(id, tickerData, ticker) {
1206
+ _GameWindowManager.removeAssociationBetweenTickerCanvasElement(tickerData.canvasElementTags, ticker);
1207
+ _GameWindowManager._currentTickers[id] = tickerData;
1013
1208
  tickerData.fn = (t) => {
1014
- ticker == null ? void 0 : ticker.fn(t, tickerData.args, tickerData.canvasElementTags);
1209
+ let data = _GameWindowManager._currentTickers[id];
1210
+ if (data) {
1211
+ ticker == null ? void 0 : ticker.fn(t, data.args, data.canvasElementTags, id);
1212
+ }
1015
1213
  };
1016
1214
  _GameWindowManager.app.ticker.add(tickerData.fn, void 0, tickerData.priority);
1017
1215
  }
1018
1216
  /**
1019
- * Run a sequence of tickers.
1217
+ * Run a sequence of tickers. If exists a ticker steps with the same tag, it will be removed.
1020
1218
  * @param tag The tag of canvas element that will use the tickers.
1021
1219
  * @param steps The steps of the tickers.
1220
+ * @param currentStepNumber The current step number. It is used to continue the sequence of tickers.
1022
1221
  * @returns
1023
1222
  * @example
1024
1223
  * ```typescript
1025
1224
  * GameWindowManager.addTickersSteps("alien", [
1026
- * new TickerRotate({ speed: 0.1, clockwise: true }, 2000),
1027
- * Pause(500),
1028
- * new TickerRotate({ speed: 0.2, clockwise: false }, 2000),
1225
+ * new RotateTicker({ speed: 0.1, clockwise: true }, 2), // 2 seconds
1226
+ * Pause(1), // 1 second
1227
+ * new RotateTicker({ speed: 0.2, clockwise: false }, 2),
1029
1228
  * Repeat,
1030
1229
  * ])
1031
1230
  * ```
1032
1231
  */
1033
- static addTickersSteps(tag, steps) {
1232
+ static addTickersSteps(tag, steps, currentStepNumber = 0) {
1034
1233
  if (steps.length == 0) {
1035
1234
  console.warn("[Pixi'VN] The steps of the tickers is empty");
1036
1235
  return;
1037
1236
  }
1038
- let alredyExists = _GameWindowManager._currentTickersSteps[tag] !== void 0;
1237
+ _GameWindowManager.removeTickerStepByCanvasElement(tag);
1039
1238
  _GameWindowManager._currentTickersSteps[tag] = {
1040
- currentStepNumber: 0,
1041
- steps: steps.map((s) => {
1042
- if (s === Repeat) {
1043
- return s;
1044
- }
1045
- if (!s.duration) {
1046
- console.warn("[Pixi'VN] Duration is not defined, so it will be set to 1000");
1047
- s.duration = 1e3;
1239
+ currentStepNumber,
1240
+ steps: steps.map((step) => {
1241
+ if (step === Repeat) {
1242
+ return step;
1048
1243
  }
1049
- if (s.hasOwnProperty("type") && s.type === PauseValueType) {
1050
- return s;
1244
+ if (step.hasOwnProperty("type") && step.type === "pause") {
1245
+ return step;
1051
1246
  }
1052
- let tickerName = s.constructor.name;
1247
+ let tickerId = step.id;
1053
1248
  return {
1054
- ticker: tickerName,
1055
- args: s.args,
1056
- duration: s.duration
1249
+ ticker: tickerId,
1250
+ args: createExportableElement(step.args),
1251
+ duration: step.duration
1057
1252
  };
1058
1253
  })
1059
1254
  };
1060
- if (!alredyExists) {
1255
+ _GameWindowManager.runTickersSteps(tag);
1256
+ }
1257
+ static restoneTickersSteps(data) {
1258
+ for (let tag in data) {
1259
+ let steps = data[tag];
1260
+ _GameWindowManager._currentTickersSteps[tag] = steps;
1061
1261
  _GameWindowManager.runTickersSteps(tag);
1062
1262
  }
1063
1263
  }
@@ -1071,70 +1271,106 @@ var _GameWindowManager = class _GameWindowManager {
1071
1271
  return;
1072
1272
  }
1073
1273
  }
1074
- if (step.hasOwnProperty("type") && step.type === PauseValueType) {
1274
+ if (step.hasOwnProperty("type") && step.type === "pause") {
1075
1275
  let timeout = setTimeout(() => {
1276
+ let tickerTimeoutInfo = _GameWindowManager._currentTickersTimeouts[timeout.toString()];
1277
+ if (tickerTimeoutInfo) {
1278
+ tickerTimeoutInfo.tags.forEach((tag2) => {
1279
+ _GameWindowManager.nextTickerStep(tag2);
1280
+ });
1281
+ }
1076
1282
  _GameWindowManager.removeTickerTimeoutInfo(timeout);
1077
- _GameWindowManager.nextTickerStep(tag);
1078
- }, step.duration);
1079
- _GameWindowManager.addTickerTimeoutInfo(tag, "steps", timeout.toString());
1283
+ }, step.duration * 1e3);
1284
+ _GameWindowManager.addTickerTimeoutInfo(tag, "steps", timeout.toString(), false);
1080
1285
  return;
1081
1286
  }
1082
- let ticker = geTickerInstanceByClassName(step.ticker, step.args, step.duration, step.priority);
1287
+ let ticker = geTickerInstanceById(step.ticker, step.args, step.duration, step.priority);
1083
1288
  if (!ticker) {
1084
1289
  console.error(`[Pixi'VN] Ticker ${step.ticker} not found`);
1085
1290
  return;
1086
1291
  }
1087
- _GameWindowManager.addTicker(tag, ticker);
1292
+ let tickerName = ticker.id;
1293
+ let tickerHistory = {
1294
+ fn: () => {
1295
+ },
1296
+ id: tickerName,
1297
+ args: createExportableElement(ticker.args),
1298
+ canvasElementTags: [tag],
1299
+ priority: ticker.priority,
1300
+ duration: ticker.duration,
1301
+ createdByTicketStepsId: tag
1302
+ };
1303
+ let id = _GameWindowManager.generateTickerId(tickerHistory);
1304
+ _GameWindowManager.pushTicker(id, tickerHistory, ticker);
1305
+ if (ticker.duration) {
1306
+ let timeout = setTimeout(() => {
1307
+ let tickerTimeoutInfo = _GameWindowManager._currentTickersTimeouts[timeout.toString()];
1308
+ if (tickerTimeoutInfo) {
1309
+ _GameWindowManager.removeTicker(id);
1310
+ tickerTimeoutInfo.tags.forEach((tag2) => {
1311
+ _GameWindowManager.nextTickerStep(tag2);
1312
+ });
1313
+ }
1314
+ _GameWindowManager.removeTickerTimeoutInfo(timeout);
1315
+ }, ticker.duration * 1e3);
1316
+ _GameWindowManager.addTickerTimeoutInfo(tag, tickerName, timeout.toString(), false);
1317
+ }
1088
1318
  }
1089
1319
  static nextTickerStep(tag) {
1090
- if (typeof tag === "string") {
1091
- tag = [tag];
1320
+ if (_GameWindowManager._currentTickersSteps[tag]) {
1321
+ let steps = _GameWindowManager._currentTickersSteps[tag];
1322
+ if (steps.currentStepNumber + 1 < steps.steps.length) {
1323
+ steps.currentStepNumber++;
1324
+ _GameWindowManager._currentTickersSteps[tag] = steps;
1325
+ _GameWindowManager.runTickersSteps(tag);
1326
+ } else {
1327
+ _GameWindowManager.removeTickerStepByCanvasElement(tag);
1328
+ }
1092
1329
  }
1093
- tag.forEach((tag2) => {
1094
- if (_GameWindowManager._currentTickersSteps[tag2]) {
1095
- let steps = _GameWindowManager._currentTickersSteps[tag2];
1096
- if (steps.currentStepNumber + 1 < steps.steps.length) {
1097
- steps.currentStepNumber++;
1098
- _GameWindowManager._currentTickersSteps[tag2] = steps;
1099
- _GameWindowManager.runTickersSteps(tag2);
1100
- } else {
1101
- delete _GameWindowManager._currentTickersSteps[tag2];
1102
- }
1330
+ }
1331
+ static onEndOfTicker(canvasElementTags, ticker, canvasElementTagsToDelete, tickerId) {
1332
+ let tickerData = _GameWindowManager._currentTickers[tickerId];
1333
+ _GameWindowManager.removeAssociationBetweenTickerCanvasElement(canvasElementTags, ticker);
1334
+ _GameWindowManager.removeCanvasElement(canvasElementTagsToDelete);
1335
+ if (tickerData) {
1336
+ _GameWindowManager.removeTicker(tickerId);
1337
+ if (tickerData.duration == void 0 && tickerData.createdByTicketStepsId) {
1338
+ _GameWindowManager.nextTickerStep(tickerData.createdByTicketStepsId);
1103
1339
  }
1104
- });
1340
+ }
1105
1341
  }
1106
1342
  /**
1107
1343
  * Remove a connection between a canvas element and a ticker.
1108
1344
  * And remove the ticker if there is no canvas element connected to it.
1109
- * @param tag The tag of the canvas element that will use the ticker.
1345
+ * @param tags The tag of the canvas element that will use the ticker.
1110
1346
  * @param ticker The ticker class to be removed.
1111
1347
  * @example
1112
1348
  * ```typescript
1113
- * GameWindowManager.removeAssociationBetweenTickerCanvasElement("alien", TickerRotate)
1349
+ * GameWindowManager.removeAssociationBetweenTickerCanvasElement("alien", RotateTicker)
1114
1350
  * ```
1115
1351
  */
1116
- static removeAssociationBetweenTickerCanvasElement(tag, ticker) {
1117
- let tickerName;
1118
- if (ticker instanceof TickerBase) {
1119
- tickerName = ticker.constructor.name;
1352
+ static removeAssociationBetweenTickerCanvasElement(tags, ticker) {
1353
+ let tickerId;
1354
+ if (typeof ticker === "string") {
1355
+ tickerId = ticker;
1356
+ } else if (ticker instanceof TickerBase) {
1357
+ tickerId = ticker.id;
1120
1358
  } else {
1121
- tickerName = ticker.name;
1359
+ tickerId = ticker.prototype.id;
1122
1360
  }
1123
- if (typeof tag === "string") {
1124
- tag = [tag];
1361
+ if (typeof tags === "string") {
1362
+ tags = [tags];
1125
1363
  }
1126
- _GameWindowManager._currentTickers = _GameWindowManager._currentTickers.map((t) => {
1127
- if (t.className === tickerName) {
1128
- t.canvasElementTags = t.canvasElementTags.filter((e) => !tag.includes(e));
1364
+ for (let id in _GameWindowManager._currentTickers) {
1365
+ let ticker2 = _GameWindowManager._currentTickers[id];
1366
+ if (ticker2.id === tickerId) {
1367
+ _GameWindowManager._currentTickers[id].canvasElementTags = ticker2.canvasElementTags.filter((e) => !tags.includes(e));
1129
1368
  }
1130
- return t;
1131
- });
1132
- for (let timeout in _GameWindowManager.currentTickersTimeouts) {
1133
- let t = _GameWindowManager.currentTickersTimeouts[timeout].tags.filter((e) => !tag.includes(e));
1134
- if (t.length == 0) {
1135
- _GameWindowManager.removeTickerTimeoutInfo(timeout);
1136
- } else {
1137
- _GameWindowManager.currentTickersTimeouts[timeout].tags = t;
1369
+ }
1370
+ for (let timeout in _GameWindowManager._currentTickersTimeouts) {
1371
+ let TickerTimeout = _GameWindowManager._currentTickersTimeouts[timeout];
1372
+ if (TickerTimeout.ticker === tickerId && TickerTimeout.canBeDeletedBeforeEnd) {
1373
+ _GameWindowManager._currentTickersTimeouts[timeout].tags = TickerTimeout.tags.filter((t) => !tags.includes(t));
1138
1374
  }
1139
1375
  }
1140
1376
  _GameWindowManager.removeTickersWithoutAssociatedCanvasElement();
@@ -1143,49 +1379,117 @@ var _GameWindowManager = class _GameWindowManager {
1143
1379
  * Remove all tickers that are not connected to any existing canvas element.
1144
1380
  */
1145
1381
  static removeTickersWithoutAssociatedCanvasElement() {
1146
- let currentTickers = _GameWindowManager._currentTickers.map((t) => {
1147
- t.canvasElementTags = t.canvasElementTags.filter((e) => _GameWindowManager._children[e]);
1148
- return t;
1149
- });
1150
- currentTickers.filter((t) => t.canvasElementTags.length === 0).forEach((t) => {
1151
- _GameWindowManager.app.ticker.remove(t.fn);
1152
- });
1153
- currentTickers = currentTickers.filter((t) => t.canvasElementTags.length > 0);
1154
- _GameWindowManager._currentTickers = currentTickers;
1382
+ for (let id in _GameWindowManager._currentTickers) {
1383
+ let ticker = _GameWindowManager._currentTickers[id];
1384
+ ticker.canvasElementTags = ticker.canvasElementTags.filter((e) => _GameWindowManager._children[e]);
1385
+ if (ticker.canvasElementTags.length === 0) {
1386
+ _GameWindowManager.removeTicker(id);
1387
+ }
1388
+ }
1155
1389
  for (let tag in _GameWindowManager._currentTickersSteps) {
1156
1390
  if (_GameWindowManager._children[tag] === void 0) {
1157
1391
  delete _GameWindowManager._currentTickersSteps[tag];
1158
1392
  }
1159
1393
  }
1394
+ Object.entries(_GameWindowManager._currentTickersTimeouts).forEach(([timeout, { tags }]) => {
1395
+ if (tags.length === 0) {
1396
+ _GameWindowManager.removeTickerTimeout(timeout);
1397
+ }
1398
+ });
1160
1399
  }
1161
- static addTickerTimeoutInfo(tags, ticker, timeout) {
1400
+ static addTickerTimeoutInfo(tags, ticker, timeout, canBeDeletedBeforeEnd) {
1162
1401
  if (typeof tags === "string") {
1163
1402
  tags = [tags];
1164
1403
  }
1165
- _GameWindowManager.currentTickersTimeouts[timeout] = {
1404
+ _GameWindowManager._currentTickersTimeouts[timeout] = {
1166
1405
  tags,
1167
- ticker
1406
+ ticker,
1407
+ canBeDeletedBeforeEnd
1168
1408
  };
1169
1409
  }
1170
1410
  static removeTickerTimeoutInfo(timeout) {
1171
1411
  if (typeof timeout !== "string") {
1172
1412
  timeout = timeout.toString();
1173
1413
  }
1174
- if (_GameWindowManager.currentTickersTimeouts[timeout]) {
1175
- delete _GameWindowManager.currentTickersTimeouts[timeout];
1414
+ if (_GameWindowManager._currentTickersTimeouts[timeout]) {
1415
+ delete _GameWindowManager._currentTickersTimeouts[timeout];
1416
+ }
1417
+ }
1418
+ static removeTickerTimeout(timeout) {
1419
+ if (typeof timeout !== "string") {
1420
+ timeout = timeout.toString();
1421
+ }
1422
+ clearTimeout(Number(timeout));
1423
+ _GameWindowManager.removeTickerTimeoutInfo(timeout);
1424
+ }
1425
+ static removeTickerTimeoutsByTag(tag, checkCanBeDeletedBeforeEnd) {
1426
+ for (let timeout in _GameWindowManager._currentTickersTimeouts) {
1427
+ let tagsWithoutTagToRemove = _GameWindowManager._currentTickersTimeouts[timeout].tags.filter((t) => t !== tag);
1428
+ if (tagsWithoutTagToRemove.length === 0) {
1429
+ let canBeDeletedBeforeEnd = _GameWindowManager._currentTickersTimeouts[timeout].canBeDeletedBeforeEnd;
1430
+ if (!checkCanBeDeletedBeforeEnd || canBeDeletedBeforeEnd) {
1431
+ _GameWindowManager.removeTickerTimeout(timeout);
1432
+ }
1433
+ } else {
1434
+ _GameWindowManager._currentTickersTimeouts[timeout].tags = tagsWithoutTagToRemove;
1435
+ }
1176
1436
  }
1177
1437
  }
1178
1438
  /**
1179
1439
  * Remove all tickers from the canvas.
1180
1440
  */
1181
- static removeTickers() {
1441
+ static removeAllTickers() {
1182
1442
  _GameWindowManager._currentTickersSteps = {};
1183
- _GameWindowManager._currentTickers.forEach((t) => {
1184
- _GameWindowManager.app.ticker.remove(t.fn);
1443
+ Object.keys(_GameWindowManager._currentTickers).forEach((id) => {
1444
+ _GameWindowManager.removeTicker(id);
1185
1445
  });
1186
- _GameWindowManager._currentTickers = [];
1187
- for (let timeout in _GameWindowManager.currentTickersTimeouts) {
1188
- _GameWindowManager.removeTickerTimeoutInfo(timeout);
1446
+ _GameWindowManager._currentTickers = {};
1447
+ for (let timeout in _GameWindowManager._currentTickersTimeouts) {
1448
+ _GameWindowManager.removeTickerTimeout(timeout);
1449
+ }
1450
+ }
1451
+ /**
1452
+ * Remove all tickers from a canvas element.
1453
+ * @param tag The tag of the canvas element that will use the ticker.
1454
+ */
1455
+ static removeTickerByCanvasElement(tag) {
1456
+ if (typeof tag === "string") {
1457
+ tag = [tag];
1458
+ }
1459
+ tag.forEach((tag2) => {
1460
+ for (let id in _GameWindowManager._currentTickers) {
1461
+ let ticker = _GameWindowManager._currentTickers[id];
1462
+ if (ticker.canvasElementTags.includes(tag2)) {
1463
+ _GameWindowManager.removeTicker(id);
1464
+ }
1465
+ }
1466
+ if (_GameWindowManager._currentTickersSteps[tag2]) {
1467
+ delete _GameWindowManager._currentTickersSteps[tag2];
1468
+ }
1469
+ _GameWindowManager.removeTickerTimeoutsByTag(tag2, false);
1470
+ delete _GameWindowManager._currentTickersSteps[tag2];
1471
+ });
1472
+ }
1473
+ static removeTickerStepByCanvasElement(tag) {
1474
+ if (_GameWindowManager._currentTickersSteps[tag]) {
1475
+ delete _GameWindowManager._currentTickersSteps[tag];
1476
+ }
1477
+ for (let id in _GameWindowManager._currentTickers) {
1478
+ let ticker = _GameWindowManager._currentTickers[id];
1479
+ if (ticker.createdByTicketStepsId === tag) {
1480
+ _GameWindowManager.removeTicker(id);
1481
+ }
1482
+ }
1483
+ }
1484
+ static removeTicker(tickerId) {
1485
+ let ticker = _GameWindowManager._currentTickers[tickerId];
1486
+ if (ticker) {
1487
+ if (ticker.args.hasOwnProperty(tagToRemoveAfter)) {
1488
+ let tagToRemoveAfter2 = ticker.args.tagToRemoveAfter;
1489
+ _GameWindowManager.removeCanvasElement(tagToRemoveAfter2);
1490
+ }
1491
+ _GameWindowManager.app.ticker.remove(ticker.fn);
1492
+ delete _GameWindowManager._currentTickers[tickerId];
1189
1493
  }
1190
1494
  }
1191
1495
  /**
@@ -1212,7 +1516,8 @@ var _GameWindowManager = class _GameWindowManager {
1212
1516
  currentElements[tag] = exportCanvasElement(_GameWindowManager._children[tag]);
1213
1517
  }
1214
1518
  return {
1215
- currentTickers: createExportableElement(_GameWindowManager._currentTickers),
1519
+ currentTickers: createExportableElement(_GameWindowManager.currentTickersWithoutCreatedBySteps),
1520
+ currentTickersSteps: createExportableElement(_GameWindowManager._currentTickersSteps),
1216
1521
  currentElements: createExportableElement(currentElements),
1217
1522
  childrenTagsOrder: createExportableElement(_GameWindowManager.childrenTagsOrder)
1218
1523
  };
@@ -1247,15 +1552,20 @@ var _GameWindowManager = class _GameWindowManager {
1247
1552
  }
1248
1553
  if (data.hasOwnProperty("currentTickers")) {
1249
1554
  let currentTickers = data["currentTickers"];
1250
- currentTickers.forEach((t) => {
1555
+ for (let id in currentTickers) {
1556
+ let t = currentTickers[id];
1251
1557
  let tags = t.canvasElementTags;
1252
- let ticker = geTickerInstanceByClassName(t.className, t.args, t.duration, t.priority);
1558
+ let ticker = geTickerInstanceById(t.id, t.args, t.duration, t.priority);
1253
1559
  if (ticker) {
1254
1560
  _GameWindowManager.addTicker(tags, ticker);
1255
1561
  } else {
1256
- console.error(`[Pixi'VN] Ticker ${t.className} not found`);
1562
+ console.error(`[Pixi'VN] Ticker ${t.id} not found`);
1257
1563
  }
1258
- });
1564
+ }
1565
+ }
1566
+ if (data.hasOwnProperty("currentTickersSteps")) {
1567
+ let currentTickersSteps = data["currentTickersSteps"];
1568
+ _GameWindowManager.restoneTickersSteps(currentTickersSteps);
1259
1569
  }
1260
1570
  } catch (e) {
1261
1571
  console.error("[Pixi'VN] Error importing data", e);
@@ -1269,22 +1579,20 @@ _GameWindowManager._children = {};
1269
1579
  * The order of the children tags.
1270
1580
  */
1271
1581
  _GameWindowManager.childrenTagsOrder = [];
1272
- _GameWindowManager._currentTickers = [];
1582
+ _GameWindowManager._currentTickers = {};
1273
1583
  _GameWindowManager._currentTickersSteps = {};
1274
- _GameWindowManager.currentTickersTimeouts = {};
1584
+ _GameWindowManager._currentTickersTimeouts = {};
1275
1585
  var GameWindowManager = _GameWindowManager;
1276
1586
 
1277
- // src/classes/ticker/TickerMove.ts
1278
- var TickerMove = class extends TickerBase {
1279
- /**
1280
- * The method that will be called every frame to move the canvas element of the canvas.
1281
- * @param t The ticker that is calling this method
1282
- * @param args The arguments that are passed to the ticker
1283
- * @param tags The tags of the canvas element that are connected to this ticker
1284
- */
1285
- fn(t, args, tags) {
1286
- let speed = args.speed === void 0 ? 0.1 : args.speed;
1287
- let destination = args.destination;
1587
+ // src/classes/ticker/RotateTicker.ts
1588
+ var RotateTicker = class extends TickerBase {
1589
+ fn(ticker, args, tags, tickerId) {
1590
+ let speed = (args.speed === void 0 ? 1 : args.speed) / 60;
1591
+ let clockwise = args.clockwise === void 0 ? true : args.clockwise;
1592
+ let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
1593
+ if (typeof tagToRemoveAfter2 === "string") {
1594
+ tagToRemoveAfter2 = [tagToRemoveAfter2];
1595
+ }
1288
1596
  tags.filter((tag) => {
1289
1597
  var _a;
1290
1598
  let element = GameWindowManager.getCanvasElement(tag);
@@ -1297,21 +1605,12 @@ var TickerMove = class extends TickerBase {
1297
1605
  }).forEach((tag) => {
1298
1606
  let element = GameWindowManager.getCanvasElement(tag);
1299
1607
  if (element && element instanceof Container) {
1300
- let xDistance = destination.x - element.x;
1301
- if (xDistance != 0) {
1302
- element.x += xDistance / speed * t.deltaTime;
1303
- let newDistance = destination.x - element.x;
1304
- if (xDistance < 0 && newDistance > 0 || xDistance > 0 && newDistance < 0) {
1305
- element.x = destination.x;
1306
- }
1307
- }
1308
- let yDistance = destination.y - element.y;
1309
- if (yDistance != 0) {
1310
- element.y += yDistance / speed * t.deltaTime;
1311
- let newDistance = destination.y - element.y;
1312
- if (yDistance < 0 && newDistance > 0 || yDistance > 0 && newDistance < 0) {
1313
- element.y = destination.y;
1314
- }
1608
+ if (clockwise)
1609
+ element.rotation += speed * ticker.deltaTime;
1610
+ else
1611
+ element.rotation -= speed * ticker.deltaTime;
1612
+ if (speed < 1e-5 && !(args.speedProgression && args.speedProgression.type == "linear" && args.speedProgression.amt != 0)) {
1613
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
1315
1614
  }
1316
1615
  }
1317
1616
  });
@@ -1319,10 +1618,10 @@ var TickerMove = class extends TickerBase {
1319
1618
  updateTickerProgression(args, "speed", args.speedProgression);
1320
1619
  }
1321
1620
  };
1322
- TickerMove = __decorateClass([
1621
+ RotateTicker = __decorateClass([
1323
1622
  tickerDecorator()
1324
- ], TickerMove);
1623
+ ], RotateTicker);
1325
1624
 
1326
- export { TickerMove as default };
1625
+ export { RotateTicker as default };
1327
1626
  //# sourceMappingURL=out.js.map
1328
- //# sourceMappingURL=TickerMove.mjs.map
1627
+ //# sourceMappingURL=RotateTicker.mjs.map