@drincs/pixi-vn 0.6.0 → 0.6.2

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