@drincs/pixi-vn 0.6.0 → 0.6.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (415) hide show
  1. package/dist/{TickerBase-RQDWNI4K.d.ts → TickerBase-3rLpDpmb.d.ts} +27 -13
  2. package/dist/{TickerBase-B5CQCJs8.d.mts → TickerBase-DKYzbzro.d.mts} +27 -13
  3. package/dist/classes/CanvasEvent.d.mts +7 -1
  4. package/dist/classes/CanvasEvent.d.ts +7 -1
  5. package/dist/classes/CanvasEvent.js +7 -0
  6. package/dist/classes/CanvasEvent.js.map +1 -1
  7. package/dist/classes/CanvasEvent.mjs +7 -0
  8. package/dist/classes/CanvasEvent.mjs.map +1 -1
  9. package/dist/classes/CharacterBaseModel.d.mts +2 -26
  10. package/dist/classes/CharacterBaseModel.d.ts +2 -26
  11. package/dist/classes/CharacterBaseModel.js +544 -241
  12. package/dist/classes/CharacterBaseModel.js.map +1 -1
  13. package/dist/classes/CharacterBaseModel.mjs +540 -241
  14. package/dist/classes/CharacterBaseModel.mjs.map +1 -1
  15. package/dist/classes/ChoiceMenuOption.d.mts +27 -17
  16. package/dist/classes/ChoiceMenuOption.d.ts +27 -17
  17. package/dist/classes/ChoiceMenuOption.js +548 -243
  18. package/dist/classes/ChoiceMenuOption.js.map +1 -1
  19. package/dist/classes/ChoiceMenuOption.mjs +544 -243
  20. package/dist/classes/ChoiceMenuOption.mjs.map +1 -1
  21. package/dist/classes/CloseLabel.d.mts +1 -1
  22. package/dist/classes/CloseLabel.d.ts +1 -1
  23. package/dist/classes/CloseLabel.js +1 -1
  24. package/dist/classes/CloseLabel.js.map +1 -1
  25. package/dist/classes/CloseLabel.mjs +1 -1
  26. package/dist/classes/CloseLabel.mjs.map +1 -1
  27. package/dist/classes/DialogueBaseModel.d.mts +3 -2
  28. package/dist/classes/DialogueBaseModel.d.ts +3 -2
  29. package/dist/classes/DialogueBaseModel.js +5 -5
  30. package/dist/classes/DialogueBaseModel.js.map +1 -1
  31. package/dist/classes/DialogueBaseModel.mjs +5 -5
  32. package/dist/classes/DialogueBaseModel.mjs.map +1 -1
  33. package/dist/classes/Label.d.mts +1 -1
  34. package/dist/classes/Label.d.ts +1 -1
  35. package/dist/classes/Label.js +1 -1
  36. package/dist/classes/Label.js.map +1 -1
  37. package/dist/classes/Label.mjs +1 -1
  38. package/dist/classes/Label.mjs.map +1 -1
  39. package/dist/classes/StoredClassModel.d.mts +2 -2
  40. package/dist/classes/StoredClassModel.d.ts +2 -2
  41. package/dist/classes/StoredClassModel.js +544 -241
  42. package/dist/classes/StoredClassModel.js.map +1 -1
  43. package/dist/classes/StoredClassModel.mjs +540 -241
  44. package/dist/classes/StoredClassModel.mjs.map +1 -1
  45. package/dist/classes/canvas/CanvasBase.d.mts +5 -1
  46. package/dist/classes/canvas/CanvasBase.d.ts +5 -1
  47. package/dist/classes/canvas/CanvasBase.js +7 -0
  48. package/dist/classes/canvas/CanvasBase.js.map +1 -1
  49. package/dist/classes/canvas/CanvasBase.mjs +7 -0
  50. package/dist/classes/canvas/CanvasBase.mjs.map +1 -1
  51. package/dist/classes/canvas/CanvasContainer.d.mts +4 -1
  52. package/dist/classes/canvas/CanvasContainer.d.ts +4 -1
  53. package/dist/classes/canvas/CanvasContainer.js +57 -37
  54. package/dist/classes/canvas/CanvasContainer.js.map +1 -1
  55. package/dist/classes/canvas/CanvasContainer.mjs +57 -38
  56. package/dist/classes/canvas/CanvasContainer.mjs.map +1 -1
  57. package/dist/classes/canvas/CanvasImage.d.mts +4 -2
  58. package/dist/classes/canvas/CanvasImage.d.ts +4 -2
  59. package/dist/classes/canvas/CanvasImage.js +33 -20
  60. package/dist/classes/canvas/CanvasImage.js.map +1 -1
  61. package/dist/classes/canvas/CanvasImage.mjs +30 -20
  62. package/dist/classes/canvas/CanvasImage.mjs.map +1 -1
  63. package/dist/classes/canvas/CanvasSprite.d.mts +6 -3
  64. package/dist/classes/canvas/CanvasSprite.d.ts +6 -3
  65. package/dist/classes/canvas/CanvasSprite.js +25 -17
  66. package/dist/classes/canvas/CanvasSprite.js.map +1 -1
  67. package/dist/classes/canvas/CanvasSprite.mjs +25 -18
  68. package/dist/classes/canvas/CanvasSprite.mjs.map +1 -1
  69. package/dist/classes/canvas/CanvasText.d.mts +6 -3
  70. package/dist/classes/canvas/CanvasText.d.ts +6 -3
  71. package/dist/classes/canvas/CanvasText.js +25 -17
  72. package/dist/classes/canvas/CanvasText.js.map +1 -1
  73. package/dist/classes/canvas/CanvasText.mjs +25 -18
  74. package/dist/classes/canvas/CanvasText.mjs.map +1 -1
  75. package/dist/classes/canvas/index.js +184 -158
  76. package/dist/classes/canvas/index.js.map +1 -1
  77. package/dist/classes/canvas/index.mjs +184 -158
  78. package/dist/classes/canvas/index.mjs.map +1 -1
  79. package/dist/classes/index.d.mts +6 -4
  80. package/dist/classes/index.d.ts +6 -4
  81. package/dist/classes/index.js +560 -248
  82. package/dist/classes/index.js.map +1 -1
  83. package/dist/classes/index.mjs +556 -248
  84. package/dist/classes/index.mjs.map +1 -1
  85. package/dist/classes/ticker/FadeAlphaTicker.d.mts +27 -0
  86. package/dist/classes/ticker/FadeAlphaTicker.d.ts +27 -0
  87. package/dist/classes/ticker/{TickerFadeAlpha.js → FadeAlphaTicker.js} +549 -248
  88. package/dist/classes/ticker/FadeAlphaTicker.js.map +1 -0
  89. package/dist/classes/ticker/{TickerRotate.mjs → FadeAlphaTicker.mjs} +571 -274
  90. package/dist/classes/ticker/FadeAlphaTicker.mjs.map +1 -0
  91. package/dist/classes/ticker/MoveTicker.d.mts +25 -0
  92. package/dist/classes/ticker/MoveTicker.d.ts +25 -0
  93. package/dist/classes/ticker/{TickerMove.js → MoveTicker.js} +544 -241
  94. package/dist/classes/ticker/MoveTicker.js.map +1 -0
  95. package/dist/classes/ticker/{TickerFadeAlpha.mjs → MoveTicker.mjs} +568 -269
  96. package/dist/classes/ticker/MoveTicker.mjs.map +1 -0
  97. package/dist/classes/ticker/RotateTicker.d.mts +27 -0
  98. package/dist/classes/ticker/RotateTicker.d.ts +27 -0
  99. package/dist/classes/ticker/{TickerRotate.js → RotateTicker.js} +544 -241
  100. package/dist/classes/ticker/RotateTicker.js.map +1 -0
  101. package/dist/classes/ticker/{TickerMove.mjs → RotateTicker.mjs} +558 -259
  102. package/dist/classes/ticker/RotateTicker.mjs.map +1 -0
  103. package/dist/classes/ticker/TickerBase.d.mts +2 -1
  104. package/dist/classes/ticker/TickerBase.d.ts +2 -1
  105. package/dist/classes/ticker/TickerBase.js +12 -6
  106. package/dist/classes/ticker/TickerBase.js.map +1 -1
  107. package/dist/classes/ticker/TickerBase.mjs +12 -6
  108. package/dist/classes/ticker/TickerBase.mjs.map +1 -1
  109. package/dist/classes/ticker/ZoomTicker.d.mts +31 -0
  110. package/dist/classes/ticker/ZoomTicker.d.ts +31 -0
  111. package/dist/classes/ticker/ZoomTicker.js +1647 -0
  112. package/dist/classes/ticker/ZoomTicker.js.map +1 -0
  113. package/dist/classes/ticker/ZoomTicker.mjs +1639 -0
  114. package/dist/classes/ticker/ZoomTicker.mjs.map +1 -0
  115. package/dist/classes/ticker/index.d.mts +11 -8
  116. package/dist/classes/ticker/index.d.ts +11 -8
  117. package/dist/classes/ticker/index.js +567 -266
  118. package/dist/classes/ticker/index.js.map +1 -1
  119. package/dist/classes/ticker/index.mjs +564 -267
  120. package/dist/classes/ticker/index.mjs.map +1 -1
  121. package/dist/constants.d.mts +12 -2
  122. package/dist/constants.d.ts +12 -2
  123. package/dist/constants.js +10 -1
  124. package/dist/constants.js.map +1 -1
  125. package/dist/constants.mjs +9 -2
  126. package/dist/constants.mjs.map +1 -1
  127. package/dist/decorators/CanvasElementDecorator.d.mts +3 -3
  128. package/dist/decorators/CanvasElementDecorator.d.ts +3 -3
  129. package/dist/decorators/CanvasElementDecorator.js +63 -43
  130. package/dist/decorators/CanvasElementDecorator.js.map +1 -1
  131. package/dist/decorators/CanvasElementDecorator.mjs +62 -42
  132. package/dist/decorators/CanvasElementDecorator.mjs.map +1 -1
  133. package/dist/decorators/CharacterDecorator.d.mts +1 -0
  134. package/dist/decorators/CharacterDecorator.d.ts +1 -0
  135. package/dist/decorators/CharacterDecorator.js +1 -1
  136. package/dist/decorators/CharacterDecorator.js.map +1 -1
  137. package/dist/decorators/CharacterDecorator.mjs +1 -1
  138. package/dist/decorators/CharacterDecorator.mjs.map +1 -1
  139. package/dist/decorators/EventDecorator.d.mts +7 -7
  140. package/dist/decorators/EventDecorator.d.ts +7 -7
  141. package/dist/decorators/EventDecorator.js +12 -11
  142. package/dist/decorators/EventDecorator.js.map +1 -1
  143. package/dist/decorators/EventDecorator.mjs +11 -10
  144. package/dist/decorators/EventDecorator.mjs.map +1 -1
  145. package/dist/decorators/LabelDecorator.d.mts +4 -3
  146. package/dist/decorators/LabelDecorator.d.ts +4 -3
  147. package/dist/decorators/LabelDecorator.js +546 -243
  148. package/dist/decorators/LabelDecorator.js.map +1 -1
  149. package/dist/decorators/LabelDecorator.mjs +542 -243
  150. package/dist/decorators/LabelDecorator.mjs.map +1 -1
  151. package/dist/decorators/TickerDecorator.d.mts +9 -6
  152. package/dist/decorators/TickerDecorator.d.ts +9 -6
  153. package/dist/decorators/TickerDecorator.js +7 -6
  154. package/dist/decorators/TickerDecorator.js.map +1 -1
  155. package/dist/decorators/TickerDecorator.mjs +7 -6
  156. package/dist/decorators/TickerDecorator.mjs.map +1 -1
  157. package/dist/decorators/index.d.mts +4 -3
  158. package/dist/decorators/index.d.ts +4 -3
  159. package/dist/decorators/index.js +550 -245
  160. package/dist/decorators/index.js.map +1 -1
  161. package/dist/decorators/index.mjs +546 -245
  162. package/dist/decorators/index.mjs.map +1 -1
  163. package/dist/functions/CanvasUtility.js +56 -37
  164. package/dist/functions/CanvasUtility.js.map +1 -1
  165. package/dist/functions/CanvasUtility.mjs +56 -37
  166. package/dist/functions/CanvasUtility.mjs.map +1 -1
  167. package/dist/functions/DialogueUtility.d.mts +7 -5
  168. package/dist/functions/DialogueUtility.d.ts +7 -5
  169. package/dist/functions/DialogueUtility.js +729 -397
  170. package/dist/functions/DialogueUtility.js.map +1 -1
  171. package/dist/functions/DialogueUtility.mjs +729 -397
  172. package/dist/functions/DialogueUtility.mjs.map +1 -1
  173. package/dist/functions/FlagsUtility.js +544 -241
  174. package/dist/functions/FlagsUtility.js.map +1 -1
  175. package/dist/functions/FlagsUtility.mjs +540 -241
  176. package/dist/functions/FlagsUtility.mjs.map +1 -1
  177. package/dist/functions/GameUtility.js +544 -241
  178. package/dist/functions/GameUtility.js.map +1 -1
  179. package/dist/functions/GameUtility.mjs +540 -241
  180. package/dist/functions/GameUtility.mjs.map +1 -1
  181. package/dist/functions/ImageUtility.d.mts +81 -8
  182. package/dist/functions/ImageUtility.d.ts +81 -8
  183. package/dist/functions/ImageUtility.js +911 -387
  184. package/dist/functions/ImageUtility.js.map +1 -1
  185. package/dist/functions/ImageUtility.mjs +899 -387
  186. package/dist/functions/ImageUtility.mjs.map +1 -1
  187. package/dist/functions/SavesUtility.d.mts +9 -5
  188. package/dist/functions/SavesUtility.d.ts +9 -5
  189. package/dist/functions/SavesUtility.js +611 -252
  190. package/dist/functions/SavesUtility.js.map +1 -1
  191. package/dist/functions/SavesUtility.mjs +611 -252
  192. package/dist/functions/SavesUtility.mjs.map +1 -1
  193. package/dist/functions/TickerUtility.d.mts +1 -1
  194. package/dist/functions/TickerUtility.d.ts +1 -1
  195. package/dist/functions/TickerUtility.js +32 -18
  196. package/dist/functions/TickerUtility.js.map +1 -1
  197. package/dist/functions/TickerUtility.mjs +32 -18
  198. package/dist/functions/TickerUtility.mjs.map +1 -1
  199. package/dist/functions/index.d.mts +18 -8
  200. package/dist/functions/index.d.ts +18 -8
  201. package/dist/functions/index.js +832 -279
  202. package/dist/functions/index.js.map +1 -1
  203. package/dist/functions/index.mjs +825 -280
  204. package/dist/functions/index.mjs.map +1 -1
  205. package/dist/index.d.mts +25 -16
  206. package/dist/index.d.ts +25 -16
  207. package/dist/index.js +1547 -290
  208. package/dist/index.js.map +1 -1
  209. package/dist/index.mjs +1538 -290
  210. package/dist/index.mjs.map +1 -1
  211. package/dist/interface/CharacterBaseModelProps.d.mts +27 -0
  212. package/dist/interface/CharacterBaseModelProps.d.ts +27 -0
  213. package/dist/interface/CharacterBaseModelProps.js +4 -0
  214. package/dist/interface/CharacterBaseModelProps.mjs +3 -0
  215. package/dist/interface/DialogueHistory.d.mts +3 -7
  216. package/dist/interface/DialogueHistory.d.ts +3 -7
  217. package/dist/interface/IHistoryStep.d.mts +12 -8
  218. package/dist/interface/IHistoryStep.d.ts +12 -8
  219. package/dist/interface/ISaveData.d.mts +8 -4
  220. package/dist/interface/ISaveData.d.ts +8 -4
  221. package/dist/interface/ITicker.d.mts +2 -1
  222. package/dist/interface/ITicker.d.ts +2 -1
  223. package/dist/interface/ITickersSteps.d.mts +14 -5
  224. package/dist/interface/ITickersSteps.d.ts +14 -5
  225. package/dist/interface/TickerHistory.d.mts +29 -0
  226. package/dist/interface/TickerHistory.d.ts +29 -0
  227. package/dist/{types/ticker/TickerMoveProps.js → interface/TickerHistory.js} +1 -1
  228. package/dist/interface/TickerHistory.mjs +3 -0
  229. package/dist/interface/TickerProgrationType.d.mts +13 -1
  230. package/dist/interface/TickerProgrationType.d.ts +13 -1
  231. package/dist/interface/TickerTimeoutHistory.d.mts +7 -0
  232. package/dist/interface/TickerTimeoutHistory.d.ts +7 -0
  233. package/dist/interface/TickerTimeoutHistory.js +4 -0
  234. package/dist/interface/TickerTimeoutHistory.mjs +3 -0
  235. package/dist/interface/canvas/ICanvasBaseMemory.d.mts +1 -1
  236. package/dist/interface/canvas/ICanvasBaseMemory.d.ts +1 -1
  237. package/dist/interface/canvas/ICanvasImageMemory.d.mts +1 -1
  238. package/dist/interface/canvas/ICanvasImageMemory.d.ts +1 -1
  239. package/dist/interface/canvas/ICanvasSpriteMemory.d.mts +0 -1
  240. package/dist/interface/canvas/ICanvasSpriteMemory.d.ts +0 -1
  241. package/dist/interface/canvas/ICanvasTextTextMemory.d.mts +0 -1
  242. package/dist/interface/canvas/ICanvasTextTextMemory.d.ts +0 -1
  243. package/dist/interface/export/ExportedCanvas.d.mts +11 -3
  244. package/dist/interface/export/ExportedCanvas.d.ts +11 -3
  245. package/dist/interface/export/ExportedStep.d.mts +7 -3
  246. package/dist/interface/export/ExportedStep.d.ts +7 -3
  247. package/dist/interface/export/index.d.mts +8 -4
  248. package/dist/interface/export/index.d.ts +8 -4
  249. package/dist/interface/index.d.mts +14 -11
  250. package/dist/interface/index.d.ts +14 -11
  251. package/dist/labels/BaseCanvasElementTestLabel.d.mts +9 -0
  252. package/dist/labels/BaseCanvasElementTestLabel.d.ts +9 -0
  253. package/dist/labels/BaseCanvasElementTestLabel.js +1888 -0
  254. package/dist/labels/BaseCanvasElementTestLabel.js.map +1 -0
  255. package/dist/labels/BaseCanvasElementTestLabel.mjs +1882 -0
  256. package/dist/labels/BaseCanvasElementTestLabel.mjs.map +1 -0
  257. package/dist/labels/CanvasEventsTestLabel.d.mts +27 -0
  258. package/dist/labels/CanvasEventsTestLabel.d.ts +27 -0
  259. package/dist/labels/CanvasEventsTestLabel.js +2822 -0
  260. package/dist/labels/CanvasEventsTestLabel.js.map +1 -0
  261. package/dist/labels/CanvasEventsTestLabel.mjs +2816 -0
  262. package/dist/labels/CanvasEventsTestLabel.mjs.map +1 -0
  263. package/dist/labels/CustomTickerCanvasElementTestLabel.d.mts +20 -0
  264. package/dist/labels/CustomTickerCanvasElementTestLabel.d.ts +20 -0
  265. package/dist/labels/CustomTickerCanvasElementTestLabel.js +2792 -0
  266. package/dist/labels/CustomTickerCanvasElementTestLabel.js.map +1 -0
  267. package/dist/labels/CustomTickerCanvasElementTestLabel.mjs +2786 -0
  268. package/dist/labels/CustomTickerCanvasElementTestLabel.mjs.map +1 -0
  269. package/dist/labels/ImagesAnimationsTestLabel.d.mts +9 -0
  270. package/dist/labels/ImagesAnimationsTestLabel.d.ts +9 -0
  271. package/dist/labels/ImagesAnimationsTestLabel.js +3378 -0
  272. package/dist/labels/ImagesAnimationsTestLabel.js.map +1 -0
  273. package/dist/labels/ImagesAnimationsTestLabel.mjs +3372 -0
  274. package/dist/labels/ImagesAnimationsTestLabel.mjs.map +1 -0
  275. package/dist/labels/MarkdownTest.d.mts +9 -0
  276. package/dist/labels/MarkdownTest.d.ts +9 -0
  277. package/dist/labels/MarkdownTest.js +2756 -0
  278. package/dist/labels/MarkdownTest.js.map +1 -0
  279. package/dist/labels/MarkdownTest.mjs +2750 -0
  280. package/dist/labels/MarkdownTest.mjs.map +1 -0
  281. package/dist/labels/StartLabel.d.mts +10 -0
  282. package/dist/labels/StartLabel.d.ts +10 -0
  283. package/dist/labels/StartLabel.js +3736 -0
  284. package/dist/labels/StartLabel.js.map +1 -0
  285. package/dist/labels/StartLabel.mjs +3729 -0
  286. package/dist/labels/StartLabel.mjs.map +1 -0
  287. package/dist/labels/TestConstant.d.mts +17 -0
  288. package/dist/labels/TestConstant.d.ts +17 -0
  289. package/dist/labels/TestConstant.js +1872 -0
  290. package/dist/labels/TestConstant.js.map +1 -0
  291. package/dist/labels/TestConstant.mjs +1856 -0
  292. package/dist/labels/TestConstant.mjs.map +1 -0
  293. package/dist/labels/TickerTestLabel.d.mts +9 -0
  294. package/dist/labels/TickerTestLabel.d.ts +9 -0
  295. package/dist/labels/TickerTestLabel.js +2675 -0
  296. package/dist/labels/TickerTestLabel.js.map +1 -0
  297. package/dist/labels/TickerTestLabel.mjs +2669 -0
  298. package/dist/labels/TickerTestLabel.mjs.map +1 -0
  299. package/dist/labels/index.d.mts +10 -0
  300. package/dist/labels/index.d.ts +10 -0
  301. package/dist/labels/index.js +3736 -0
  302. package/dist/labels/index.js.map +1 -0
  303. package/dist/labels/index.mjs +3729 -0
  304. package/dist/labels/index.mjs.map +1 -0
  305. package/dist/managers/StepManager.d.mts +21 -15
  306. package/dist/managers/StepManager.d.ts +21 -15
  307. package/dist/managers/StepManager.js +610 -251
  308. package/dist/managers/StepManager.js.map +1 -1
  309. package/dist/managers/StepManager.mjs +610 -251
  310. package/dist/managers/StepManager.mjs.map +1 -1
  311. package/dist/managers/WindowManager.d.mts +38 -24
  312. package/dist/managers/WindowManager.d.ts +38 -24
  313. package/dist/managers/WindowManager.js +356 -170
  314. package/dist/managers/WindowManager.js.map +1 -1
  315. package/dist/managers/WindowManager.mjs +352 -170
  316. package/dist/managers/WindowManager.mjs.map +1 -1
  317. package/dist/managers/index.d.mts +15 -14
  318. package/dist/managers/index.d.ts +15 -14
  319. package/dist/managers/index.js +612 -251
  320. package/dist/managers/index.js.map +1 -1
  321. package/dist/managers/index.mjs +612 -251
  322. package/dist/managers/index.mjs.map +1 -1
  323. package/dist/types/CanvasEventNamesType.d.mts +1 -1
  324. package/dist/types/CanvasEventNamesType.d.ts +1 -1
  325. package/dist/types/ChoiceMenuOptionsType.d.mts +2 -2
  326. package/dist/types/ChoiceMenuOptionsType.d.ts +2 -2
  327. package/dist/types/HistoryChoiceMenuOption.d.mts +22 -0
  328. package/dist/types/HistoryChoiceMenuOption.d.ts +22 -0
  329. package/dist/types/HistoryChoiceMenuOption.js +4 -0
  330. package/dist/types/HistoryChoiceMenuOption.mjs +3 -0
  331. package/dist/types/PauseType.d.mts +8 -4
  332. package/dist/types/PauseType.d.ts +8 -4
  333. package/dist/types/PauseType.js +0 -11
  334. package/dist/types/PauseType.js.map +1 -1
  335. package/dist/types/PauseType.mjs +0 -9
  336. package/dist/types/PauseType.mjs.map +1 -1
  337. package/dist/types/RepeatType.d.mts +1 -2
  338. package/dist/types/RepeatType.d.ts +1 -2
  339. package/dist/types/RepeatType.js +0 -4
  340. package/dist/types/RepeatType.js.map +1 -1
  341. package/dist/types/RepeatType.mjs +0 -3
  342. package/dist/types/RepeatType.mjs.map +1 -1
  343. package/dist/types/index.d.mts +5 -4
  344. package/dist/types/index.d.ts +5 -4
  345. package/dist/types/index.js +0 -15
  346. package/dist/types/index.js.map +1 -1
  347. package/dist/types/index.mjs +1 -13
  348. package/dist/types/index.mjs.map +1 -1
  349. package/dist/types/ticker/{TickerFadeAlphaProps.d.mts → FadeAlphaTickerProps.d.mts} +9 -5
  350. package/dist/types/ticker/{TickerFadeAlphaProps.d.ts → FadeAlphaTickerProps.d.ts} +9 -5
  351. package/dist/types/ticker/FadeAlphaTickerProps.js +4 -0
  352. package/dist/types/ticker/FadeAlphaTickerProps.js.map +1 -0
  353. package/dist/types/ticker/FadeAlphaTickerProps.mjs +3 -0
  354. package/dist/types/ticker/FadeAlphaTickerProps.mjs.map +1 -0
  355. package/dist/types/ticker/{TickerMoveProps.d.mts → MoveTickerProps.d.mts} +14 -5
  356. package/dist/types/ticker/{TickerMoveProps.d.ts → MoveTickerProps.d.ts} +14 -5
  357. package/dist/types/ticker/{TickerRotateProps.js → MoveTickerProps.js} +1 -1
  358. package/dist/types/ticker/MoveTickerProps.js.map +1 -0
  359. package/dist/types/ticker/MoveTickerProps.mjs +3 -0
  360. package/dist/types/ticker/MoveTickerProps.mjs.map +1 -0
  361. package/dist/types/ticker/{TickerRotateProps.d.mts → RotateTickerProps.d.mts} +10 -4
  362. package/dist/types/ticker/{TickerRotateProps.d.ts → RotateTickerProps.d.ts} +10 -4
  363. package/dist/types/ticker/RotateTickerProps.js +4 -0
  364. package/dist/types/ticker/RotateTickerProps.js.map +1 -0
  365. package/dist/types/ticker/RotateTickerProps.mjs +3 -0
  366. package/dist/types/ticker/RotateTickerProps.mjs.map +1 -0
  367. package/dist/types/ticker/TagToRemoveAfterType.d.mts +4 -0
  368. package/dist/types/ticker/TagToRemoveAfterType.d.ts +4 -0
  369. package/dist/types/ticker/TagToRemoveAfterType.js +8 -0
  370. package/dist/types/ticker/TagToRemoveAfterType.js.map +1 -0
  371. package/dist/types/ticker/TagToRemoveAfterType.mjs +6 -0
  372. package/dist/types/ticker/TagToRemoveAfterType.mjs.map +1 -0
  373. package/dist/types/ticker/ZoomTickerProps.d.mts +45 -0
  374. package/dist/types/ticker/ZoomTickerProps.d.ts +45 -0
  375. package/dist/types/ticker/ZoomTickerProps.js +4 -0
  376. package/dist/types/ticker/ZoomTickerProps.js.map +1 -0
  377. package/dist/types/ticker/ZoomTickerProps.mjs +3 -0
  378. package/dist/types/ticker/ZoomTickerProps.mjs.map +1 -0
  379. package/dist/types/ticker/index.d.mts +4 -2
  380. package/dist/types/ticker/index.d.ts +4 -2
  381. package/package.json +7 -7
  382. package/dist/classes/ticker/TickerFadeAlpha.d.mts +0 -31
  383. package/dist/classes/ticker/TickerFadeAlpha.d.ts +0 -31
  384. package/dist/classes/ticker/TickerFadeAlpha.js.map +0 -1
  385. package/dist/classes/ticker/TickerFadeAlpha.mjs.map +0 -1
  386. package/dist/classes/ticker/TickerMove.d.mts +0 -29
  387. package/dist/classes/ticker/TickerMove.d.ts +0 -29
  388. package/dist/classes/ticker/TickerMove.js.map +0 -1
  389. package/dist/classes/ticker/TickerMove.mjs.map +0 -1
  390. package/dist/classes/ticker/TickerRotate.d.mts +0 -30
  391. package/dist/classes/ticker/TickerRotate.d.ts +0 -30
  392. package/dist/classes/ticker/TickerRotate.js.map +0 -1
  393. package/dist/classes/ticker/TickerRotate.mjs.map +0 -1
  394. package/dist/functions/ErrorUtility.d.mts +0 -24
  395. package/dist/functions/ErrorUtility.d.ts +0 -24
  396. package/dist/functions/ErrorUtility.js +0 -261
  397. package/dist/functions/ErrorUtility.js.map +0 -1
  398. package/dist/functions/ErrorUtility.mjs +0 -258
  399. package/dist/functions/ErrorUtility.mjs.map +0 -1
  400. package/dist/interface/IClassWithArgsHistory.d.mts +0 -25
  401. package/dist/interface/IClassWithArgsHistory.d.ts +0 -25
  402. package/dist/interface/IClassWithArgsHistory.js +0 -4
  403. package/dist/interface/IClassWithArgsHistory.mjs +0 -3
  404. package/dist/types/ticker/TickerFadeAlphaProps.js +0 -4
  405. package/dist/types/ticker/TickerFadeAlphaProps.mjs +0 -3
  406. package/dist/types/ticker/TickerMoveProps.mjs +0 -3
  407. package/dist/types/ticker/TickerRotateProps.mjs +0 -3
  408. /package/dist/interface/{IClassWithArgsHistory.js.map → CharacterBaseModelProps.js.map} +0 -0
  409. /package/dist/interface/{IClassWithArgsHistory.mjs.map → CharacterBaseModelProps.mjs.map} +0 -0
  410. /package/dist/{types/ticker/TickerFadeAlphaProps.js.map → interface/TickerHistory.js.map} +0 -0
  411. /package/dist/{types/ticker/TickerFadeAlphaProps.mjs.map → interface/TickerHistory.mjs.map} +0 -0
  412. /package/dist/{types/ticker/TickerMoveProps.js.map → interface/TickerTimeoutHistory.js.map} +0 -0
  413. /package/dist/{types/ticker/TickerMoveProps.mjs.map → interface/TickerTimeoutHistory.mjs.map} +0 -0
  414. /package/dist/types/{ticker/TickerRotateProps.js.map → HistoryChoiceMenuOption.js.map} +0 -0
  415. /package/dist/types/{ticker/TickerRotateProps.mjs.map → HistoryChoiceMenuOption.mjs.map} +0 -0
