@drincs/pixi-vn 0.6.0 → 0.6.2

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