@drincs/pixi-vn 0.6.0 → 0.6.2

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