@@ -2,7 +2,11 @@
2
2
 
3
3
  var pixi_js = require('pixi.js');
4
4
  require('deep-diff');
5
- require('crypto-js/sha1');
5
+ var sha1 = require('crypto-js/sha1');
6
+
7
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
8
+
9
+ var sha1__default = /*#__PURE__*/_interopDefault(sha1);
6
10
 
7
11
  var __defProp = Object.defineProperty;
8
12
  var __defProps = Object.defineProperties;
@@ -29,8 +33,7 @@ var __decorateClass = (decorators, target, key, kind) => {
29
33
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
30
34
  if (decorator = decorators[i])
31
35
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
32
- if (kind && result)
33
- __defProp(target, key, result);
36
+ if (kind && result) __defProp(target, key, result);
34
37
  return result;
35
38
  };
36
39
  var __async = (__this, __arguments, generator) => {
@@ -66,17 +69,23 @@ function exportCanvasElement(element) {
66
69
  return element.memory;
67
70
  }
68
71
  function importCanvasElement(memory) {
69
- let element = getCanvasElementInstanceByClassName(memory.className);
72
+ let element = getCanvasElementInstanceById(memory.pixivnId);
70
73
  if (element) {
71
74
  element.memory = memory;
72
75
  } else {
73
- throw new Error("[Pixi'VN] The element " + memory.className + " could not be created");
76
+ throw new Error("[Pixi'VN] The element " + memory.pixivnId + " could not be created");
74
77
  }
75
78
  return element;
76
79
  }
77
80
 
78
81
  // src/classes/canvas/CanvasContainer.ts
82
+ var CANVAS_CONTAINER_ID = "CanvasContainer";
79
83
  var CanvasContainer = class extends pixi_js.Container {
84
+ constructor(options) {
85
+ super(options);
86
+ this.pixivnId = CANVAS_CONTAINER_ID;
87
+ this.pixivnId = this.constructor.prototype.pixivnId;
88
+ }
80
89
  get memory() {
81
90
  let memory = getMemoryContainer(this);
82
91
  this.children.forEach((child) => {
@@ -92,8 +101,12 @@ var CanvasContainer = class extends pixi_js.Container {
92
101
  }
93
102
  };
94
103
  function getMemoryContainer(element) {
104
+ let className = "CanvasContainer";
105
+ if (element.hasOwnProperty("pixivnId")) {
106
+ className = element.pixivnId;
107
+ }
95
108
  return {
96
- className: "CanvasContainer",
109
+ pixivnId: className,
97
110
  elements: [],
98
111
  width: element.width,
99
112
  height: element.height,
@@ -215,45 +228,49 @@ function eventDecorator(name) {
215
228
  name = target.name;
216
229
  }
217
230
  if (registeredEvents[name]) {
218
- console.warn(`[Pixi'VN] Event ${name} already exists, it will be overwritten`);
231
+ console.info(`[Pixi'VN] Event ${name} already exists, it will be overwritten`);
219
232
  }
233
+ target.prototype.id = name;
220
234
  registeredEvents[name] = target;
221
235
  };
222
236
  }
223
- function getEventTypeByClassName(eventName) {
237
+ function getEventTypeById(eventId) {
224
238
  try {
225
- let eventType = registeredEvents[eventName];
239
+ let eventType = registeredEvents[eventId];
226
240
  if (!eventType) {
227
- console.error(`[Pixi'VN] Event ${eventName} not found`);
241
+ console.error(`[Pixi'VN] Event ${eventId} not found`);
228
242
  return;
229
243
  }
230
244
  new eventType();
231
245
  return eventType;
232
246
  } catch (e) {
233
- console.error(`[Pixi'VN] Error while getting Event ${eventName}`, e);
247
+ console.error(`[Pixi'VN] Error while getting Event ${eventId}`, e);
234
248
  return;
235
249
  }
236
250
  }
237
- function getEventInstanceByClassName(eventName) {
251
+ function getEventInstanceById(eventId) {
238
252
  try {
239
- let eventType = registeredEvents[eventName];
253
+ let eventType = registeredEvents[eventId];
240
254
  if (!eventType) {
241
- console.error(`[Pixi'VN] Event ${eventName} not found`);
255
+ console.error(`[Pixi'VN] Event ${eventId} not found`);
242
256
  return;
243
257
  }
244
258
  let event = new eventType();
245
259
  return event;
246
260
  } catch (e) {
247
- console.error(`[Pixi'VN] Error while getting Event ${eventName}`, e);
261
+ console.error(`[Pixi'VN] Error while getting Event ${eventId}`, e);
248
262
  return;
249
263
  }
250
264
  }
251
265
 
252
266
  // src/classes/canvas/CanvasSprite.ts
267
+ var CANVAS_SPRITE_ID = "CanvasSprite";
253
268
  var CanvasSprite = class _CanvasSprite extends pixi_js.Sprite {
254
- constructor() {
255
- super(...arguments);
269
+ constructor(options) {
270
+ super(options);
271
+ this.pixivnId = CANVAS_SPRITE_ID;
256
272
  this._onEvents = {};
273
+ this.pixivnId = this.constructor.prototype.pixivnId;
257
274
  }
258
275
  get memory() {
259
276
  return getMemorySprite(this);
@@ -294,9 +311,9 @@ var CanvasSprite = class _CanvasSprite extends pixi_js.Sprite {
294
311
  * ```
295
312
  */
296
313
  onEvent(event, eventClass) {
297
- let className = eventClass.name;
298
- let instance = getEventInstanceByClassName(className);
299
- this._onEvents[event] = className;
314
+ let id = eventClass.prototype.id;
315
+ let instance = getEventInstanceById(id);
316
+ this._onEvents[event] = id;
300
317
  if (instance) {
301
318
  super.on(event, () => {
302
319
  instance.fn(event, this);
@@ -325,7 +342,7 @@ var CanvasSprite = class _CanvasSprite extends pixi_js.Sprite {
325
342
  function getMemorySprite(element) {
326
343
  let temp = getMemoryContainer(element);
327
344
  return __spreadProps(__spreadValues({}, temp), {
328
- className: "CanvasSprite",
345
+ pixivnId: element.pixivnId,
329
346
  textureImage: getTextureMemory(element.texture),
330
347
  anchor: { x: element.anchor.x, y: element.anchor.y },
331
348
  roundPixels: element.roundPixels,
@@ -348,8 +365,8 @@ function setMemorySprite(element, memory) {
348
365
  }
349
366
  memory.roundPixels && (element.roundPixels = memory.roundPixels);
350
367
  for (let event in memory.onEvents) {
351
- let className = memory.onEvents[event];
352
- let instance = getEventTypeByClassName(className);
368
+ let id = memory.onEvents[event];
369
+ let instance = getEventTypeById(id);
353
370
  if (instance) {
354
371
  element.onEvent(event, instance);
355
372
  }
@@ -357,9 +374,11 @@ function setMemorySprite(element, memory) {
357
374
  }
358
375
 
359
376
  // src/classes/canvas/CanvasImage.ts
377
+ var CANVAS_IMAGE_ID = "CanvasImage";
360
378
  var CanvasImage = class _CanvasImage extends CanvasSprite {
361
379
  constructor(options, imageLink) {
362
380
  super(options);
381
+ this.pixivnId = CANVAS_IMAGE_ID;
363
382
  this.imageLink = "";
364
383
  if (imageLink) {
365
384
  this.imageLink = imageLink;
@@ -367,12 +386,13 @@ var CanvasImage = class _CanvasImage extends CanvasSprite {
367
386
  }
368
387
  get memory() {
369
388
  return __spreadProps(__spreadValues({}, getMemorySprite(this)), {
370
- className: "CanvasImage",
371
- textureImage: { image: this.imageLink }
389
+ pixivnId: this.pixivnId,
390
+ imageLink: this.imageLink
372
391
  });
373
392
  }
374
393
  set memory(memory) {
375
394
  setMemorySprite(this, memory);
395
+ this.imageLink = memory.imageLink;
376
396
  }
377
397
  static from(source, skipCache) {
378
398
  let sprite = pixi_js.Sprite.from(source, skipCache);
@@ -400,10 +420,13 @@ var CanvasImage = class _CanvasImage extends CanvasSprite {
400
420
  });
401
421
  }
402
422
  };
423
+ var CANVAS_TEXT_ID = "CanvasText";
403
424
  var CanvasText = class extends pixi_js.Text {
404
- constructor() {
405
- super(...arguments);
425
+ constructor(options) {
426
+ super(options);
427
+ this.pixivnId = CANVAS_TEXT_ID;
406
428
  this._onEvents = {};
429
+ this.pixivnId = this.constructor.prototype.pixivnId;
407
430
  }
408
431
  get memory() {
409
432
  return getMemoryText(this);
@@ -444,9 +467,9 @@ var CanvasText = class extends pixi_js.Text {
444
467
  * ```
445
468
  */
446
469
  onEvent(event, eventClass) {
447
- let className = eventClass.name;
448
- let instance = getEventInstanceByClassName(className);
449
- this._onEvents[event] = className;
470
+ let id = eventClass.prototype.id;
471
+ let instance = getEventInstanceById(id);
472
+ this._onEvents[event] = id;
450
473
  if (instance) {
451
474
  super.on(event, () => {
452
475
  instance.fn(event, this);
@@ -469,7 +492,7 @@ var CanvasText = class extends pixi_js.Text {
469
492
  function getMemoryText(element) {
470
493
  let temp = getMemoryContainer(element);
471
494
  return __spreadProps(__spreadValues({}, temp), {
472
- className: "CanvasText",
495
+ pixivnId: element.pixivnId,
473
496
  anchor: { x: element.anchor.x, y: element.anchor.y },
474
497
  text: element.text,
475
498
  resolution: element.resolution,
@@ -492,8 +515,8 @@ function setMemoryText(element, memory) {
492
515
  memory.style && (element.style = memory.style);
493
516
  memory.roundPixels && (element.roundPixels = memory.roundPixels);
494
517
  for (let event in memory.onEvents) {
495
- let className = memory.onEvents[event];
496
- let instance = getEventTypeByClassName(className);
518
+ let id = memory.onEvents[event];
519
+ let instance = getEventTypeById(id);
497
520
  if (instance) {
498
521
  element.onEvent(event, instance);
499
522
  }
@@ -510,31 +533,32 @@ function canvasElementDecorator(name) {
510
533
  if (registeredCanvasElement[name]) {
511
534
  console.warn(`[Pixi'VN] CanvasElement ${name} already registered`);
512
535
  }
536
+ target.prototype.pixivnId = name;
513
537
  registeredCanvasElement[name] = target;
514
538
  };
515
539
  }
516
- function getCanvasElementInstanceByClassName(canvasName) {
540
+ function getCanvasElementInstanceById(canvasId) {
517
541
  try {
518
- let eventType = registeredCanvasElement[canvasName];
542
+ let eventType = registeredCanvasElement[canvasId];
519
543
  if (!eventType) {
520
- if (canvasName === "CanvasContainer") {
544
+ if (canvasId === CANVAS_CONTAINER_ID) {
521
545
  eventType = CanvasContainer;
522
- } else if (canvasName === "CanvasImage") {
546
+ } else if (canvasId === CANVAS_IMAGE_ID) {
523
547
  eventType = CanvasImage;
524
- } else if (canvasName === "CanvasSprite") {
548
+ } else if (canvasId === CANVAS_SPRITE_ID) {
525
549
  eventType = CanvasSprite;
526
- } else if (canvasName === "CanvasText") {
550
+ } else if (canvasId === CANVAS_TEXT_ID) {
527
551
  eventType = CanvasText;
528
552
  }
529
553
  }
530
554
  if (!eventType) {
531
- console.error(`[Pixi'VN] CanvasElement ${canvasName} not found`);
555
+ console.error(`[Pixi'VN] CanvasElement ${canvasId} not found`);
532
556
  return;
533
557
  }
534
558
  let canvasElement = new eventType();
535
559
  return canvasElement;
536
560
  } catch (e) {
537
- console.error(`[Pixi'VN] Error while getting CanvasElement ${canvasName}`, e);
561
+ console.error(`[Pixi'VN] Error while getting CanvasElement ${canvasId}`, e);
538
562
  return;
539
563
  }
540
564
  }
@@ -547,7 +571,7 @@ function saveCharacter(character) {
547
571
  return;
548
572
  }
549
573
  if (registeredCharacters[character.id]) {
550
- console.warn(`[Pixi'VN] Character id ${character.id} already exists, it will be overwritten`);
574
+ console.info(`[Pixi'VN] Character id ${character.id} already exists, it will be overwritten`);
551
575
  }
552
576
  registeredCharacters[character.id] = character;
553
577
  }
@@ -586,7 +610,7 @@ var Label = class {
586
610
  this._choiseIndex = choiseIndex;
587
611
  }
588
612
  /**
589
- * Get the id of the label
613
+ * Get the id of the label. This variable is used in the system to get the label by id, {@link getLabelById}
590
614
  */
591
615
  get id() {
592
616
  return this._id;
@@ -638,49 +662,46 @@ var Label = class {
638
662
  }
639
663
  };
640
664
 
641
- // src/types/PauseType.ts
642
- var PauseValueType = "pause";
643
-
644
- // src/types/RepeatType.ts
645
- var Repeat = "repeat";
646
-
647
665
  // src/classes/ticker/TickerBase.ts
648
666
  var TickerBase = class {
649
667
  /**
650
668
  * @param args The arguments that you want to pass to the ticker.
651
- * @param duration The duration of the ticker. If is undefined, the ticker will be called every frame.
652
- * @param priority The priority of the ticker. If is undefined, the priority will be UPDATE_PRIORITY.NORMAL.
669
+ * @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
670
+ * @param priority The priority of the ticker. @default UPDATE_PRIORITY.NORMAL
653
671
  */
654
672
  constructor(args, duration, priority) {
673
+ /**
674
+ * Get the id of the ticker. This variable is used in the system to get the ticker by id, {@link geTickerInstanceById}
675
+ */
676
+ this.id = "ticker_id_not_set";
655
677
  this.args = args;
656
678
  this.duration = duration;
657
679
  this.priority = priority;
680
+ this.id = this.constructor.prototype.id;
658
681
  }
659
682
  /**
660
683
  * The method that will be called every frame.
661
684
  * This method should be overridden and you can use GameWindowManager.addCanvasElement() to get the canvas element of the canvas, and edit them.
662
- * @param t The ticker that is calling this method
663
- * @param args The arguments that you passed when you added the ticker
664
- * @param tags The tags of the canvas elements that are connected to this ticker
685
+ * @param _ticker The ticker that is calling this method
686
+ * @param _args The arguments that you passed when you added the ticker
687
+ * @param _tags The tags of the canvas elements that are connected to this ticker
688
+ * @param _tickerId The id of the ticker. You can use this to get the ticker from the {@link GameWindowManager.currentTickers}
665
689
  */
666
- fn(_t, _args, _tags) {
690
+ fn(_ticker, _args, _tags, _tickerId) {
667
691
  throw new Error("[Pixi'VN] The method TickerBase.fn() must be overridden");
668
692
  }
669
693
  };
670
- var TickerFadeAlpha = class extends TickerBase {
671
- /**
672
- * The method that will be called every frame to fade the alpha of the canvas element of the canvas.
673
- * @param delta The delta time
674
- * @param args The arguments that are passed to the ticker
675
- * @param tags The tags of the canvas element that are connected to this ticker
676
- */
677
- fn(t, args, tags) {
694
+
695
+ // src/classes/ticker/FadeAlphaTicker.ts
696
+ var FadeAlphaTicker = class extends TickerBase {
697
+ fn(ticker, args, tags, tickerId) {
678
698
  let type = args.type === void 0 ? "hide" : args.type;
679
- let speed = args.speed === void 0 ? 0.1 : args.speed;
699
+ let duration = args.duration === void 0 ? 1 : args.duration;
700
+ let speed = 1 / (duration * 60);
680
701
  let limit = args.limit === void 0 ? type === "hide" ? 0 : 1 : args.limit;
681
- let removeElementAfter = args.tagToRemoveAfter || [];
682
- if (typeof removeElementAfter === "string") {
683
- removeElementAfter = [removeElementAfter];
702
+ let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
703
+ if (typeof tagToRemoveAfter2 === "string") {
704
+ tagToRemoveAfter2 = [tagToRemoveAfter2];
684
705
  }
685
706
  if (type === "hide" && limit < 0) {
686
707
  limit = 0;
@@ -701,61 +722,88 @@ var TickerFadeAlpha = class extends TickerBase {
701
722
  let element = GameWindowManager.getCanvasElement(tag);
702
723
  if (element && element instanceof pixi_js.Container) {
703
724
  if (type === "show" && element.alpha < limit) {
704
- element.alpha += speed * t.deltaTime;
725
+ element.alpha += speed * ticker.deltaTime;
705
726
  } else if (type === "hide" && element.alpha > limit) {
706
- element.alpha -= speed * t.deltaTime;
707
- } else {
727
+ element.alpha -= speed * ticker.deltaTime;
728
+ }
729
+ if (type === "show" && element.alpha >= limit) {
730
+ element.alpha = limit;
731
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
732
+ } else if (type === "hide" && element.alpha <= limit) {
708
733
  element.alpha = limit;
709
- GameWindowManager.removeAssociationBetweenTickerCanvasElement(tag, this);
710
- GameWindowManager.removeCanvasElement(removeElementAfter);
734
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
711
735
  }
712
736
  }
713
737
  });
714
738
  }
715
739
  };
716
- TickerFadeAlpha = __decorateClass([
740
+ FadeAlphaTicker = __decorateClass([
717
741
  tickerDecorator()
718
- ], TickerFadeAlpha);
742
+ ], FadeAlphaTicker);
719
743
 
720
744
  // src/functions/TickerUtility.ts
721
745
  function updateTickerProgression(args, propertyName, progression) {
722
- if (args.hasOwnProperty(propertyName) && typeof args[propertyName] !== "number") {
746
+ if (args[propertyName] === void 0 || !progression || args[propertyName] === progression.limit) {
723
747
  return;
724
748
  }
725
- if (args[propertyName] !== void 0 && progression && args[propertyName] !== progression.limit) {
749
+ if (typeof args[propertyName] === "number") {
726
750
  if (progression.type === "linear") {
727
- args[propertyName] += progression.amt;
728
- if (progression.limit !== void 0) {
729
- if (args[propertyName] > progression.limit && progression.amt > 0) {
730
- args[propertyName] = progression.limit;
731
- } else if (args[propertyName] < progression.limit && progression.amt < 0) {
732
- args[propertyName] = progression.limit;
733
- }
734
- }
751
+ args[propertyName] = getLinearProgression(args[propertyName], progression);
735
752
  } else if (progression.type === "exponential") {
736
- args[propertyName] += args[propertyName] * progression.percentage;
737
- if (progression.limit !== void 0) {
738
- if (args[propertyName] > progression.limit && progression.percentage > 0) {
739
- args[propertyName] = progression.limit;
740
- } else if (args[propertyName] < progression.limit && progression.percentage < 0) {
741
- args[propertyName] = progression.limit;
742
- }
743
- }
753
+ args[propertyName] = getExponentialProgression(args[propertyName], progression);
754
+ }
755
+ } 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") {
756
+ if (progression.type === "linear") {
757
+ args[propertyName].x = getLinearProgression(args[propertyName].x, progression);
758
+ args[propertyName].y = getLinearProgression(args[propertyName].y, progression);
759
+ } else if (progression.type === "exponential") {
760
+ args[propertyName].x = getExponentialProgression(args[propertyName].x, progression);
761
+ args[propertyName].y = getExponentialProgression(args[propertyName].y, progression);
762
+ }
763
+ }
764
+ }
765
+ function getLinearProgression(number, progression) {
766
+ if (progression.limit !== void 0) {
767
+ if (number > progression.limit && progression.amt > 0) {
768
+ return progression.limit;
769
+ } else if (number < progression.limit && progression.amt < 0) {
770
+ return progression.limit;
744
771
  }
745
772
  }
773
+ return number + progression.amt / 60;
774
+ }
775
+ function getExponentialProgression(number, progression) {
776
+ if (progression.limit !== void 0) {
777
+ if (number > progression.limit && progression.percentage > 0) {
778
+ return progression.limit;
779
+ } else if (number < progression.limit && progression.percentage < 0) {
780
+ return progression.limit;
781
+ }
782
+ }
783
+ return number + number * progression.percentage;
746
784
  }
747
785
 
748
- // src/classes/ticker/TickerMove.ts
749
- var TickerMove = class extends TickerBase {
750
- /**
751
- * The method that will be called every frame to move the canvas element of the canvas.
752
- * @param t The ticker that is calling this method
753
- * @param args The arguments that are passed to the ticker
754
- * @param tags The tags of the canvas element that are connected to this ticker
755
- */
756
- fn(t, args, tags) {
757
- let speed = args.speed === void 0 ? 0.1 : args.speed;
786
+ // src/classes/ticker/MoveTicker.ts
787
+ var MoveTicker = class extends TickerBase {
788
+ fn(ticker, args, tags, tickerId) {
789
+ let xSpeed = 1;
790
+ let ySpeed = 1;
791
+ if (args.speed) {
792
+ if (typeof args.speed === "number") {
793
+ xSpeed = args.speed;
794
+ ySpeed = args.speed;
795
+ } else {
796
+ xSpeed = args.speed.x;
797
+ ySpeed = args.speed.y;
798
+ }
799
+ }
800
+ xSpeed /= 60;
801
+ ySpeed /= 60;
758
802
  let destination = args.destination;
803
+ let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
804
+ if (typeof tagToRemoveAfter2 === "string") {
805
+ tagToRemoveAfter2 = [tagToRemoveAfter2];
806
+ }
759
807
  tags.filter((tag) => {
760
808
  var _a;
761
809
  let element = GameWindowManager.getCanvasElement(tag);
@@ -768,41 +816,42 @@ var TickerMove = class extends TickerBase {
768
816
  }).forEach((tag) => {
769
817
  let element = GameWindowManager.getCanvasElement(tag);
770
818
  if (element && element instanceof pixi_js.Container) {
771
- let xDistance = destination.x - element.x;
819
+ let xDistance = destination.x - element.x > 0 ? 1 : -1;
772
820
  if (xDistance != 0) {
773
- element.x += xDistance / speed * t.deltaTime;
821
+ element.x += xDistance * xSpeed * ticker.deltaTime;
774
822
  let newDistance = destination.x - element.x;
775
823
  if (xDistance < 0 && newDistance > 0 || xDistance > 0 && newDistance < 0) {
776
824
  element.x = destination.x;
777
825
  }
778
826
  }
779
- let yDistance = destination.y - element.y;
827
+ let yDistance = destination.y - element.y > 0 ? 1 : -1;
780
828
  if (yDistance != 0) {
781
- element.y += yDistance / speed * t.deltaTime;
829
+ element.y += yDistance * ySpeed * ticker.deltaTime;
782
830
  let newDistance = destination.y - element.y;
783
831
  if (yDistance < 0 && newDistance > 0 || yDistance > 0 && newDistance < 0) {
784
832
  element.y = destination.y;
785
833
  }
786
834
  }
835
+ if (element.x == destination.x && element.y == destination.y) {
836
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
837
+ }
787
838
  }
788
839
  });
789
840
  if (args.speedProgression)
790
841
  updateTickerProgression(args, "speed", args.speedProgression);
791
842
  }
792
843
  };
793
- TickerMove = __decorateClass([
844
+ MoveTicker = __decorateClass([
794
845
  tickerDecorator()
795
- ], TickerMove);
796
- var TickerRotate = class extends TickerBase {
797
- /**
798
- * The method that will be called every frame to rotate the canvas element of the canvas.
799
- * @param delta The delta time
800
- * @param args The arguments that are passed to the ticker
801
- * @param tags The tags of the canvas element that are connected to this ticker
802
- */
803
- fn(t, args, tags) {
804
- let speed = args.speed === void 0 ? 0.1 : args.speed;
846
+ ], MoveTicker);
847
+ var RotateTicker = class extends TickerBase {
848
+ fn(ticker, args, tags, tickerId) {
849
+ let speed = (args.speed === void 0 ? 1 : args.speed) / 60;
805
850
  let clockwise = args.clockwise === void 0 ? true : args.clockwise;
851
+ let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
852
+ if (typeof tagToRemoveAfter2 === "string") {
853
+ tagToRemoveAfter2 = [tagToRemoveAfter2];
854
+ }
806
855
  tags.filter((tag) => {
807
856
  var _a;
808
857
  let element = GameWindowManager.getCanvasElement(tag);
@@ -816,18 +865,114 @@ var TickerRotate = class extends TickerBase {
816
865
  let element = GameWindowManager.getCanvasElement(tag);
817
866
  if (element && element instanceof pixi_js.Container) {
818
867
  if (clockwise)
819
- element.rotation += speed * t.deltaTime;
868
+ element.rotation += speed * ticker.deltaTime;
820
869
  else
821
- element.rotation -= speed * t.deltaTime;
870
+ element.rotation -= speed * ticker.deltaTime;
871
+ if (speed < 1e-5 && !(args.speedProgression && args.speedProgression.type == "linear" && args.speedProgression.amt != 0)) {
872
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
873
+ }
874
+ }
875
+ });
876
+ if (args.speedProgression)
877
+ updateTickerProgression(args, "speed", args.speedProgression);
878
+ }
879
+ };
880
+ RotateTicker = __decorateClass([
881
+ tickerDecorator()
882
+ ], RotateTicker);
883
+ var ZoomTicker = class extends TickerBase {
884
+ fn(ticker, args, tags, tickerId) {
885
+ let xSpeed = 0.1;
886
+ let ySpeed = 0.1;
887
+ if (args.speed) {
888
+ if (typeof args.speed === "number") {
889
+ xSpeed = args.speed;
890
+ ySpeed = args.speed;
891
+ } else {
892
+ xSpeed = args.speed.x;
893
+ ySpeed = args.speed.y;
894
+ }
895
+ }
896
+ xSpeed /= 60;
897
+ ySpeed /= 60;
898
+ let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
899
+ if (typeof tagToRemoveAfter2 === "string") {
900
+ tagToRemoveAfter2 = [tagToRemoveAfter2];
901
+ }
902
+ let type = args.type || "zoom";
903
+ let xLimit = type === "zoom" ? Infinity : 0;
904
+ let yLimit = type === "zoom" ? Infinity : 0;
905
+ if (args.limit) {
906
+ if (typeof args.limit === "number") {
907
+ xLimit = args.limit;
908
+ yLimit = args.limit;
909
+ } else {
910
+ xLimit = args.limit.x;
911
+ yLimit = args.limit.y;
912
+ }
913
+ }
914
+ tags.filter((tag) => {
915
+ var _a;
916
+ let element = GameWindowManager.getCanvasElement(tag);
917
+ if (args.startOnlyIfHaveTexture) {
918
+ if (element && element instanceof pixi_js.Sprite && ((_a = element.texture) == null ? void 0 : _a.label) == "EMPTY") {
919
+ return false;
920
+ }
921
+ }
922
+ return true;
923
+ }).forEach((tag) => {
924
+ let element = GameWindowManager.getCanvasElement(tag);
925
+ if (element && element instanceof pixi_js.Container) {
926
+ if (type === "zoom" && (element.scale.x < xLimit || element.scale.y < yLimit)) {
927
+ element.scale.x += xSpeed * ticker.deltaTime;
928
+ element.scale.y += ySpeed * ticker.deltaTime;
929
+ } else if (type === "unzoom" && (element.scale.x > xLimit || element.scale.y > yLimit)) {
930
+ element.scale.x -= xSpeed * ticker.deltaTime;
931
+ element.scale.y -= ySpeed * ticker.deltaTime;
932
+ }
933
+ if (type === "zoom") {
934
+ if (element.scale.x > xLimit) {
935
+ element.scale.x = xLimit;
936
+ }
937
+ if (element.scale.y > yLimit) {
938
+ element.scale.y = yLimit;
939
+ }
940
+ if (element.scale.x >= xLimit && element.scale.y >= yLimit) {
941
+ element.scale.x = xLimit;
942
+ element.scale.y = yLimit;
943
+ this.onEndOfTicker(tag, tickerId, element, tagToRemoveAfter2);
944
+ }
945
+ } else if (type === "unzoom") {
946
+ if (element.scale.x < xLimit) {
947
+ element.scale.x = xLimit;
948
+ }
949
+ if (element.scale.y < yLimit) {
950
+ element.scale.y = yLimit;
951
+ }
952
+ if (element.scale.x <= xLimit && element.scale.y <= yLimit) {
953
+ element.scale.x = xLimit;
954
+ element.scale.y = yLimit;
955
+ this.onEndOfTicker(tag, tickerId, element, tagToRemoveAfter2);
956
+ }
957
+ }
958
+ if (xSpeed < 1e-5 && ySpeed < 1e-5 && !(args.speedProgression && args.speedProgression.type == "linear" && args.speedProgression.amt != 0)) {
959
+ this.onEndOfTicker(tag, tickerId, element, tagToRemoveAfter2);
960
+ }
822
961
  }
823
962
  });
824
963
  if (args.speedProgression)
825
964
  updateTickerProgression(args, "speed", args.speedProgression);
826
965
  }
966
+ onEndOfTicker(tag, tickerId, _element, tagToRemoveAfter2) {
967
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
968
+ }
827
969
  };
828
- TickerRotate = __decorateClass([
970
+ ZoomTicker = __decorateClass([
829
971
  tickerDecorator()
830
- ], TickerRotate);
972
+ ], ZoomTicker);
973
+
974
+ // src/constants.ts
975
+ var Repeat = "repeat";
831
976
 
832
977
  // src/functions/ExportUtility.ts
833
978
  function createExportableElement(element) {
@@ -848,21 +993,22 @@ function tickerDecorator(name) {
848
993
  name = target.name;
849
994
  }
850
995
  if (registeredTickers[name]) {
851
- console.warn(`[Pixi'VN] Ticker ${name} already exists, it will be overwritten`);
996
+ console.info(`[Pixi'VN] Ticker ${name} already exists, it will be overwritten`);
852
997
  }
998
+ target.prototype.id = name;
853
999
  registeredTickers[name] = target;
854
1000
  };
855
1001
  }
856
- function geTickerInstanceByClassName(tickerName, args, duration, priority) {
1002
+ function geTickerInstanceById(tickerId, args, duration, priority) {
857
1003
  try {
858
- let ticker = registeredTickers[tickerName];
1004
+ let ticker = registeredTickers[tickerId];
859
1005
  if (!ticker) {
860
- console.error(`[Pixi'VN] Ticker ${tickerName} not found`);
1006
+ console.error(`[Pixi'VN] Ticker ${tickerId} not found`);
861
1007
  return;
862
1008
  }
863
1009
  return new ticker(args, duration, priority);
864
1010
  } catch (e) {
865
- console.error(`[Pixi'VN] Error while getting Ticker ${tickerName}`, e);
1011
+ console.error(`[Pixi'VN] Error while getting Ticker ${tickerId}`, e);
866
1012
  return;
867
1013
  }
868
1014
  }
@@ -878,6 +1024,9 @@ function asciiArtLog() {
878
1024
  `);
879
1025
  }
880
1026
 
1027
+ // src/types/ticker/TagToRemoveAfterType.ts
1028
+ var tagToRemoveAfter = "tagToRemoveAfter";
1029
+
881
1030
  // src/managers/WindowManager.ts
882
1031
  var _GameWindowManager = class _GameWindowManager {
883
1032
  constructor() {
@@ -1060,25 +1209,25 @@ var _GameWindowManager = class _GameWindowManager {
1060
1209
  /**
1061
1210
  * Remove a canvas element from the canvas.
1062
1211
  * And remove all tickers that are not connected to any canvas element.
1063
- * @param tag The tag of the canvas element to be removed.
1212
+ * @param tags The tag of the canvas element to be removed.
1064
1213
  * @returns
1065
1214
  * @example
1066
1215
  * ```typescript
1067
1216
  * GameWindowManager.removeCanvasElement("bunny");
1068
1217
  * ```
1069
1218
  */
1070
- static removeCanvasElement(tag) {
1071
- if (typeof tag === "string") {
1072
- tag = [tag];
1219
+ static removeCanvasElement(tags) {
1220
+ if (typeof tags === "string") {
1221
+ tags = [tags];
1073
1222
  }
1074
- tag.forEach((t) => {
1075
- if (_GameWindowManager._children[t]) {
1076
- _GameWindowManager.app.stage.removeChild(_GameWindowManager._children[t]);
1077
- delete _GameWindowManager._children[t];
1223
+ tags.forEach((tag) => {
1224
+ if (_GameWindowManager._children[tag]) {
1225
+ _GameWindowManager.app.stage.removeChild(_GameWindowManager._children[tag]);
1226
+ delete _GameWindowManager._children[tag];
1227
+ _GameWindowManager.removeTickerByCanvasElement(tag);
1078
1228
  }
1079
1229
  });
1080
- _GameWindowManager.removeTickersWithoutAssociatedCanvasElement();
1081
- _GameWindowManager.childrenTagsOrder = _GameWindowManager.childrenTagsOrder.filter((t) => !tag.includes(t));
1230
+ _GameWindowManager.childrenTagsOrder = _GameWindowManager.childrenTagsOrder.filter((t) => !tags.includes(t));
1082
1231
  }
1083
1232
  /**
1084
1233
  * Get a canvas element by the tag.
@@ -1108,18 +1257,43 @@ var _GameWindowManager = class _GameWindowManager {
1108
1257
  _GameWindowManager.app.stage.removeChildren();
1109
1258
  _GameWindowManager._children = {};
1110
1259
  _GameWindowManager.childrenTagsOrder = [];
1111
- _GameWindowManager.removeTickers();
1260
+ _GameWindowManager.removeAllTickers();
1112
1261
  }
1113
1262
  /**
1114
1263
  * Edit the tag of a canvas element.
1115
1264
  * @param oldTag The old tag of the canvas element.
1116
1265
  * @param newTag The new tag of the canvas element.
1117
1266
  */
1118
- static editTagCanvasElement(oldTag, newTag) {
1267
+ static editCanvasElementTag(oldTag, newTag) {
1119
1268
  if (_GameWindowManager._children[oldTag]) {
1120
1269
  _GameWindowManager._children[newTag] = _GameWindowManager._children[oldTag];
1121
1270
  delete _GameWindowManager._children[oldTag];
1122
1271
  }
1272
+ if (_GameWindowManager._currentTickersSteps[oldTag]) {
1273
+ _GameWindowManager._currentTickersSteps[newTag] = _GameWindowManager._currentTickersSteps[oldTag];
1274
+ delete _GameWindowManager._currentTickersSteps[oldTag];
1275
+ }
1276
+ for (let id in _GameWindowManager._currentTickers) {
1277
+ let ticker = _GameWindowManager._currentTickers[id];
1278
+ if (ticker.canvasElementTags.includes(oldTag)) {
1279
+ ticker.canvasElementTags = ticker.canvasElementTags.map((t) => t === oldTag ? newTag : t);
1280
+ if (ticker.args.hasOwnProperty(tagToRemoveAfter)) {
1281
+ let tagToRemoveAfter2 = ticker.args.tagToRemoveAfter;
1282
+ if (typeof tagToRemoveAfter2 === "string") {
1283
+ tagToRemoveAfter2 = [tagToRemoveAfter2];
1284
+ }
1285
+ if (Array.isArray(tagToRemoveAfter2)) {
1286
+ ticker.args.tagToRemoveAfter = tagToRemoveAfter2.map((t) => t === oldTag ? newTag : t);
1287
+ }
1288
+ }
1289
+ }
1290
+ }
1291
+ for (let timeout in _GameWindowManager._currentTickersTimeouts) {
1292
+ let TickerTimeout = _GameWindowManager._currentTickersTimeouts[timeout];
1293
+ if (TickerTimeout.tags.includes(oldTag)) {
1294
+ TickerTimeout.tags = TickerTimeout.tags.map((t) => t === oldTag ? newTag : t);
1295
+ }
1296
+ }
1123
1297
  }
1124
1298
  /** Edit Tickers Methods */
1125
1299
  /**
@@ -1128,106 +1302,127 @@ var _GameWindowManager = class _GameWindowManager {
1128
1302
  static get currentTickers() {
1129
1303
  return _GameWindowManager._currentTickers;
1130
1304
  }
1305
+ static get currentTickersList() {
1306
+ return Object.values(_GameWindowManager._currentTickers);
1307
+ }
1308
+ static get currentTickersWithoutCreatedBySteps() {
1309
+ return Object.fromEntries(Object.entries(_GameWindowManager._currentTickers).filter(([_, ticker]) => !ticker.createdByTicketStepsId));
1310
+ }
1131
1311
  /**
1132
1312
  * The steps of the tickers
1133
1313
  */
1134
1314
  static get currentTickersSteps() {
1135
1315
  return _GameWindowManager._currentTickersSteps;
1136
1316
  }
1317
+ static generateTickerId(tickerData) {
1318
+ try {
1319
+ return sha1__default.default(JSON.stringify(tickerData)).toString() + "_" + Math.random().toString(36).substring(7);
1320
+ } catch (e) {
1321
+ throw new Error(`[Pixi'VN] Error to generate ticker id: ${e}`);
1322
+ }
1323
+ }
1137
1324
  /**
1138
- * Run a ticker.
1325
+ * Run a ticker. You can run multiple addTicker with the same tag and different tickerClasses.
1326
+ * If you run a ticker with the same tag and tickerClass, the old ticker will be removed.
1327
+ * If already exists a sequence of tickers with the same tag, it will be removed.
1139
1328
  * @param canvasEslementTag The tag of the canvas element that will use the ticker.
1140
1329
  * @param ticker The ticker class to be run.
1141
1330
  * @param args The arguments to be used in the ticker.
1142
- * @param duration The time to be used in the ticker. This number is in milliseconds. If it is undefined, the ticker will run forever.
1331
+ * @param duration The time to be used in the ticker. This number is in seconds. If it is undefined, the ticker will run forever.
1143
1332
  * @param priority The priority to be used in the ticker.
1144
1333
  * @returns
1145
1334
  * @example
1146
1335
  * ```typescript
1147
- * GameWindowManager.addTicker("alien", new TickerRotate({ speed: 0.2 }))
1336
+ * GameWindowManager.addTicker("alien", new RotateTicker({ speed: 0.2 }))
1148
1337
  * ```
1149
1338
  */
1150
1339
  static addTicker(canvasElementTag, ticker) {
1151
- let tickerName = ticker.constructor.name;
1340
+ let tickerId = ticker.id;
1152
1341
  if (typeof canvasElementTag === "string") {
1153
1342
  canvasElementTag = [canvasElementTag];
1154
1343
  }
1155
- let t = geTickerInstanceByClassName(tickerName, ticker.args, ticker.duration, ticker.priority);
1156
- if (!t) {
1157
- console.error(`[Pixi'VN] Ticker ${tickerName} not found`);
1344
+ if (!geTickerInstanceById(tickerId, ticker.args, ticker.duration, ticker.priority)) {
1345
+ console.error(`[Pixi'VN] Ticker ${tickerId} not found`);
1158
1346
  return;
1159
1347
  }
1160
- _GameWindowManager.removeAssociationBetweenTickerCanvasElement(canvasElementTag, ticker);
1161
1348
  let tickerHistory = {
1162
1349
  fn: () => {
1163
1350
  },
1164
- className: tickerName,
1165
- args: ticker.args,
1351
+ id: tickerId,
1352
+ args: createExportableElement(ticker.args),
1166
1353
  canvasElementTags: canvasElementTag,
1167
1354
  priority: ticker.priority,
1168
1355
  duration: ticker.duration
1169
1356
  };
1170
- _GameWindowManager.pushTicker(tickerHistory, t);
1171
- _GameWindowManager.removeTickersWithoutAssociatedCanvasElement();
1357
+ let id = _GameWindowManager.generateTickerId(tickerHistory);
1358
+ _GameWindowManager.pushTicker(id, tickerHistory, ticker);
1172
1359
  if (ticker.duration) {
1173
1360
  let timeout = setTimeout(() => {
1174
1361
  _GameWindowManager.removeTickerTimeoutInfo(timeout);
1175
- _GameWindowManager.nextTickerStep(canvasElementTag);
1176
- }, ticker.duration);
1177
- _GameWindowManager.addTickerTimeoutInfo(canvasElementTag, tickerName, timeout.toString());
1362
+ let tickerTimeoutInfo = _GameWindowManager._currentTickersTimeouts[timeout.toString()];
1363
+ if (tickerTimeoutInfo) {
1364
+ _GameWindowManager.removeTicker(id);
1365
+ }
1366
+ }, ticker.duration * 1e3);
1367
+ _GameWindowManager.addTickerTimeoutInfo(canvasElementTag, tickerId, timeout.toString(), true);
1178
1368
  }
1179
1369
  }
1180
- static pushTicker(tickerData, ticker) {
1181
- _GameWindowManager.removeAssociationBetweenTickerCanvasElement(tickerData.canvasElementTags, tickerData);
1182
- _GameWindowManager._currentTickers.push(tickerData);
1370
+ static pushTicker(id, tickerData, ticker) {
1371
+ _GameWindowManager.removeAssociationBetweenTickerCanvasElement(tickerData.canvasElementTags, ticker);
1372
+ _GameWindowManager._currentTickers[id] = tickerData;
1183
1373
  tickerData.fn = (t) => {
1184
- ticker == null ? void 0 : ticker.fn(t, tickerData.args, tickerData.canvasElementTags);
1374
+ let data = _GameWindowManager._currentTickers[id];
1375
+ if (data) {
1376
+ ticker == null ? void 0 : ticker.fn(t, data.args, data.canvasElementTags, id);
1377
+ }
1185
1378
  };
1186
1379
  _GameWindowManager.app.ticker.add(tickerData.fn, void 0, tickerData.priority);
1187
1380
  }
1188
1381
  /**
1189
- * Run a sequence of tickers.
1382
+ * Run a sequence of tickers. If exists a ticker steps with the same tag, it will be removed.
1190
1383
  * @param tag The tag of canvas element that will use the tickers.
1191
1384
  * @param steps The steps of the tickers.
1385
+ * @param currentStepNumber The current step number. It is used to continue the sequence of tickers.
1192
1386
  * @returns
1193
1387
  * @example
1194
1388
  * ```typescript
1195
1389
  * GameWindowManager.addTickersSteps("alien", [
1196
- * new TickerRotate({ speed: 0.1, clockwise: true }, 2000),
1197
- * Pause(500),
1198
- * new TickerRotate({ speed: 0.2, clockwise: false }, 2000),
1390
+ * new RotateTicker({ speed: 0.1, clockwise: true }, 2), // 2 seconds
1391
+ * Pause(1), // 1 second
1392
+ * new RotateTicker({ speed: 0.2, clockwise: false }, 2),
1199
1393
  * Repeat,
1200
1394
  * ])
1201
1395
  * ```
1202
1396
  */
1203
- static addTickersSteps(tag, steps) {
1397
+ static addTickersSteps(tag, steps, currentStepNumber = 0) {
1204
1398
  if (steps.length == 0) {
1205
1399
  console.warn("[Pixi'VN] The steps of the tickers is empty");
1206
1400
  return;
1207
1401
  }
1208
- let alredyExists = _GameWindowManager._currentTickersSteps[tag] !== void 0;
1402
+ _GameWindowManager.removeTickerStepByCanvasElement(tag);
1209
1403
  _GameWindowManager._currentTickersSteps[tag] = {
1210
- currentStepNumber: 0,
1211
- steps: steps.map((s) => {
1212
- if (s === Repeat) {
1213
- return s;
1214
- }
1215
- if (!s.duration) {
1216
- console.warn("[Pixi'VN] Duration is not defined, so it will be set to 1000");
1217
- s.duration = 1e3;
1404
+ currentStepNumber,
1405
+ steps: steps.map((step) => {
1406
+ if (step === Repeat) {
1407
+ return step;
1218
1408
  }
1219
- if (s.hasOwnProperty("type") && s.type === PauseValueType) {
1220
- return s;
1409
+ if (step.hasOwnProperty("type") && step.type === "pause") {
1410
+ return step;
1221
1411
  }
1222
- let tickerName = s.constructor.name;
1412
+ let tickerId = step.id;
1223
1413
  return {
1224
- ticker: tickerName,
1225
- args: s.args,
1226
- duration: s.duration
1414
+ ticker: tickerId,
1415
+ args: createExportableElement(step.args),
1416
+ duration: step.duration
1227
1417
  };
1228
1418
  })
1229
1419
  };
1230
- if (!alredyExists) {
1420
+ _GameWindowManager.runTickersSteps(tag);
1421
+ }
1422
+ static restoneTickersSteps(data) {
1423
+ for (let tag in data) {
1424
+ let steps = data[tag];
1425
+ _GameWindowManager._currentTickersSteps[tag] = steps;
1231
1426
  _GameWindowManager.runTickersSteps(tag);
1232
1427
  }
1233
1428
  }
@@ -1241,70 +1436,106 @@ var _GameWindowManager = class _GameWindowManager {
1241
1436
  return;
1242
1437
  }
1243
1438
  }
1244
- if (step.hasOwnProperty("type") && step.type === PauseValueType) {
1439
+ if (step.hasOwnProperty("type") && step.type === "pause") {
1245
1440
  let timeout = setTimeout(() => {
1441
+ let tickerTimeoutInfo = _GameWindowManager._currentTickersTimeouts[timeout.toString()];
1442
+ if (tickerTimeoutInfo) {
1443
+ tickerTimeoutInfo.tags.forEach((tag2) => {
1444
+ _GameWindowManager.nextTickerStep(tag2);
1445
+ });
1446
+ }
1246
1447
  _GameWindowManager.removeTickerTimeoutInfo(timeout);
1247
- _GameWindowManager.nextTickerStep(tag);
1248
- }, step.duration);
1249
- _GameWindowManager.addTickerTimeoutInfo(tag, "steps", timeout.toString());
1448
+ }, step.duration * 1e3);
1449
+ _GameWindowManager.addTickerTimeoutInfo(tag, "steps", timeout.toString(), false);
1250
1450
  return;
1251
1451
  }
1252
- let ticker = geTickerInstanceByClassName(step.ticker, step.args, step.duration, step.priority);
1452
+ let ticker = geTickerInstanceById(step.ticker, step.args, step.duration, step.priority);
1253
1453
  if (!ticker) {
1254
1454
  console.error(`[Pixi'VN] Ticker ${step.ticker} not found`);
1255
1455
  return;
1256
1456
  }
1257
- _GameWindowManager.addTicker(tag, ticker);
1457
+ let tickerName = ticker.id;
1458
+ let tickerHistory = {
1459
+ fn: () => {
1460
+ },
1461
+ id: tickerName,
1462
+ args: createExportableElement(ticker.args),
1463
+ canvasElementTags: [tag],
1464
+ priority: ticker.priority,
1465
+ duration: ticker.duration,
1466
+ createdByTicketStepsId: tag
1467
+ };
1468
+ let id = _GameWindowManager.generateTickerId(tickerHistory);
1469
+ _GameWindowManager.pushTicker(id, tickerHistory, ticker);
1470
+ if (ticker.duration) {
1471
+ let timeout = setTimeout(() => {
1472
+ let tickerTimeoutInfo = _GameWindowManager._currentTickersTimeouts[timeout.toString()];
1473
+ if (tickerTimeoutInfo) {
1474
+ _GameWindowManager.removeTicker(id);
1475
+ tickerTimeoutInfo.tags.forEach((tag2) => {
1476
+ _GameWindowManager.nextTickerStep(tag2);
1477
+ });
1478
+ }
1479
+ _GameWindowManager.removeTickerTimeoutInfo(timeout);
1480
+ }, ticker.duration * 1e3);
1481
+ _GameWindowManager.addTickerTimeoutInfo(tag, tickerName, timeout.toString(), false);
1482
+ }
1258
1483
  }
1259
1484
  static nextTickerStep(tag) {
1260
- if (typeof tag === "string") {
1261
- tag = [tag];
1485
+ if (_GameWindowManager._currentTickersSteps[tag]) {
1486
+ let steps = _GameWindowManager._currentTickersSteps[tag];
1487
+ if (steps.currentStepNumber + 1 < steps.steps.length) {
1488
+ steps.currentStepNumber++;
1489
+ _GameWindowManager._currentTickersSteps[tag] = steps;
1490
+ _GameWindowManager.runTickersSteps(tag);
1491
+ } else {
1492
+ _GameWindowManager.removeTickerStepByCanvasElement(tag);
1493
+ }
1262
1494
  }
1263
- tag.forEach((tag2) => {
1264
- if (_GameWindowManager._currentTickersSteps[tag2]) {
1265
- let steps = _GameWindowManager._currentTickersSteps[tag2];
1266
- if (steps.currentStepNumber + 1 < steps.steps.length) {
1267
- steps.currentStepNumber++;
1268
- _GameWindowManager._currentTickersSteps[tag2] = steps;
1269
- _GameWindowManager.runTickersSteps(tag2);
1270
- } else {
1271
- delete _GameWindowManager._currentTickersSteps[tag2];
1272
- }
1495
+ }
1496
+ static onEndOfTicker(canvasElementTags, ticker, canvasElementTagsToDelete, tickerId) {
1497
+ let tickerData = _GameWindowManager._currentTickers[tickerId];
1498
+ _GameWindowManager.removeAssociationBetweenTickerCanvasElement(canvasElementTags, ticker);
1499
+ _GameWindowManager.removeCanvasElement(canvasElementTagsToDelete);
1500
+ if (tickerData) {
1501
+ _GameWindowManager.removeTicker(tickerId);
1502
+ if (tickerData.duration == void 0 && tickerData.createdByTicketStepsId) {
1503
+ _GameWindowManager.nextTickerStep(tickerData.createdByTicketStepsId);
1273
1504
  }
1274
- });
1505
+ }
1275
1506
  }
1276
1507
  /**
1277
1508
  * Remove a connection between a canvas element and a ticker.
1278
1509
  * And remove the ticker if there is no canvas element connected to it.
1279
- * @param tag The tag of the canvas element that will use the ticker.
1510
+ * @param tags The tag of the canvas element that will use the ticker.
1280
1511
  * @param ticker The ticker class to be removed.
1281
1512
  * @example
1282
1513
  * ```typescript
1283
- * GameWindowManager.removeAssociationBetweenTickerCanvasElement("alien", TickerRotate)
1514
+ * GameWindowManager.removeAssociationBetweenTickerCanvasElement("alien", RotateTicker)
1284
1515
  * ```
1285
1516
  */
1286
- static removeAssociationBetweenTickerCanvasElement(tag, ticker) {
1287
- let tickerName;
1288
- if (ticker instanceof TickerBase) {
1289
- tickerName = ticker.constructor.name;
1517
+ static removeAssociationBetweenTickerCanvasElement(tags, ticker) {
1518
+ let tickerId;
1519
+ if (typeof ticker === "string") {
1520
+ tickerId = ticker;
1521
+ } else if (ticker instanceof TickerBase) {
1522
+ tickerId = ticker.id;
1290
1523
  } else {
1291
- tickerName = ticker.name;
1524
+ tickerId = ticker.prototype.id;
1292
1525
  }
1293
- if (typeof tag === "string") {
1294
- tag = [tag];
1526
+ if (typeof tags === "string") {
1527
+ tags = [tags];
1295
1528
  }
1296
- _GameWindowManager._currentTickers = _GameWindowManager._currentTickers.map((t) => {
1297
- if (t.className === tickerName) {
1298
- t.canvasElementTags = t.canvasElementTags.filter((e) => !tag.includes(e));
1529
+ for (let id in _GameWindowManager._currentTickers) {
1530
+ let ticker2 = _GameWindowManager._currentTickers[id];
1531
+ if (ticker2.id === tickerId) {
1532
+ _GameWindowManager._currentTickers[id].canvasElementTags = ticker2.canvasElementTags.filter((e) => !tags.includes(e));
1299
1533
  }
1300
- return t;
1301
- });
1302
- for (let timeout in _GameWindowManager.currentTickersTimeouts) {
1303
- let t = _GameWindowManager.currentTickersTimeouts[timeout].tags.filter((e) => !tag.includes(e));
1304
- if (t.length == 0) {
1305
- _GameWindowManager.removeTickerTimeoutInfo(timeout);
1306
- } else {
1307
- _GameWindowManager.currentTickersTimeouts[timeout].tags = t;
1534
+ }
1535
+ for (let timeout in _GameWindowManager._currentTickersTimeouts) {
1536
+ let TickerTimeout = _GameWindowManager._currentTickersTimeouts[timeout];
1537
+ if (TickerTimeout.ticker === tickerId && TickerTimeout.canBeDeletedBeforeEnd) {
1538
+ _GameWindowManager._currentTickersTimeouts[timeout].tags = TickerTimeout.tags.filter((t) => !tags.includes(t));
1308
1539
  }
1309
1540
  }
1310
1541
  _GameWindowManager.removeTickersWithoutAssociatedCanvasElement();
@@ -1313,49 +1544,117 @@ var _GameWindowManager = class _GameWindowManager {
1313
1544
  * Remove all tickers that are not connected to any existing canvas element.
1314
1545
  */
1315
1546
  static removeTickersWithoutAssociatedCanvasElement() {
1316
- let currentTickers = _GameWindowManager._currentTickers.map((t) => {
1317
- t.canvasElementTags = t.canvasElementTags.filter((e) => _GameWindowManager._children[e]);
1318
- return t;
1319
- });
1320
- currentTickers.filter((t) => t.canvasElementTags.length === 0).forEach((t) => {
1321
- _GameWindowManager.app.ticker.remove(t.fn);
1322
- });
1323
- currentTickers = currentTickers.filter((t) => t.canvasElementTags.length > 0);
1324
- _GameWindowManager._currentTickers = currentTickers;
1547
+ for (let id in _GameWindowManager._currentTickers) {
1548
+ let ticker = _GameWindowManager._currentTickers[id];
1549
+ ticker.canvasElementTags = ticker.canvasElementTags.filter((e) => _GameWindowManager._children[e]);
1550
+ if (ticker.canvasElementTags.length === 0) {
1551
+ _GameWindowManager.removeTicker(id);
1552
+ }
1553
+ }
1325
1554
  for (let tag in _GameWindowManager._currentTickersSteps) {
1326
1555
  if (_GameWindowManager._children[tag] === void 0) {
1327
1556
  delete _GameWindowManager._currentTickersSteps[tag];
1328
1557
  }
1329
1558
  }
1559
+ Object.entries(_GameWindowManager._currentTickersTimeouts).forEach(([timeout, { tags }]) => {
1560
+ if (tags.length === 0) {
1561
+ _GameWindowManager.removeTickerTimeout(timeout);
1562
+ }
1563
+ });
1330
1564
  }
1331
- static addTickerTimeoutInfo(tags, ticker, timeout) {
1565
+ static addTickerTimeoutInfo(tags, ticker, timeout, canBeDeletedBeforeEnd) {
1332
1566
  if (typeof tags === "string") {
1333
1567
  tags = [tags];
1334
1568
  }
1335
- _GameWindowManager.currentTickersTimeouts[timeout] = {
1569
+ _GameWindowManager._currentTickersTimeouts[timeout] = {
1336
1570
  tags,
1337
- ticker
1571
+ ticker,
1572
+ canBeDeletedBeforeEnd
1338
1573
  };
1339
1574
  }
1340
1575
  static removeTickerTimeoutInfo(timeout) {
1341
1576
  if (typeof timeout !== "string") {
1342
1577
  timeout = timeout.toString();
1343
1578
  }
1344
- if (_GameWindowManager.currentTickersTimeouts[timeout]) {
1345
- delete _GameWindowManager.currentTickersTimeouts[timeout];
1579
+ if (_GameWindowManager._currentTickersTimeouts[timeout]) {
1580
+ delete _GameWindowManager._currentTickersTimeouts[timeout];
1581
+ }
1582
+ }
1583
+ static removeTickerTimeout(timeout) {
1584
+ if (typeof timeout !== "string") {
1585
+ timeout = timeout.toString();
1586
+ }
1587
+ clearTimeout(Number(timeout));
1588
+ _GameWindowManager.removeTickerTimeoutInfo(timeout);
1589
+ }
1590
+ static removeTickerTimeoutsByTag(tag, checkCanBeDeletedBeforeEnd) {
1591
+ for (let timeout in _GameWindowManager._currentTickersTimeouts) {
1592
+ let tagsWithoutTagToRemove = _GameWindowManager._currentTickersTimeouts[timeout].tags.filter((t) => t !== tag);
1593
+ if (tagsWithoutTagToRemove.length === 0) {
1594
+ let canBeDeletedBeforeEnd = _GameWindowManager._currentTickersTimeouts[timeout].canBeDeletedBeforeEnd;
1595
+ if (!checkCanBeDeletedBeforeEnd || canBeDeletedBeforeEnd) {
1596
+ _GameWindowManager.removeTickerTimeout(timeout);
1597
+ }
1598
+ } else {
1599
+ _GameWindowManager._currentTickersTimeouts[timeout].tags = tagsWithoutTagToRemove;
1600
+ }
1346
1601
  }
1347
1602
  }
1348
1603
  /**
1349
1604
  * Remove all tickers from the canvas.
1350
1605
  */
1351
- static removeTickers() {
1606
+ static removeAllTickers() {
1352
1607
  _GameWindowManager._currentTickersSteps = {};
1353
- _GameWindowManager._currentTickers.forEach((t) => {
1354
- _GameWindowManager.app.ticker.remove(t.fn);
1608
+ Object.keys(_GameWindowManager._currentTickers).forEach((id) => {
1609
+ _GameWindowManager.removeTicker(id);
1610
+ });
1611
+ _GameWindowManager._currentTickers = {};
1612
+ for (let timeout in _GameWindowManager._currentTickersTimeouts) {
1613
+ _GameWindowManager.removeTickerTimeout(timeout);
1614
+ }
1615
+ }
1616
+ /**
1617
+ * Remove all tickers from a canvas element.
1618
+ * @param tag The tag of the canvas element that will use the ticker.
1619
+ */
1620
+ static removeTickerByCanvasElement(tag) {
1621
+ if (typeof tag === "string") {
1622
+ tag = [tag];
1623
+ }
1624
+ tag.forEach((tag2) => {
1625
+ for (let id in _GameWindowManager._currentTickers) {
1626
+ let ticker = _GameWindowManager._currentTickers[id];
1627
+ if (ticker.canvasElementTags.includes(tag2)) {
1628
+ _GameWindowManager.removeTicker(id);
1629
+ }
1630
+ }
1631
+ if (_GameWindowManager._currentTickersSteps[tag2]) {
1632
+ delete _GameWindowManager._currentTickersSteps[tag2];
1633
+ }
1634
+ _GameWindowManager.removeTickerTimeoutsByTag(tag2, false);
1635
+ delete _GameWindowManager._currentTickersSteps[tag2];
1355
1636
  });
1356
- _GameWindowManager._currentTickers = [];
1357
- for (let timeout in _GameWindowManager.currentTickersTimeouts) {
1358
- _GameWindowManager.removeTickerTimeoutInfo(timeout);
1637
+ }
1638
+ static removeTickerStepByCanvasElement(tag) {
1639
+ if (_GameWindowManager._currentTickersSteps[tag]) {
1640
+ delete _GameWindowManager._currentTickersSteps[tag];
1641
+ }
1642
+ for (let id in _GameWindowManager._currentTickers) {
1643
+ let ticker = _GameWindowManager._currentTickers[id];
1644
+ if (ticker.createdByTicketStepsId === tag) {
1645
+ _GameWindowManager.removeTicker(id);
1646
+ }
1647
+ }
1648
+ }
1649
+ static removeTicker(tickerId) {
1650
+ let ticker = _GameWindowManager._currentTickers[tickerId];
1651
+ if (ticker) {
1652
+ if (ticker.args.hasOwnProperty(tagToRemoveAfter)) {
1653
+ let tagToRemoveAfter2 = ticker.args.tagToRemoveAfter;
1654
+ _GameWindowManager.removeCanvasElement(tagToRemoveAfter2);
1655
+ }
1656
+ _GameWindowManager.app.ticker.remove(ticker.fn);
1657
+ delete _GameWindowManager._currentTickers[tickerId];
1359
1658
  }
1360
1659
  }
1361
1660
  /**
@@ -1382,7 +1681,8 @@ var _GameWindowManager = class _GameWindowManager {
1382
1681
  currentElements[tag] = exportCanvasElement(_GameWindowManager._children[tag]);
1383
1682
  }
1384
1683
  return {
1385
- currentTickers: createExportableElement(_GameWindowManager._currentTickers),
1684
+ currentTickers: createExportableElement(_GameWindowManager.currentTickersWithoutCreatedBySteps),
1685
+ currentTickersSteps: createExportableElement(_GameWindowManager._currentTickersSteps),
1386
1686
  currentElements: createExportableElement(currentElements),
1387
1687
  childrenTagsOrder: createExportableElement(_GameWindowManager.childrenTagsOrder)
1388
1688
  };
@@ -1417,15 +1717,20 @@ var _GameWindowManager = class _GameWindowManager {
1417
1717
  }
1418
1718
  if (data.hasOwnProperty("currentTickers")) {
1419
1719
  let currentTickers = data["currentTickers"];
1420
- currentTickers.forEach((t) => {
1720
+ for (let id in currentTickers) {
1721
+ let t = currentTickers[id];
1421
1722
  let tags = t.canvasElementTags;
1422
- let ticker = geTickerInstanceByClassName(t.className, t.args, t.duration, t.priority);
1723
+ let ticker = geTickerInstanceById(t.id, t.args, t.duration, t.priority);
1423
1724
  if (ticker) {
1424
1725
  _GameWindowManager.addTicker(tags, ticker);
1425
1726
  } else {
1426
- console.error(`[Pixi'VN] Ticker ${t.className} not found`);
1727
+ console.error(`[Pixi'VN] Ticker ${t.id} not found`);
1427
1728
  }
1428
- });
1729
+ }
1730
+ }
1731
+ if (data.hasOwnProperty("currentTickersSteps")) {
1732
+ let currentTickersSteps = data["currentTickersSteps"];
1733
+ _GameWindowManager.restoneTickersSteps(currentTickersSteps);
1429
1734
  }
1430
1735
  } catch (e) {
1431
1736
  console.error("[Pixi'VN] Error importing data", e);
@@ -1439,16 +1744,16 @@ _GameWindowManager._children = {};
1439
1744
  * The order of the children tags.
1440
1745
  */
1441
1746
  _GameWindowManager.childrenTagsOrder = [];
1442
- _GameWindowManager._currentTickers = [];
1747
+ _GameWindowManager._currentTickers = {};
1443
1748
  _GameWindowManager._currentTickersSteps = {};
1444
- _GameWindowManager.currentTickersTimeouts = {};
1749
+ _GameWindowManager._currentTickersTimeouts = {};
1445
1750
  var GameWindowManager = _GameWindowManager;
1446
1751
 
1447
1752
  // src/decorators/LabelDecorator.ts
1448
1753
  var registeredLabels = {};
1449
1754
  function newLabel(id, steps, onStepRun) {
1450
1755
  if (registeredLabels[id]) {
1451
- console.warn(`[Pixi'VN] Label ${id} already exists, it will be overwritten`);
1756
+ console.info(`[Pixi'VN] Label ${id} already exists, it will be overwritten`);
1452
1757
  }
1453
1758
  let label = new Label(id, steps, onStepRun);
1454
1759
  registeredLabels[id] = label;