@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,5 +1,5 @@
1
1
  import 'deep-diff';
2
- import 'crypto-js/sha1';
2
+ import sha1 from 'crypto-js/sha1';
3
3
  import { Sprite, Container, Application, Text, Assets, Texture } from 'pixi.js';
4
4
 
5
5
  var __defProp = Object.defineProperty;
@@ -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) => {
@@ -70,7 +69,7 @@ var Label = class {
70
69
  this._choiseIndex = choiseIndex;
71
70
  }
72
71
  /**
73
- * Get the id of the label
72
+ * Get the id of the label. This variable is used in the system to get the label by id, {@link getLabelById}
74
73
  */
75
74
  get id() {
76
75
  return this._id;
@@ -134,17 +133,23 @@ function exportCanvasElement(element) {
134
133
  return element.memory;
135
134
  }
136
135
  function importCanvasElement(memory) {
137
- let element = getCanvasElementInstanceByClassName(memory.className);
136
+ let element = getCanvasElementInstanceById(memory.pixivnId);
138
137
  if (element) {
139
138
  element.memory = memory;
140
139
  } else {
141
- throw new Error("[Pixi'VN] The element " + memory.className + " could not be created");
140
+ throw new Error("[Pixi'VN] The element " + memory.pixivnId + " could not be created");
142
141
  }
143
142
  return element;
144
143
  }
145
144
 
146
145
  // src/classes/canvas/CanvasContainer.ts
146
+ var CANVAS_CONTAINER_ID = "CanvasContainer";
147
147
  var CanvasContainer = class extends Container {
148
+ constructor(options) {
149
+ super(options);
150
+ this.pixivnId = CANVAS_CONTAINER_ID;
151
+ this.pixivnId = this.constructor.prototype.pixivnId;
152
+ }
148
153
  get memory() {
149
154
  let memory = getMemoryContainer(this);
150
155
  this.children.forEach((child) => {
@@ -160,8 +165,12 @@ var CanvasContainer = class extends Container {
160
165
  }
161
166
  };
162
167
  function getMemoryContainer(element) {
168
+ let className = "CanvasContainer";
169
+ if (element.hasOwnProperty("pixivnId")) {
170
+ className = element.pixivnId;
171
+ }
163
172
  return {
164
- className: "CanvasContainer",
173
+ pixivnId: className,
165
174
  elements: [],
166
175
  width: element.width,
167
176
  height: element.height,
@@ -277,40 +286,43 @@ function getTextStyle(style) {
277
286
 
278
287
  // src/decorators/EventDecorator.ts
279
288
  var registeredEvents = {};
280
- function getEventTypeByClassName(eventName) {
289
+ function getEventTypeById(eventId) {
281
290
  try {
282
- let eventType = registeredEvents[eventName];
291
+ let eventType = registeredEvents[eventId];
283
292
  if (!eventType) {
284
- console.error(`[Pixi'VN] Event ${eventName} not found`);
293
+ console.error(`[Pixi'VN] Event ${eventId} not found`);
285
294
  return;
286
295
  }
287
296
  new eventType();
288
297
  return eventType;
289
298
  } catch (e) {
290
- console.error(`[Pixi'VN] Error while getting Event ${eventName}`, e);
299
+ console.error(`[Pixi'VN] Error while getting Event ${eventId}`, e);
291
300
  return;
292
301
  }
293
302
  }
294
- function getEventInstanceByClassName(eventName) {
303
+ function getEventInstanceById(eventId) {
295
304
  try {
296
- let eventType = registeredEvents[eventName];
305
+ let eventType = registeredEvents[eventId];
297
306
  if (!eventType) {
298
- console.error(`[Pixi'VN] Event ${eventName} not found`);
307
+ console.error(`[Pixi'VN] Event ${eventId} not found`);
299
308
  return;
300
309
  }
301
310
  let event = new eventType();
302
311
  return event;
303
312
  } catch (e) {
304
- console.error(`[Pixi'VN] Error while getting Event ${eventName}`, e);
313
+ console.error(`[Pixi'VN] Error while getting Event ${eventId}`, e);
305
314
  return;
306
315
  }
307
316
  }
308
317
 
309
318
  // src/classes/canvas/CanvasSprite.ts
319
+ var CANVAS_SPRITE_ID = "CanvasSprite";
310
320
  var CanvasSprite = class _CanvasSprite extends Sprite {
311
- constructor() {
312
- super(...arguments);
321
+ constructor(options) {
322
+ super(options);
323
+ this.pixivnId = CANVAS_SPRITE_ID;
313
324
  this._onEvents = {};
325
+ this.pixivnId = this.constructor.prototype.pixivnId;
314
326
  }
315
327
  get memory() {
316
328
  return getMemorySprite(this);
@@ -351,9 +363,9 @@ var CanvasSprite = class _CanvasSprite extends Sprite {
351
363
  * ```
352
364
  */
353
365
  onEvent(event, eventClass) {
354
- let className = eventClass.name;
355
- let instance = getEventInstanceByClassName(className);
356
- this._onEvents[event] = className;
366
+ let id = eventClass.prototype.id;
367
+ let instance = getEventInstanceById(id);
368
+ this._onEvents[event] = id;
357
369
  if (instance) {
358
370
  super.on(event, () => {
359
371
  instance.fn(event, this);
@@ -382,7 +394,7 @@ var CanvasSprite = class _CanvasSprite extends Sprite {
382
394
  function getMemorySprite(element) {
383
395
  let temp = getMemoryContainer(element);
384
396
  return __spreadProps(__spreadValues({}, temp), {
385
- className: "CanvasSprite",
397
+ pixivnId: element.pixivnId,
386
398
  textureImage: getTextureMemory(element.texture),
387
399
  anchor: { x: element.anchor.x, y: element.anchor.y },
388
400
  roundPixels: element.roundPixels,
@@ -405,8 +417,8 @@ function setMemorySprite(element, memory) {
405
417
  }
406
418
  memory.roundPixels && (element.roundPixels = memory.roundPixels);
407
419
  for (let event in memory.onEvents) {
408
- let className = memory.onEvents[event];
409
- let instance = getEventTypeByClassName(className);
420
+ let id = memory.onEvents[event];
421
+ let instance = getEventTypeById(id);
410
422
  if (instance) {
411
423
  element.onEvent(event, instance);
412
424
  }
@@ -414,9 +426,11 @@ function setMemorySprite(element, memory) {
414
426
  }
415
427
 
416
428
  // src/classes/canvas/CanvasImage.ts
429
+ var CANVAS_IMAGE_ID = "CanvasImage";
417
430
  var CanvasImage = class _CanvasImage extends CanvasSprite {
418
431
  constructor(options, imageLink) {
419
432
  super(options);
433
+ this.pixivnId = CANVAS_IMAGE_ID;
420
434
  this.imageLink = "";
421
435
  if (imageLink) {
422
436
  this.imageLink = imageLink;
@@ -424,12 +438,13 @@ var CanvasImage = class _CanvasImage extends CanvasSprite {
424
438
  }
425
439
  get memory() {
426
440
  return __spreadProps(__spreadValues({}, getMemorySprite(this)), {
427
- className: "CanvasImage",
428
- textureImage: { image: this.imageLink }
441
+ pixivnId: this.pixivnId,
442
+ imageLink: this.imageLink
429
443
  });
430
444
  }
431
445
  set memory(memory) {
432
446
  setMemorySprite(this, memory);
447
+ this.imageLink = memory.imageLink;
433
448
  }
434
449
  static from(source, skipCache) {
435
450
  let sprite = Sprite.from(source, skipCache);
@@ -457,10 +472,13 @@ var CanvasImage = class _CanvasImage extends CanvasSprite {
457
472
  });
458
473
  }
459
474
  };
475
+ var CANVAS_TEXT_ID = "CanvasText";
460
476
  var CanvasText = class extends Text {
461
- constructor() {
462
- super(...arguments);
477
+ constructor(options) {
478
+ super(options);
479
+ this.pixivnId = CANVAS_TEXT_ID;
463
480
  this._onEvents = {};
481
+ this.pixivnId = this.constructor.prototype.pixivnId;
464
482
  }
465
483
  get memory() {
466
484
  return getMemoryText(this);
@@ -501,9 +519,9 @@ var CanvasText = class extends Text {
501
519
  * ```
502
520
  */
503
521
  onEvent(event, eventClass) {
504
- let className = eventClass.name;
505
- let instance = getEventInstanceByClassName(className);
506
- this._onEvents[event] = className;
522
+ let id = eventClass.prototype.id;
523
+ let instance = getEventInstanceById(id);
524
+ this._onEvents[event] = id;
507
525
  if (instance) {
508
526
  super.on(event, () => {
509
527
  instance.fn(event, this);
@@ -526,7 +544,7 @@ var CanvasText = class extends Text {
526
544
  function getMemoryText(element) {
527
545
  let temp = getMemoryContainer(element);
528
546
  return __spreadProps(__spreadValues({}, temp), {
529
- className: "CanvasText",
547
+ pixivnId: element.pixivnId,
530
548
  anchor: { x: element.anchor.x, y: element.anchor.y },
531
549
  text: element.text,
532
550
  resolution: element.resolution,
@@ -549,8 +567,8 @@ function setMemoryText(element, memory) {
549
567
  memory.style && (element.style = memory.style);
550
568
  memory.roundPixels && (element.roundPixels = memory.roundPixels);
551
569
  for (let event in memory.onEvents) {
552
- let className = memory.onEvents[event];
553
- let instance = getEventTypeByClassName(className);
570
+ let id = memory.onEvents[event];
571
+ let instance = getEventTypeById(id);
554
572
  if (instance) {
555
573
  element.onEvent(event, instance);
556
574
  }
@@ -559,28 +577,28 @@ function setMemoryText(element, memory) {
559
577
 
560
578
  // src/decorators/CanvasElementDecorator.ts
561
579
  var registeredCanvasElement = {};
562
- function getCanvasElementInstanceByClassName(canvasName) {
580
+ function getCanvasElementInstanceById(canvasId) {
563
581
  try {
564
- let eventType = registeredCanvasElement[canvasName];
582
+ let eventType = registeredCanvasElement[canvasId];
565
583
  if (!eventType) {
566
- if (canvasName === "CanvasContainer") {
584
+ if (canvasId === CANVAS_CONTAINER_ID) {
567
585
  eventType = CanvasContainer;
568
- } else if (canvasName === "CanvasImage") {
586
+ } else if (canvasId === CANVAS_IMAGE_ID) {
569
587
  eventType = CanvasImage;
570
- } else if (canvasName === "CanvasSprite") {
588
+ } else if (canvasId === CANVAS_SPRITE_ID) {
571
589
  eventType = CanvasSprite;
572
- } else if (canvasName === "CanvasText") {
590
+ } else if (canvasId === CANVAS_TEXT_ID) {
573
591
  eventType = CanvasText;
574
592
  }
575
593
  }
576
594
  if (!eventType) {
577
- console.error(`[Pixi'VN] CanvasElement ${canvasName} not found`);
595
+ console.error(`[Pixi'VN] CanvasElement ${canvasId} not found`);
578
596
  return;
579
597
  }
580
598
  let canvasElement = new eventType();
581
599
  return canvasElement;
582
600
  } catch (e) {
583
- console.error(`[Pixi'VN] Error while getting CanvasElement ${canvasName}`, e);
601
+ console.error(`[Pixi'VN] Error while getting CanvasElement ${canvasId}`, e);
584
602
  return;
585
603
  }
586
604
  }
@@ -593,68 +611,66 @@ function tickerDecorator(name) {
593
611
  name = target.name;
594
612
  }
595
613
  if (registeredTickers[name]) {
596
- console.warn(`[Pixi'VN] Ticker ${name} already exists, it will be overwritten`);
614
+ console.info(`[Pixi'VN] Ticker ${name} already exists, it will be overwritten`);
597
615
  }
616
+ target.prototype.id = name;
598
617
  registeredTickers[name] = target;
599
618
  };
600
619
  }
601
- function geTickerInstanceByClassName(tickerName, args, duration, priority) {
620
+ function geTickerInstanceById(tickerId, args, duration, priority) {
602
621
  try {
603
- let ticker = registeredTickers[tickerName];
622
+ let ticker = registeredTickers[tickerId];
604
623
  if (!ticker) {
605
- console.error(`[Pixi'VN] Ticker ${tickerName} not found`);
624
+ console.error(`[Pixi'VN] Ticker ${tickerId} not found`);
606
625
  return;
607
626
  }
608
627
  return new ticker(args, duration, priority);
609
628
  } catch (e) {
610
- console.error(`[Pixi'VN] Error while getting Ticker ${tickerName}`, e);
629
+ console.error(`[Pixi'VN] Error while getting Ticker ${tickerId}`, e);
611
630
  return;
612
631
  }
613
632
  }
614
633
 
615
- // src/types/PauseType.ts
616
- var PauseValueType = "pause";
617
-
618
- // src/types/RepeatType.ts
619
- var Repeat = "repeat";
620
-
621
634
  // src/classes/ticker/TickerBase.ts
622
635
  var TickerBase = class {
623
636
  /**
624
637
  * @param args The arguments that you want to pass to the ticker.
625
- * @param duration The duration of the ticker. If is undefined, the ticker will be called every frame.
626
- * @param priority The priority of the ticker. If is undefined, the priority will be UPDATE_PRIORITY.NORMAL.
638
+ * @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
639
+ * @param priority The priority of the ticker. @default UPDATE_PRIORITY.NORMAL
627
640
  */
628
641
  constructor(args, duration, priority) {
642
+ /**
643
+ * Get the id of the ticker. This variable is used in the system to get the ticker by id, {@link geTickerInstanceById}
644
+ */
645
+ this.id = "ticker_id_not_set";
629
646
  this.args = args;
630
647
  this.duration = duration;
631
648
  this.priority = priority;
649
+ this.id = this.constructor.prototype.id;
632
650
  }
633
651
  /**
634
652
  * The method that will be called every frame.
635
653
  * This method should be overridden and you can use GameWindowManager.addCanvasElement() to get the canvas element of the canvas, and edit them.
636
- * @param t The ticker that is calling this method
637
- * @param args The arguments that you passed when you added the ticker
638
- * @param tags The tags of the canvas elements that are connected to this ticker
654
+ * @param _ticker The ticker that is calling this method
655
+ * @param _args The arguments that you passed when you added the ticker
656
+ * @param _tags The tags of the canvas elements that are connected to this ticker
657
+ * @param _tickerId The id of the ticker. You can use this to get the ticker from the {@link GameWindowManager.currentTickers}
639
658
  */
640
- fn(_t, _args, _tags) {
659
+ fn(_ticker, _args, _tags, _tickerId) {
641
660
  throw new Error("[Pixi'VN] The method TickerBase.fn() must be overridden");
642
661
  }
643
662
  };
644
- var TickerFadeAlpha = class extends TickerBase {
645
- /**
646
- * The method that will be called every frame to fade the alpha of the canvas element of the canvas.
647
- * @param delta The delta time
648
- * @param args The arguments that are passed to the ticker
649
- * @param tags The tags of the canvas element that are connected to this ticker
650
- */
651
- fn(t, args, tags) {
663
+
664
+ // src/classes/ticker/FadeAlphaTicker.ts
665
+ var FadeAlphaTicker = class extends TickerBase {
666
+ fn(ticker, args, tags, tickerId) {
652
667
  let type = args.type === void 0 ? "hide" : args.type;
653
- let speed = args.speed === void 0 ? 0.1 : args.speed;
668
+ let duration = args.duration === void 0 ? 1 : args.duration;
669
+ let speed = 1 / (duration * 60);
654
670
  let limit = args.limit === void 0 ? type === "hide" ? 0 : 1 : args.limit;
655
- let removeElementAfter = args.tagToRemoveAfter || [];
656
- if (typeof removeElementAfter === "string") {
657
- removeElementAfter = [removeElementAfter];
671
+ let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
672
+ if (typeof tagToRemoveAfter2 === "string") {
673
+ tagToRemoveAfter2 = [tagToRemoveAfter2];
658
674
  }
659
675
  if (type === "hide" && limit < 0) {
660
676
  limit = 0;
@@ -675,61 +691,88 @@ var TickerFadeAlpha = class extends TickerBase {
675
691
  let element = GameWindowManager.getCanvasElement(tag);
676
692
  if (element && element instanceof Container) {
677
693
  if (type === "show" && element.alpha < limit) {
678
- element.alpha += speed * t.deltaTime;
694
+ element.alpha += speed * ticker.deltaTime;
679
695
  } else if (type === "hide" && element.alpha > limit) {
680
- element.alpha -= speed * t.deltaTime;
681
- } else {
696
+ element.alpha -= speed * ticker.deltaTime;
697
+ }
698
+ if (type === "show" && element.alpha >= limit) {
682
699
  element.alpha = limit;
683
- GameWindowManager.removeAssociationBetweenTickerCanvasElement(tag, this);
684
- GameWindowManager.removeCanvasElement(removeElementAfter);
700
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
701
+ } else if (type === "hide" && element.alpha <= limit) {
702
+ element.alpha = limit;
703
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
685
704
  }
686
705
  }
687
706
  });
688
707
  }
689
708
  };
690
- TickerFadeAlpha = __decorateClass([
709
+ FadeAlphaTicker = __decorateClass([
691
710
  tickerDecorator()
692
- ], TickerFadeAlpha);
711
+ ], FadeAlphaTicker);
693
712
 
694
713
  // src/functions/TickerUtility.ts
695
714
  function updateTickerProgression(args, propertyName, progression) {
696
- if (args.hasOwnProperty(propertyName) && typeof args[propertyName] !== "number") {
715
+ if (args[propertyName] === void 0 || !progression || args[propertyName] === progression.limit) {
697
716
  return;
698
717
  }
699
- if (args[propertyName] !== void 0 && progression && args[propertyName] !== progression.limit) {
718
+ if (typeof args[propertyName] === "number") {
700
719
  if (progression.type === "linear") {
701
- args[propertyName] += progression.amt;
702
- if (progression.limit !== void 0) {
703
- if (args[propertyName] > progression.limit && progression.amt > 0) {
704
- args[propertyName] = progression.limit;
705
- } else if (args[propertyName] < progression.limit && progression.amt < 0) {
706
- args[propertyName] = progression.limit;
707
- }
708
- }
720
+ args[propertyName] = getLinearProgression(args[propertyName], progression);
709
721
  } else if (progression.type === "exponential") {
710
- args[propertyName] += args[propertyName] * progression.percentage;
711
- if (progression.limit !== void 0) {
712
- if (args[propertyName] > progression.limit && progression.percentage > 0) {
713
- args[propertyName] = progression.limit;
714
- } else if (args[propertyName] < progression.limit && progression.percentage < 0) {
715
- args[propertyName] = progression.limit;
716
- }
717
- }
722
+ args[propertyName] = getExponentialProgression(args[propertyName], progression);
723
+ }
724
+ } 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") {
725
+ if (progression.type === "linear") {
726
+ args[propertyName].x = getLinearProgression(args[propertyName].x, progression);
727
+ args[propertyName].y = getLinearProgression(args[propertyName].y, progression);
728
+ } else if (progression.type === "exponential") {
729
+ args[propertyName].x = getExponentialProgression(args[propertyName].x, progression);
730
+ args[propertyName].y = getExponentialProgression(args[propertyName].y, progression);
718
731
  }
719
732
  }
720
733
  }
734
+ function getLinearProgression(number, progression) {
735
+ if (progression.limit !== void 0) {
736
+ if (number > progression.limit && progression.amt > 0) {
737
+ return progression.limit;
738
+ } else if (number < progression.limit && progression.amt < 0) {
739
+ return progression.limit;
740
+ }
741
+ }
742
+ return number + progression.amt / 60;
743
+ }
744
+ function getExponentialProgression(number, progression) {
745
+ if (progression.limit !== void 0) {
746
+ if (number > progression.limit && progression.percentage > 0) {
747
+ return progression.limit;
748
+ } else if (number < progression.limit && progression.percentage < 0) {
749
+ return progression.limit;
750
+ }
751
+ }
752
+ return number + number * progression.percentage;
753
+ }
721
754
 
722
- // src/classes/ticker/TickerMove.ts
723
- var TickerMove = class extends TickerBase {
724
- /**
725
- * The method that will be called every frame to move the canvas element of the canvas.
726
- * @param t The ticker that is calling this method
727
- * @param args The arguments that are passed to the ticker
728
- * @param tags The tags of the canvas element that are connected to this ticker
729
- */
730
- fn(t, args, tags) {
731
- let speed = args.speed === void 0 ? 0.1 : args.speed;
755
+ // src/classes/ticker/MoveTicker.ts
756
+ var MoveTicker = class extends TickerBase {
757
+ fn(ticker, args, tags, tickerId) {
758
+ let xSpeed = 1;
759
+ let ySpeed = 1;
760
+ if (args.speed) {
761
+ if (typeof args.speed === "number") {
762
+ xSpeed = args.speed;
763
+ ySpeed = args.speed;
764
+ } else {
765
+ xSpeed = args.speed.x;
766
+ ySpeed = args.speed.y;
767
+ }
768
+ }
769
+ xSpeed /= 60;
770
+ ySpeed /= 60;
732
771
  let destination = args.destination;
772
+ let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
773
+ if (typeof tagToRemoveAfter2 === "string") {
774
+ tagToRemoveAfter2 = [tagToRemoveAfter2];
775
+ }
733
776
  tags.filter((tag) => {
734
777
  var _a;
735
778
  let element = GameWindowManager.getCanvasElement(tag);
@@ -742,41 +785,42 @@ var TickerMove = class extends TickerBase {
742
785
  }).forEach((tag) => {
743
786
  let element = GameWindowManager.getCanvasElement(tag);
744
787
  if (element && element instanceof Container) {
745
- let xDistance = destination.x - element.x;
788
+ let xDistance = destination.x - element.x > 0 ? 1 : -1;
746
789
  if (xDistance != 0) {
747
- element.x += xDistance / speed * t.deltaTime;
790
+ element.x += xDistance * xSpeed * ticker.deltaTime;
748
791
  let newDistance = destination.x - element.x;
749
792
  if (xDistance < 0 && newDistance > 0 || xDistance > 0 && newDistance < 0) {
750
793
  element.x = destination.x;
751
794
  }
752
795
  }
753
- let yDistance = destination.y - element.y;
796
+ let yDistance = destination.y - element.y > 0 ? 1 : -1;
754
797
  if (yDistance != 0) {
755
- element.y += yDistance / speed * t.deltaTime;
798
+ element.y += yDistance * ySpeed * ticker.deltaTime;
756
799
  let newDistance = destination.y - element.y;
757
800
  if (yDistance < 0 && newDistance > 0 || yDistance > 0 && newDistance < 0) {
758
801
  element.y = destination.y;
759
802
  }
760
803
  }
804
+ if (element.x == destination.x && element.y == destination.y) {
805
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
806
+ }
761
807
  }
762
808
  });
763
809
  if (args.speedProgression)
764
810
  updateTickerProgression(args, "speed", args.speedProgression);
765
811
  }
766
812
  };
767
- TickerMove = __decorateClass([
813
+ MoveTicker = __decorateClass([
768
814
  tickerDecorator()
769
- ], TickerMove);
770
- var TickerRotate = class extends TickerBase {
771
- /**
772
- * The method that will be called every frame to rotate the canvas element of the canvas.
773
- * @param delta The delta time
774
- * @param args The arguments that are passed to the ticker
775
- * @param tags The tags of the canvas element that are connected to this ticker
776
- */
777
- fn(t, args, tags) {
778
- let speed = args.speed === void 0 ? 0.1 : args.speed;
815
+ ], MoveTicker);
816
+ var RotateTicker = class extends TickerBase {
817
+ fn(ticker, args, tags, tickerId) {
818
+ let speed = (args.speed === void 0 ? 1 : args.speed) / 60;
779
819
  let clockwise = args.clockwise === void 0 ? true : args.clockwise;
820
+ let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
821
+ if (typeof tagToRemoveAfter2 === "string") {
822
+ tagToRemoveAfter2 = [tagToRemoveAfter2];
823
+ }
780
824
  tags.filter((tag) => {
781
825
  var _a;
782
826
  let element = GameWindowManager.getCanvasElement(tag);
@@ -790,18 +834,114 @@ var TickerRotate = class extends TickerBase {
790
834
  let element = GameWindowManager.getCanvasElement(tag);
791
835
  if (element && element instanceof Container) {
792
836
  if (clockwise)
793
- element.rotation += speed * t.deltaTime;
837
+ element.rotation += speed * ticker.deltaTime;
794
838
  else
795
- element.rotation -= speed * t.deltaTime;
839
+ element.rotation -= speed * ticker.deltaTime;
840
+ if (speed < 1e-5 && !(args.speedProgression && args.speedProgression.type == "linear" && args.speedProgression.amt != 0)) {
841
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
842
+ }
796
843
  }
797
844
  });
798
845
  if (args.speedProgression)
799
846
  updateTickerProgression(args, "speed", args.speedProgression);
800
847
  }
801
848
  };
802
- TickerRotate = __decorateClass([
849
+ RotateTicker = __decorateClass([
803
850
  tickerDecorator()
804
- ], TickerRotate);
851
+ ], RotateTicker);
852
+ var ZoomTicker = class extends TickerBase {
853
+ fn(ticker, args, tags, tickerId) {
854
+ let xSpeed = 0.1;
855
+ let ySpeed = 0.1;
856
+ if (args.speed) {
857
+ if (typeof args.speed === "number") {
858
+ xSpeed = args.speed;
859
+ ySpeed = args.speed;
860
+ } else {
861
+ xSpeed = args.speed.x;
862
+ ySpeed = args.speed.y;
863
+ }
864
+ }
865
+ xSpeed /= 60;
866
+ ySpeed /= 60;
867
+ let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
868
+ if (typeof tagToRemoveAfter2 === "string") {
869
+ tagToRemoveAfter2 = [tagToRemoveAfter2];
870
+ }
871
+ let type = args.type || "zoom";
872
+ let xLimit = type === "zoom" ? Infinity : 0;
873
+ let yLimit = type === "zoom" ? Infinity : 0;
874
+ if (args.limit) {
875
+ if (typeof args.limit === "number") {
876
+ xLimit = args.limit;
877
+ yLimit = args.limit;
878
+ } else {
879
+ xLimit = args.limit.x;
880
+ yLimit = args.limit.y;
881
+ }
882
+ }
883
+ tags.filter((tag) => {
884
+ var _a;
885
+ let element = GameWindowManager.getCanvasElement(tag);
886
+ if (args.startOnlyIfHaveTexture) {
887
+ if (element && element instanceof Sprite && ((_a = element.texture) == null ? void 0 : _a.label) == "EMPTY") {
888
+ return false;
889
+ }
890
+ }
891
+ return true;
892
+ }).forEach((tag) => {
893
+ let element = GameWindowManager.getCanvasElement(tag);
894
+ if (element && element instanceof Container) {
895
+ if (type === "zoom" && (element.scale.x < xLimit || element.scale.y < yLimit)) {
896
+ element.scale.x += xSpeed * ticker.deltaTime;
897
+ element.scale.y += ySpeed * ticker.deltaTime;
898
+ } else if (type === "unzoom" && (element.scale.x > xLimit || element.scale.y > yLimit)) {
899
+ element.scale.x -= xSpeed * ticker.deltaTime;
900
+ element.scale.y -= ySpeed * ticker.deltaTime;
901
+ }
902
+ if (type === "zoom") {
903
+ if (element.scale.x > xLimit) {
904
+ element.scale.x = xLimit;
905
+ }
906
+ if (element.scale.y > yLimit) {
907
+ element.scale.y = yLimit;
908
+ }
909
+ if (element.scale.x >= xLimit && element.scale.y >= yLimit) {
910
+ element.scale.x = xLimit;
911
+ element.scale.y = yLimit;
912
+ this.onEndOfTicker(tag, tickerId, element, tagToRemoveAfter2);
913
+ }
914
+ } else if (type === "unzoom") {
915
+ if (element.scale.x < xLimit) {
916
+ element.scale.x = xLimit;
917
+ }
918
+ if (element.scale.y < yLimit) {
919
+ element.scale.y = yLimit;
920
+ }
921
+ if (element.scale.x <= xLimit && element.scale.y <= yLimit) {
922
+ element.scale.x = xLimit;
923
+ element.scale.y = yLimit;
924
+ this.onEndOfTicker(tag, tickerId, element, tagToRemoveAfter2);
925
+ }
926
+ }
927
+ if (xSpeed < 1e-5 && ySpeed < 1e-5 && !(args.speedProgression && args.speedProgression.type == "linear" && args.speedProgression.amt != 0)) {
928
+ this.onEndOfTicker(tag, tickerId, element, tagToRemoveAfter2);
929
+ }
930
+ }
931
+ });
932
+ if (args.speedProgression)
933
+ updateTickerProgression(args, "speed", args.speedProgression);
934
+ }
935
+ onEndOfTicker(tag, tickerId, _element, tagToRemoveAfter2) {
936
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
937
+ }
938
+ };
939
+ ZoomTicker = __decorateClass([
940
+ tickerDecorator()
941
+ ], ZoomTicker);
942
+
943
+ // src/constants.ts
944
+ var Repeat = "repeat";
805
945
 
806
946
  // src/functions/ExportUtility.ts
807
947
  function createExportableElement(element) {
@@ -825,6 +965,9 @@ function asciiArtLog() {
825
965
  `);
826
966
  }
827
967
 
968
+ // src/types/ticker/TagToRemoveAfterType.ts
969
+ var tagToRemoveAfter = "tagToRemoveAfter";
970
+
828
971
  // src/managers/WindowManager.ts
829
972
  var _GameWindowManager = class _GameWindowManager {
830
973
  constructor() {
@@ -1007,25 +1150,25 @@ var _GameWindowManager = class _GameWindowManager {
1007
1150
  /**
1008
1151
  * Remove a canvas element from the canvas.
1009
1152
  * And remove all tickers that are not connected to any canvas element.
1010
- * @param tag The tag of the canvas element to be removed.
1153
+ * @param tags The tag of the canvas element to be removed.
1011
1154
  * @returns
1012
1155
  * @example
1013
1156
  * ```typescript
1014
1157
  * GameWindowManager.removeCanvasElement("bunny");
1015
1158
  * ```
1016
1159
  */
1017
- static removeCanvasElement(tag) {
1018
- if (typeof tag === "string") {
1019
- tag = [tag];
1160
+ static removeCanvasElement(tags) {
1161
+ if (typeof tags === "string") {
1162
+ tags = [tags];
1020
1163
  }
1021
- tag.forEach((t) => {
1022
- if (_GameWindowManager._children[t]) {
1023
- _GameWindowManager.app.stage.removeChild(_GameWindowManager._children[t]);
1024
- delete _GameWindowManager._children[t];
1164
+ tags.forEach((tag) => {
1165
+ if (_GameWindowManager._children[tag]) {
1166
+ _GameWindowManager.app.stage.removeChild(_GameWindowManager._children[tag]);
1167
+ delete _GameWindowManager._children[tag];
1168
+ _GameWindowManager.removeTickerByCanvasElement(tag);
1025
1169
  }
1026
1170
  });
1027
- _GameWindowManager.removeTickersWithoutAssociatedCanvasElement();
1028
- _GameWindowManager.childrenTagsOrder = _GameWindowManager.childrenTagsOrder.filter((t) => !tag.includes(t));
1171
+ _GameWindowManager.childrenTagsOrder = _GameWindowManager.childrenTagsOrder.filter((t) => !tags.includes(t));
1029
1172
  }
1030
1173
  /**
1031
1174
  * Get a canvas element by the tag.
@@ -1055,18 +1198,43 @@ var _GameWindowManager = class _GameWindowManager {
1055
1198
  _GameWindowManager.app.stage.removeChildren();
1056
1199
  _GameWindowManager._children = {};
1057
1200
  _GameWindowManager.childrenTagsOrder = [];
1058
- _GameWindowManager.removeTickers();
1201
+ _GameWindowManager.removeAllTickers();
1059
1202
  }
1060
1203
  /**
1061
1204
  * Edit the tag of a canvas element.
1062
1205
  * @param oldTag The old tag of the canvas element.
1063
1206
  * @param newTag The new tag of the canvas element.
1064
1207
  */
1065
- static editTagCanvasElement(oldTag, newTag) {
1208
+ static editCanvasElementTag(oldTag, newTag) {
1066
1209
  if (_GameWindowManager._children[oldTag]) {
1067
1210
  _GameWindowManager._children[newTag] = _GameWindowManager._children[oldTag];
1068
1211
  delete _GameWindowManager._children[oldTag];
1069
1212
  }
1213
+ if (_GameWindowManager._currentTickersSteps[oldTag]) {
1214
+ _GameWindowManager._currentTickersSteps[newTag] = _GameWindowManager._currentTickersSteps[oldTag];
1215
+ delete _GameWindowManager._currentTickersSteps[oldTag];
1216
+ }
1217
+ for (let id in _GameWindowManager._currentTickers) {
1218
+ let ticker = _GameWindowManager._currentTickers[id];
1219
+ if (ticker.canvasElementTags.includes(oldTag)) {
1220
+ ticker.canvasElementTags = ticker.canvasElementTags.map((t) => t === oldTag ? newTag : t);
1221
+ if (ticker.args.hasOwnProperty(tagToRemoveAfter)) {
1222
+ let tagToRemoveAfter2 = ticker.args.tagToRemoveAfter;
1223
+ if (typeof tagToRemoveAfter2 === "string") {
1224
+ tagToRemoveAfter2 = [tagToRemoveAfter2];
1225
+ }
1226
+ if (Array.isArray(tagToRemoveAfter2)) {
1227
+ ticker.args.tagToRemoveAfter = tagToRemoveAfter2.map((t) => t === oldTag ? newTag : t);
1228
+ }
1229
+ }
1230
+ }
1231
+ }
1232
+ for (let timeout in _GameWindowManager._currentTickersTimeouts) {
1233
+ let TickerTimeout = _GameWindowManager._currentTickersTimeouts[timeout];
1234
+ if (TickerTimeout.tags.includes(oldTag)) {
1235
+ TickerTimeout.tags = TickerTimeout.tags.map((t) => t === oldTag ? newTag : t);
1236
+ }
1237
+ }
1070
1238
  }
1071
1239
  /** Edit Tickers Methods */
1072
1240
  /**
@@ -1075,106 +1243,127 @@ var _GameWindowManager = class _GameWindowManager {
1075
1243
  static get currentTickers() {
1076
1244
  return _GameWindowManager._currentTickers;
1077
1245
  }
1246
+ static get currentTickersList() {
1247
+ return Object.values(_GameWindowManager._currentTickers);
1248
+ }
1249
+ static get currentTickersWithoutCreatedBySteps() {
1250
+ return Object.fromEntries(Object.entries(_GameWindowManager._currentTickers).filter(([_, ticker]) => !ticker.createdByTicketStepsId));
1251
+ }
1078
1252
  /**
1079
1253
  * The steps of the tickers
1080
1254
  */
1081
1255
  static get currentTickersSteps() {
1082
1256
  return _GameWindowManager._currentTickersSteps;
1083
1257
  }
1258
+ static generateTickerId(tickerData) {
1259
+ try {
1260
+ return sha1(JSON.stringify(tickerData)).toString() + "_" + Math.random().toString(36).substring(7);
1261
+ } catch (e) {
1262
+ throw new Error(`[Pixi'VN] Error to generate ticker id: ${e}`);
1263
+ }
1264
+ }
1084
1265
  /**
1085
- * Run a ticker.
1266
+ * Run a ticker. You can run multiple addTicker with the same tag and different tickerClasses.
1267
+ * If you run a ticker with the same tag and tickerClass, the old ticker will be removed.
1268
+ * If already exists a sequence of tickers with the same tag, it will be removed.
1086
1269
  * @param canvasEslementTag The tag of the canvas element that will use the ticker.
1087
1270
  * @param ticker The ticker class to be run.
1088
1271
  * @param args The arguments to be used in the ticker.
1089
- * @param duration The time to be used in the ticker. This number is in milliseconds. If it is undefined, the ticker will run forever.
1272
+ * @param duration The time to be used in the ticker. This number is in seconds. If it is undefined, the ticker will run forever.
1090
1273
  * @param priority The priority to be used in the ticker.
1091
1274
  * @returns
1092
1275
  * @example
1093
1276
  * ```typescript
1094
- * GameWindowManager.addTicker("alien", new TickerRotate({ speed: 0.2 }))
1277
+ * GameWindowManager.addTicker("alien", new RotateTicker({ speed: 0.2 }))
1095
1278
  * ```
1096
1279
  */
1097
1280
  static addTicker(canvasElementTag, ticker) {
1098
- let tickerName = ticker.constructor.name;
1281
+ let tickerId = ticker.id;
1099
1282
  if (typeof canvasElementTag === "string") {
1100
1283
  canvasElementTag = [canvasElementTag];
1101
1284
  }
1102
- let t = geTickerInstanceByClassName(tickerName, ticker.args, ticker.duration, ticker.priority);
1103
- if (!t) {
1104
- console.error(`[Pixi'VN] Ticker ${tickerName} not found`);
1285
+ if (!geTickerInstanceById(tickerId, ticker.args, ticker.duration, ticker.priority)) {
1286
+ console.error(`[Pixi'VN] Ticker ${tickerId} not found`);
1105
1287
  return;
1106
1288
  }
1107
- _GameWindowManager.removeAssociationBetweenTickerCanvasElement(canvasElementTag, ticker);
1108
1289
  let tickerHistory = {
1109
1290
  fn: () => {
1110
1291
  },
1111
- className: tickerName,
1112
- args: ticker.args,
1292
+ id: tickerId,
1293
+ args: createExportableElement(ticker.args),
1113
1294
  canvasElementTags: canvasElementTag,
1114
1295
  priority: ticker.priority,
1115
1296
  duration: ticker.duration
1116
1297
  };
1117
- _GameWindowManager.pushTicker(tickerHistory, t);
1118
- _GameWindowManager.removeTickersWithoutAssociatedCanvasElement();
1298
+ let id = _GameWindowManager.generateTickerId(tickerHistory);
1299
+ _GameWindowManager.pushTicker(id, tickerHistory, ticker);
1119
1300
  if (ticker.duration) {
1120
1301
  let timeout = setTimeout(() => {
1121
1302
  _GameWindowManager.removeTickerTimeoutInfo(timeout);
1122
- _GameWindowManager.nextTickerStep(canvasElementTag);
1123
- }, ticker.duration);
1124
- _GameWindowManager.addTickerTimeoutInfo(canvasElementTag, tickerName, timeout.toString());
1303
+ let tickerTimeoutInfo = _GameWindowManager._currentTickersTimeouts[timeout.toString()];
1304
+ if (tickerTimeoutInfo) {
1305
+ _GameWindowManager.removeTicker(id);
1306
+ }
1307
+ }, ticker.duration * 1e3);
1308
+ _GameWindowManager.addTickerTimeoutInfo(canvasElementTag, tickerId, timeout.toString(), true);
1125
1309
  }
1126
1310
  }
1127
- static pushTicker(tickerData, ticker) {
1128
- _GameWindowManager.removeAssociationBetweenTickerCanvasElement(tickerData.canvasElementTags, tickerData);
1129
- _GameWindowManager._currentTickers.push(tickerData);
1311
+ static pushTicker(id, tickerData, ticker) {
1312
+ _GameWindowManager.removeAssociationBetweenTickerCanvasElement(tickerData.canvasElementTags, ticker);
1313
+ _GameWindowManager._currentTickers[id] = tickerData;
1130
1314
  tickerData.fn = (t) => {
1131
- ticker == null ? void 0 : ticker.fn(t, tickerData.args, tickerData.canvasElementTags);
1315
+ let data = _GameWindowManager._currentTickers[id];
1316
+ if (data) {
1317
+ ticker == null ? void 0 : ticker.fn(t, data.args, data.canvasElementTags, id);
1318
+ }
1132
1319
  };
1133
1320
  _GameWindowManager.app.ticker.add(tickerData.fn, void 0, tickerData.priority);
1134
1321
  }
1135
1322
  /**
1136
- * Run a sequence of tickers.
1323
+ * Run a sequence of tickers. If exists a ticker steps with the same tag, it will be removed.
1137
1324
  * @param tag The tag of canvas element that will use the tickers.
1138
1325
  * @param steps The steps of the tickers.
1326
+ * @param currentStepNumber The current step number. It is used to continue the sequence of tickers.
1139
1327
  * @returns
1140
1328
  * @example
1141
1329
  * ```typescript
1142
1330
  * GameWindowManager.addTickersSteps("alien", [
1143
- * new TickerRotate({ speed: 0.1, clockwise: true }, 2000),
1144
- * Pause(500),
1145
- * new TickerRotate({ speed: 0.2, clockwise: false }, 2000),
1331
+ * new RotateTicker({ speed: 0.1, clockwise: true }, 2), // 2 seconds
1332
+ * Pause(1), // 1 second
1333
+ * new RotateTicker({ speed: 0.2, clockwise: false }, 2),
1146
1334
  * Repeat,
1147
1335
  * ])
1148
1336
  * ```
1149
1337
  */
1150
- static addTickersSteps(tag, steps) {
1338
+ static addTickersSteps(tag, steps, currentStepNumber = 0) {
1151
1339
  if (steps.length == 0) {
1152
1340
  console.warn("[Pixi'VN] The steps of the tickers is empty");
1153
1341
  return;
1154
1342
  }
1155
- let alredyExists = _GameWindowManager._currentTickersSteps[tag] !== void 0;
1343
+ _GameWindowManager.removeTickerStepByCanvasElement(tag);
1156
1344
  _GameWindowManager._currentTickersSteps[tag] = {
1157
- currentStepNumber: 0,
1158
- steps: steps.map((s) => {
1159
- if (s === Repeat) {
1160
- return s;
1161
- }
1162
- if (!s.duration) {
1163
- console.warn("[Pixi'VN] Duration is not defined, so it will be set to 1000");
1164
- s.duration = 1e3;
1345
+ currentStepNumber,
1346
+ steps: steps.map((step) => {
1347
+ if (step === Repeat) {
1348
+ return step;
1165
1349
  }
1166
- if (s.hasOwnProperty("type") && s.type === PauseValueType) {
1167
- return s;
1350
+ if (step.hasOwnProperty("type") && step.type === "pause") {
1351
+ return step;
1168
1352
  }
1169
- let tickerName = s.constructor.name;
1353
+ let tickerId = step.id;
1170
1354
  return {
1171
- ticker: tickerName,
1172
- args: s.args,
1173
- duration: s.duration
1355
+ ticker: tickerId,
1356
+ args: createExportableElement(step.args),
1357
+ duration: step.duration
1174
1358
  };
1175
1359
  })
1176
1360
  };
1177
- if (!alredyExists) {
1361
+ _GameWindowManager.runTickersSteps(tag);
1362
+ }
1363
+ static restoneTickersSteps(data) {
1364
+ for (let tag in data) {
1365
+ let steps = data[tag];
1366
+ _GameWindowManager._currentTickersSteps[tag] = steps;
1178
1367
  _GameWindowManager.runTickersSteps(tag);
1179
1368
  }
1180
1369
  }
@@ -1188,70 +1377,106 @@ var _GameWindowManager = class _GameWindowManager {
1188
1377
  return;
1189
1378
  }
1190
1379
  }
1191
- if (step.hasOwnProperty("type") && step.type === PauseValueType) {
1380
+ if (step.hasOwnProperty("type") && step.type === "pause") {
1192
1381
  let timeout = setTimeout(() => {
1382
+ let tickerTimeoutInfo = _GameWindowManager._currentTickersTimeouts[timeout.toString()];
1383
+ if (tickerTimeoutInfo) {
1384
+ tickerTimeoutInfo.tags.forEach((tag2) => {
1385
+ _GameWindowManager.nextTickerStep(tag2);
1386
+ });
1387
+ }
1193
1388
  _GameWindowManager.removeTickerTimeoutInfo(timeout);
1194
- _GameWindowManager.nextTickerStep(tag);
1195
- }, step.duration);
1196
- _GameWindowManager.addTickerTimeoutInfo(tag, "steps", timeout.toString());
1389
+ }, step.duration * 1e3);
1390
+ _GameWindowManager.addTickerTimeoutInfo(tag, "steps", timeout.toString(), false);
1197
1391
  return;
1198
1392
  }
1199
- let ticker = geTickerInstanceByClassName(step.ticker, step.args, step.duration, step.priority);
1393
+ let ticker = geTickerInstanceById(step.ticker, step.args, step.duration, step.priority);
1200
1394
  if (!ticker) {
1201
1395
  console.error(`[Pixi'VN] Ticker ${step.ticker} not found`);
1202
1396
  return;
1203
1397
  }
1204
- _GameWindowManager.addTicker(tag, ticker);
1398
+ let tickerName = ticker.id;
1399
+ let tickerHistory = {
1400
+ fn: () => {
1401
+ },
1402
+ id: tickerName,
1403
+ args: createExportableElement(ticker.args),
1404
+ canvasElementTags: [tag],
1405
+ priority: ticker.priority,
1406
+ duration: ticker.duration,
1407
+ createdByTicketStepsId: tag
1408
+ };
1409
+ let id = _GameWindowManager.generateTickerId(tickerHistory);
1410
+ _GameWindowManager.pushTicker(id, tickerHistory, ticker);
1411
+ if (ticker.duration) {
1412
+ let timeout = setTimeout(() => {
1413
+ let tickerTimeoutInfo = _GameWindowManager._currentTickersTimeouts[timeout.toString()];
1414
+ if (tickerTimeoutInfo) {
1415
+ _GameWindowManager.removeTicker(id);
1416
+ tickerTimeoutInfo.tags.forEach((tag2) => {
1417
+ _GameWindowManager.nextTickerStep(tag2);
1418
+ });
1419
+ }
1420
+ _GameWindowManager.removeTickerTimeoutInfo(timeout);
1421
+ }, ticker.duration * 1e3);
1422
+ _GameWindowManager.addTickerTimeoutInfo(tag, tickerName, timeout.toString(), false);
1423
+ }
1205
1424
  }
1206
1425
  static nextTickerStep(tag) {
1207
- if (typeof tag === "string") {
1208
- tag = [tag];
1426
+ if (_GameWindowManager._currentTickersSteps[tag]) {
1427
+ let steps = _GameWindowManager._currentTickersSteps[tag];
1428
+ if (steps.currentStepNumber + 1 < steps.steps.length) {
1429
+ steps.currentStepNumber++;
1430
+ _GameWindowManager._currentTickersSteps[tag] = steps;
1431
+ _GameWindowManager.runTickersSteps(tag);
1432
+ } else {
1433
+ _GameWindowManager.removeTickerStepByCanvasElement(tag);
1434
+ }
1209
1435
  }
1210
- tag.forEach((tag2) => {
1211
- if (_GameWindowManager._currentTickersSteps[tag2]) {
1212
- let steps = _GameWindowManager._currentTickersSteps[tag2];
1213
- if (steps.currentStepNumber + 1 < steps.steps.length) {
1214
- steps.currentStepNumber++;
1215
- _GameWindowManager._currentTickersSteps[tag2] = steps;
1216
- _GameWindowManager.runTickersSteps(tag2);
1217
- } else {
1218
- delete _GameWindowManager._currentTickersSteps[tag2];
1219
- }
1436
+ }
1437
+ static onEndOfTicker(canvasElementTags, ticker, canvasElementTagsToDelete, tickerId) {
1438
+ let tickerData = _GameWindowManager._currentTickers[tickerId];
1439
+ _GameWindowManager.removeAssociationBetweenTickerCanvasElement(canvasElementTags, ticker);
1440
+ _GameWindowManager.removeCanvasElement(canvasElementTagsToDelete);
1441
+ if (tickerData) {
1442
+ _GameWindowManager.removeTicker(tickerId);
1443
+ if (tickerData.duration == void 0 && tickerData.createdByTicketStepsId) {
1444
+ _GameWindowManager.nextTickerStep(tickerData.createdByTicketStepsId);
1220
1445
  }
1221
- });
1446
+ }
1222
1447
  }
1223
1448
  /**
1224
1449
  * Remove a connection between a canvas element and a ticker.
1225
1450
  * And remove the ticker if there is no canvas element connected to it.
1226
- * @param tag The tag of the canvas element that will use the ticker.
1451
+ * @param tags The tag of the canvas element that will use the ticker.
1227
1452
  * @param ticker The ticker class to be removed.
1228
1453
  * @example
1229
1454
  * ```typescript
1230
- * GameWindowManager.removeAssociationBetweenTickerCanvasElement("alien", TickerRotate)
1455
+ * GameWindowManager.removeAssociationBetweenTickerCanvasElement("alien", RotateTicker)
1231
1456
  * ```
1232
1457
  */
1233
- static removeAssociationBetweenTickerCanvasElement(tag, ticker) {
1234
- let tickerName;
1235
- if (ticker instanceof TickerBase) {
1236
- tickerName = ticker.constructor.name;
1458
+ static removeAssociationBetweenTickerCanvasElement(tags, ticker) {
1459
+ let tickerId;
1460
+ if (typeof ticker === "string") {
1461
+ tickerId = ticker;
1462
+ } else if (ticker instanceof TickerBase) {
1463
+ tickerId = ticker.id;
1237
1464
  } else {
1238
- tickerName = ticker.name;
1465
+ tickerId = ticker.prototype.id;
1239
1466
  }
1240
- if (typeof tag === "string") {
1241
- tag = [tag];
1467
+ if (typeof tags === "string") {
1468
+ tags = [tags];
1242
1469
  }
1243
- _GameWindowManager._currentTickers = _GameWindowManager._currentTickers.map((t) => {
1244
- if (t.className === tickerName) {
1245
- t.canvasElementTags = t.canvasElementTags.filter((e) => !tag.includes(e));
1470
+ for (let id in _GameWindowManager._currentTickers) {
1471
+ let ticker2 = _GameWindowManager._currentTickers[id];
1472
+ if (ticker2.id === tickerId) {
1473
+ _GameWindowManager._currentTickers[id].canvasElementTags = ticker2.canvasElementTags.filter((e) => !tags.includes(e));
1246
1474
  }
1247
- return t;
1248
- });
1249
- for (let timeout in _GameWindowManager.currentTickersTimeouts) {
1250
- let t = _GameWindowManager.currentTickersTimeouts[timeout].tags.filter((e) => !tag.includes(e));
1251
- if (t.length == 0) {
1252
- _GameWindowManager.removeTickerTimeoutInfo(timeout);
1253
- } else {
1254
- _GameWindowManager.currentTickersTimeouts[timeout].tags = t;
1475
+ }
1476
+ for (let timeout in _GameWindowManager._currentTickersTimeouts) {
1477
+ let TickerTimeout = _GameWindowManager._currentTickersTimeouts[timeout];
1478
+ if (TickerTimeout.ticker === tickerId && TickerTimeout.canBeDeletedBeforeEnd) {
1479
+ _GameWindowManager._currentTickersTimeouts[timeout].tags = TickerTimeout.tags.filter((t) => !tags.includes(t));
1255
1480
  }
1256
1481
  }
1257
1482
  _GameWindowManager.removeTickersWithoutAssociatedCanvasElement();
@@ -1260,49 +1485,117 @@ var _GameWindowManager = class _GameWindowManager {
1260
1485
  * Remove all tickers that are not connected to any existing canvas element.
1261
1486
  */
1262
1487
  static removeTickersWithoutAssociatedCanvasElement() {
1263
- let currentTickers = _GameWindowManager._currentTickers.map((t) => {
1264
- t.canvasElementTags = t.canvasElementTags.filter((e) => _GameWindowManager._children[e]);
1265
- return t;
1266
- });
1267
- currentTickers.filter((t) => t.canvasElementTags.length === 0).forEach((t) => {
1268
- _GameWindowManager.app.ticker.remove(t.fn);
1269
- });
1270
- currentTickers = currentTickers.filter((t) => t.canvasElementTags.length > 0);
1271
- _GameWindowManager._currentTickers = currentTickers;
1488
+ for (let id in _GameWindowManager._currentTickers) {
1489
+ let ticker = _GameWindowManager._currentTickers[id];
1490
+ ticker.canvasElementTags = ticker.canvasElementTags.filter((e) => _GameWindowManager._children[e]);
1491
+ if (ticker.canvasElementTags.length === 0) {
1492
+ _GameWindowManager.removeTicker(id);
1493
+ }
1494
+ }
1272
1495
  for (let tag in _GameWindowManager._currentTickersSteps) {
1273
1496
  if (_GameWindowManager._children[tag] === void 0) {
1274
1497
  delete _GameWindowManager._currentTickersSteps[tag];
1275
1498
  }
1276
1499
  }
1500
+ Object.entries(_GameWindowManager._currentTickersTimeouts).forEach(([timeout, { tags }]) => {
1501
+ if (tags.length === 0) {
1502
+ _GameWindowManager.removeTickerTimeout(timeout);
1503
+ }
1504
+ });
1277
1505
  }
1278
- static addTickerTimeoutInfo(tags, ticker, timeout) {
1506
+ static addTickerTimeoutInfo(tags, ticker, timeout, canBeDeletedBeforeEnd) {
1279
1507
  if (typeof tags === "string") {
1280
1508
  tags = [tags];
1281
1509
  }
1282
- _GameWindowManager.currentTickersTimeouts[timeout] = {
1510
+ _GameWindowManager._currentTickersTimeouts[timeout] = {
1283
1511
  tags,
1284
- ticker
1512
+ ticker,
1513
+ canBeDeletedBeforeEnd
1285
1514
  };
1286
1515
  }
1287
1516
  static removeTickerTimeoutInfo(timeout) {
1288
1517
  if (typeof timeout !== "string") {
1289
1518
  timeout = timeout.toString();
1290
1519
  }
1291
- if (_GameWindowManager.currentTickersTimeouts[timeout]) {
1292
- delete _GameWindowManager.currentTickersTimeouts[timeout];
1520
+ if (_GameWindowManager._currentTickersTimeouts[timeout]) {
1521
+ delete _GameWindowManager._currentTickersTimeouts[timeout];
1522
+ }
1523
+ }
1524
+ static removeTickerTimeout(timeout) {
1525
+ if (typeof timeout !== "string") {
1526
+ timeout = timeout.toString();
1527
+ }
1528
+ clearTimeout(Number(timeout));
1529
+ _GameWindowManager.removeTickerTimeoutInfo(timeout);
1530
+ }
1531
+ static removeTickerTimeoutsByTag(tag, checkCanBeDeletedBeforeEnd) {
1532
+ for (let timeout in _GameWindowManager._currentTickersTimeouts) {
1533
+ let tagsWithoutTagToRemove = _GameWindowManager._currentTickersTimeouts[timeout].tags.filter((t) => t !== tag);
1534
+ if (tagsWithoutTagToRemove.length === 0) {
1535
+ let canBeDeletedBeforeEnd = _GameWindowManager._currentTickersTimeouts[timeout].canBeDeletedBeforeEnd;
1536
+ if (!checkCanBeDeletedBeforeEnd || canBeDeletedBeforeEnd) {
1537
+ _GameWindowManager.removeTickerTimeout(timeout);
1538
+ }
1539
+ } else {
1540
+ _GameWindowManager._currentTickersTimeouts[timeout].tags = tagsWithoutTagToRemove;
1541
+ }
1293
1542
  }
1294
1543
  }
1295
1544
  /**
1296
1545
  * Remove all tickers from the canvas.
1297
1546
  */
1298
- static removeTickers() {
1547
+ static removeAllTickers() {
1299
1548
  _GameWindowManager._currentTickersSteps = {};
1300
- _GameWindowManager._currentTickers.forEach((t) => {
1301
- _GameWindowManager.app.ticker.remove(t.fn);
1549
+ Object.keys(_GameWindowManager._currentTickers).forEach((id) => {
1550
+ _GameWindowManager.removeTicker(id);
1551
+ });
1552
+ _GameWindowManager._currentTickers = {};
1553
+ for (let timeout in _GameWindowManager._currentTickersTimeouts) {
1554
+ _GameWindowManager.removeTickerTimeout(timeout);
1555
+ }
1556
+ }
1557
+ /**
1558
+ * Remove all tickers from a canvas element.
1559
+ * @param tag The tag of the canvas element that will use the ticker.
1560
+ */
1561
+ static removeTickerByCanvasElement(tag) {
1562
+ if (typeof tag === "string") {
1563
+ tag = [tag];
1564
+ }
1565
+ tag.forEach((tag2) => {
1566
+ for (let id in _GameWindowManager._currentTickers) {
1567
+ let ticker = _GameWindowManager._currentTickers[id];
1568
+ if (ticker.canvasElementTags.includes(tag2)) {
1569
+ _GameWindowManager.removeTicker(id);
1570
+ }
1571
+ }
1572
+ if (_GameWindowManager._currentTickersSteps[tag2]) {
1573
+ delete _GameWindowManager._currentTickersSteps[tag2];
1574
+ }
1575
+ _GameWindowManager.removeTickerTimeoutsByTag(tag2, false);
1576
+ delete _GameWindowManager._currentTickersSteps[tag2];
1302
1577
  });
1303
- _GameWindowManager._currentTickers = [];
1304
- for (let timeout in _GameWindowManager.currentTickersTimeouts) {
1305
- _GameWindowManager.removeTickerTimeoutInfo(timeout);
1578
+ }
1579
+ static removeTickerStepByCanvasElement(tag) {
1580
+ if (_GameWindowManager._currentTickersSteps[tag]) {
1581
+ delete _GameWindowManager._currentTickersSteps[tag];
1582
+ }
1583
+ for (let id in _GameWindowManager._currentTickers) {
1584
+ let ticker = _GameWindowManager._currentTickers[id];
1585
+ if (ticker.createdByTicketStepsId === tag) {
1586
+ _GameWindowManager.removeTicker(id);
1587
+ }
1588
+ }
1589
+ }
1590
+ static removeTicker(tickerId) {
1591
+ let ticker = _GameWindowManager._currentTickers[tickerId];
1592
+ if (ticker) {
1593
+ if (ticker.args.hasOwnProperty(tagToRemoveAfter)) {
1594
+ let tagToRemoveAfter2 = ticker.args.tagToRemoveAfter;
1595
+ _GameWindowManager.removeCanvasElement(tagToRemoveAfter2);
1596
+ }
1597
+ _GameWindowManager.app.ticker.remove(ticker.fn);
1598
+ delete _GameWindowManager._currentTickers[tickerId];
1306
1599
  }
1307
1600
  }
1308
1601
  /**
@@ -1329,7 +1622,8 @@ var _GameWindowManager = class _GameWindowManager {
1329
1622
  currentElements[tag] = exportCanvasElement(_GameWindowManager._children[tag]);
1330
1623
  }
1331
1624
  return {
1332
- currentTickers: createExportableElement(_GameWindowManager._currentTickers),
1625
+ currentTickers: createExportableElement(_GameWindowManager.currentTickersWithoutCreatedBySteps),
1626
+ currentTickersSteps: createExportableElement(_GameWindowManager._currentTickersSteps),
1333
1627
  currentElements: createExportableElement(currentElements),
1334
1628
  childrenTagsOrder: createExportableElement(_GameWindowManager.childrenTagsOrder)
1335
1629
  };
@@ -1364,15 +1658,20 @@ var _GameWindowManager = class _GameWindowManager {
1364
1658
  }
1365
1659
  if (data.hasOwnProperty("currentTickers")) {
1366
1660
  let currentTickers = data["currentTickers"];
1367
- currentTickers.forEach((t) => {
1661
+ for (let id in currentTickers) {
1662
+ let t = currentTickers[id];
1368
1663
  let tags = t.canvasElementTags;
1369
- let ticker = geTickerInstanceByClassName(t.className, t.args, t.duration, t.priority);
1664
+ let ticker = geTickerInstanceById(t.id, t.args, t.duration, t.priority);
1370
1665
  if (ticker) {
1371
1666
  _GameWindowManager.addTicker(tags, ticker);
1372
1667
  } else {
1373
- console.error(`[Pixi'VN] Ticker ${t.className} not found`);
1668
+ console.error(`[Pixi'VN] Ticker ${t.id} not found`);
1374
1669
  }
1375
- });
1670
+ }
1671
+ }
1672
+ if (data.hasOwnProperty("currentTickersSteps")) {
1673
+ let currentTickersSteps = data["currentTickersSteps"];
1674
+ _GameWindowManager.restoneTickersSteps(currentTickersSteps);
1376
1675
  }
1377
1676
  } catch (e) {
1378
1677
  console.error("[Pixi'VN] Error importing data", e);
@@ -1386,16 +1685,16 @@ _GameWindowManager._children = {};
1386
1685
  * The order of the children tags.
1387
1686
  */
1388
1687
  _GameWindowManager.childrenTagsOrder = [];
1389
- _GameWindowManager._currentTickers = [];
1688
+ _GameWindowManager._currentTickers = {};
1390
1689
  _GameWindowManager._currentTickersSteps = {};
1391
- _GameWindowManager.currentTickersTimeouts = {};
1690
+ _GameWindowManager._currentTickersTimeouts = {};
1392
1691
  var GameWindowManager = _GameWindowManager;
1393
1692
 
1394
1693
  // src/decorators/LabelDecorator.ts
1395
1694
  var registeredLabels = {};
1396
1695
  function newLabel(id, steps, onStepRun) {
1397
1696
  if (registeredLabels[id]) {
1398
- console.warn(`[Pixi'VN] Label ${id} already exists, it will be overwritten`);
1697
+ console.info(`[Pixi'VN] Label ${id} already exists, it will be overwritten`);
1399
1698
  }
1400
1699
  let label = new Label(id, steps, onStepRun);
1401
1700
  registeredLabels[id] = label;