@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) => {
@@ -64,17 +63,23 @@ function exportCanvasElement(element) {
64
63
  return element.memory;
65
64
  }
66
65
  function importCanvasElement(memory) {
67
- let element = getCanvasElementInstanceByClassName(memory.className);
66
+ let element = getCanvasElementInstanceById(memory.pixivnId);
68
67
  if (element) {
69
68
  element.memory = memory;
70
69
  } else {
71
- 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");
72
71
  }
73
72
  return element;
74
73
  }
75
74
 
76
75
  // src/classes/canvas/CanvasContainer.ts
76
+ var CANVAS_CONTAINER_ID = "CanvasContainer";
77
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
+ }
78
83
  get memory() {
79
84
  let memory = getMemoryContainer(this);
80
85
  this.children.forEach((child) => {
@@ -90,8 +95,12 @@ var CanvasContainer = class extends Container {
90
95
  }
91
96
  };
92
97
  function getMemoryContainer(element) {
98
+ let className = "CanvasContainer";
99
+ if (element.hasOwnProperty("pixivnId")) {
100
+ className = element.pixivnId;
101
+ }
93
102
  return {
94
- className: "CanvasContainer",
103
+ pixivnId: className,
95
104
  elements: [],
96
105
  width: element.width,
97
106
  height: element.height,
@@ -207,40 +216,43 @@ function getTextStyle(style) {
207
216
 
208
217
  // src/decorators/EventDecorator.ts
209
218
  var registeredEvents = {};
210
- function getEventTypeByClassName(eventName) {
219
+ function getEventTypeById(eventId) {
211
220
  try {
212
- let eventType = registeredEvents[eventName];
221
+ let eventType = registeredEvents[eventId];
213
222
  if (!eventType) {
214
- console.error(`[Pixi'VN] Event ${eventName} not found`);
223
+ console.error(`[Pixi'VN] Event ${eventId} not found`);
215
224
  return;
216
225
  }
217
226
  new eventType();
218
227
  return eventType;
219
228
  } catch (e) {
220
- console.error(`[Pixi'VN] Error while getting Event ${eventName}`, e);
229
+ console.error(`[Pixi'VN] Error while getting Event ${eventId}`, e);
221
230
  return;
222
231
  }
223
232
  }
224
- function getEventInstanceByClassName(eventName) {
233
+ function getEventInstanceById(eventId) {
225
234
  try {
226
- let eventType = registeredEvents[eventName];
235
+ let eventType = registeredEvents[eventId];
227
236
  if (!eventType) {
228
- console.error(`[Pixi'VN] Event ${eventName} not found`);
237
+ console.error(`[Pixi'VN] Event ${eventId} not found`);
229
238
  return;
230
239
  }
231
240
  let event = new eventType();
232
241
  return event;
233
242
  } catch (e) {
234
- console.error(`[Pixi'VN] Error while getting Event ${eventName}`, e);
243
+ console.error(`[Pixi'VN] Error while getting Event ${eventId}`, e);
235
244
  return;
236
245
  }
237
246
  }
238
247
 
239
248
  // src/classes/canvas/CanvasSprite.ts
249
+ var CANVAS_SPRITE_ID = "CanvasSprite";
240
250
  var CanvasSprite = class _CanvasSprite extends Sprite {
241
- constructor() {
242
- super(...arguments);
251
+ constructor(options) {
252
+ super(options);
253
+ this.pixivnId = CANVAS_SPRITE_ID;
243
254
  this._onEvents = {};
255
+ this.pixivnId = this.constructor.prototype.pixivnId;
244
256
  }
245
257
  get memory() {
246
258
  return getMemorySprite(this);
@@ -281,9 +293,9 @@ var CanvasSprite = class _CanvasSprite extends Sprite {
281
293
  * ```
282
294
  */
283
295
  onEvent(event, eventClass) {
284
- let className = eventClass.name;
285
- let instance = getEventInstanceByClassName(className);
286
- this._onEvents[event] = className;
296
+ let id = eventClass.prototype.id;
297
+ let instance = getEventInstanceById(id);
298
+ this._onEvents[event] = id;
287
299
  if (instance) {
288
300
  super.on(event, () => {
289
301
  instance.fn(event, this);
@@ -312,7 +324,7 @@ var CanvasSprite = class _CanvasSprite extends Sprite {
312
324
  function getMemorySprite(element) {
313
325
  let temp = getMemoryContainer(element);
314
326
  return __spreadProps(__spreadValues({}, temp), {
315
- className: "CanvasSprite",
327
+ pixivnId: element.pixivnId,
316
328
  textureImage: getTextureMemory(element.texture),
317
329
  anchor: { x: element.anchor.x, y: element.anchor.y },
318
330
  roundPixels: element.roundPixels,
@@ -335,8 +347,8 @@ function setMemorySprite(element, memory) {
335
347
  }
336
348
  memory.roundPixels && (element.roundPixels = memory.roundPixels);
337
349
  for (let event in memory.onEvents) {
338
- let className = memory.onEvents[event];
339
- let instance = getEventTypeByClassName(className);
350
+ let id = memory.onEvents[event];
351
+ let instance = getEventTypeById(id);
340
352
  if (instance) {
341
353
  element.onEvent(event, instance);
342
354
  }
@@ -344,9 +356,11 @@ function setMemorySprite(element, memory) {
344
356
  }
345
357
 
346
358
  // src/classes/canvas/CanvasImage.ts
359
+ var CANVAS_IMAGE_ID = "CanvasImage";
347
360
  var CanvasImage = class _CanvasImage extends CanvasSprite {
348
361
  constructor(options, imageLink) {
349
362
  super(options);
363
+ this.pixivnId = CANVAS_IMAGE_ID;
350
364
  this.imageLink = "";
351
365
  if (imageLink) {
352
366
  this.imageLink = imageLink;
@@ -354,12 +368,13 @@ var CanvasImage = class _CanvasImage extends CanvasSprite {
354
368
  }
355
369
  get memory() {
356
370
  return __spreadProps(__spreadValues({}, getMemorySprite(this)), {
357
- className: "CanvasImage",
358
- textureImage: { image: this.imageLink }
371
+ pixivnId: this.pixivnId,
372
+ imageLink: this.imageLink
359
373
  });
360
374
  }
361
375
  set memory(memory) {
362
376
  setMemorySprite(this, memory);
377
+ this.imageLink = memory.imageLink;
363
378
  }
364
379
  static from(source, skipCache) {
365
380
  let sprite = Sprite.from(source, skipCache);
@@ -387,10 +402,13 @@ var CanvasImage = class _CanvasImage extends CanvasSprite {
387
402
  });
388
403
  }
389
404
  };
405
+ var CANVAS_TEXT_ID = "CanvasText";
390
406
  var CanvasText = class extends Text {
391
- constructor() {
392
- super(...arguments);
407
+ constructor(options) {
408
+ super(options);
409
+ this.pixivnId = CANVAS_TEXT_ID;
393
410
  this._onEvents = {};
411
+ this.pixivnId = this.constructor.prototype.pixivnId;
394
412
  }
395
413
  get memory() {
396
414
  return getMemoryText(this);
@@ -431,9 +449,9 @@ var CanvasText = class extends Text {
431
449
  * ```
432
450
  */
433
451
  onEvent(event, eventClass) {
434
- let className = eventClass.name;
435
- let instance = getEventInstanceByClassName(className);
436
- this._onEvents[event] = className;
452
+ let id = eventClass.prototype.id;
453
+ let instance = getEventInstanceById(id);
454
+ this._onEvents[event] = id;
437
455
  if (instance) {
438
456
  super.on(event, () => {
439
457
  instance.fn(event, this);
@@ -456,7 +474,7 @@ var CanvasText = class extends Text {
456
474
  function getMemoryText(element) {
457
475
  let temp = getMemoryContainer(element);
458
476
  return __spreadProps(__spreadValues({}, temp), {
459
- className: "CanvasText",
477
+ pixivnId: element.pixivnId,
460
478
  anchor: { x: element.anchor.x, y: element.anchor.y },
461
479
  text: element.text,
462
480
  resolution: element.resolution,
@@ -479,8 +497,8 @@ function setMemoryText(element, memory) {
479
497
  memory.style && (element.style = memory.style);
480
498
  memory.roundPixels && (element.roundPixels = memory.roundPixels);
481
499
  for (let event in memory.onEvents) {
482
- let className = memory.onEvents[event];
483
- let instance = getEventTypeByClassName(className);
500
+ let id = memory.onEvents[event];
501
+ let instance = getEventTypeById(id);
484
502
  if (instance) {
485
503
  element.onEvent(event, instance);
486
504
  }
@@ -489,81 +507,124 @@ function setMemoryText(element, memory) {
489
507
 
490
508
  // src/decorators/CanvasElementDecorator.ts
491
509
  var registeredCanvasElement = {};
492
- function getCanvasElementInstanceByClassName(canvasName) {
510
+ function getCanvasElementInstanceById(canvasId) {
493
511
  try {
494
- let eventType = registeredCanvasElement[canvasName];
512
+ let eventType = registeredCanvasElement[canvasId];
495
513
  if (!eventType) {
496
- if (canvasName === "CanvasContainer") {
514
+ if (canvasId === CANVAS_CONTAINER_ID) {
497
515
  eventType = CanvasContainer;
498
- } else if (canvasName === "CanvasImage") {
516
+ } else if (canvasId === CANVAS_IMAGE_ID) {
499
517
  eventType = CanvasImage;
500
- } else if (canvasName === "CanvasSprite") {
518
+ } else if (canvasId === CANVAS_SPRITE_ID) {
501
519
  eventType = CanvasSprite;
502
- } else if (canvasName === "CanvasText") {
520
+ } else if (canvasId === CANVAS_TEXT_ID) {
503
521
  eventType = CanvasText;
504
522
  }
505
523
  }
506
524
  if (!eventType) {
507
- console.error(`[Pixi'VN] CanvasElement ${canvasName} not found`);
525
+ console.error(`[Pixi'VN] CanvasElement ${canvasId} not found`);
508
526
  return;
509
527
  }
510
528
  let canvasElement = new eventType();
511
529
  return canvasElement;
512
530
  } catch (e) {
513
- console.error(`[Pixi'VN] Error while getting CanvasElement ${canvasName}`, e);
531
+ console.error(`[Pixi'VN] Error while getting CanvasElement ${canvasId}`, e);
514
532
  return;
515
533
  }
516
534
  }
517
535
 
518
- // src/types/PauseType.ts
519
- var PauseValueType = "pause";
520
-
521
- // src/types/RepeatType.ts
522
- var Repeat = "repeat";
536
+ // src/functions/TickerUtility.ts
537
+ function updateTickerProgression(args, propertyName, progression) {
538
+ if (args[propertyName] === void 0 || !progression || args[propertyName] === progression.limit) {
539
+ return;
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;
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
+ }
523
577
 
524
578
  // src/classes/ticker/TickerBase.ts
525
579
  var TickerBase = class {
526
580
  /**
527
581
  * @param args The arguments that you want to pass to the ticker.
528
- * @param duration The duration of the ticker. If is undefined, the ticker will be called every frame.
529
- * @param priority The priority of the ticker. If is undefined, the priority will be UPDATE_PRIORITY.NORMAL.
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
530
584
  */
531
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";
532
590
  this.args = args;
533
591
  this.duration = duration;
534
592
  this.priority = priority;
593
+ this.id = this.constructor.prototype.id;
535
594
  }
536
595
  /**
537
596
  * The method that will be called every frame.
538
597
  * This method should be overridden and you can use GameWindowManager.addCanvasElement() to get the canvas element of the canvas, and edit them.
539
- * @param t The ticker that is calling this method
540
- * @param args The arguments that you passed when you added the ticker
541
- * @param tags The tags of the canvas elements that are connected to this ticker
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}
542
602
  */
543
- fn(_t, _args, _tags) {
603
+ fn(_ticker, _args, _tags, _tickerId) {
544
604
  throw new Error("[Pixi'VN] The method TickerBase.fn() must be overridden");
545
605
  }
546
606
  };
547
- var TickerFadeAlpha = class extends TickerBase {
548
- /**
549
- * The method that will be called every frame to fade the alpha of the canvas element of the canvas.
550
- * @param delta The delta time
551
- * @param args The arguments that are passed to the ticker
552
- * @param tags The tags of the canvas element that are connected to this ticker
553
- */
554
- fn(t, args, tags) {
555
- let type = args.type === void 0 ? "hide" : args.type;
556
- let speed = args.speed === void 0 ? 0.1 : args.speed;
557
- let limit = args.limit === void 0 ? type === "hide" ? 0 : 1 : args.limit;
558
- let removeElementAfter = args.tagToRemoveAfter || [];
559
- if (typeof removeElementAfter === "string") {
560
- removeElementAfter = [removeElementAfter];
561
- }
562
- if (type === "hide" && limit < 0) {
563
- limit = 0;
607
+
608
+ // src/classes/ticker/MoveTicker.ts
609
+ var MoveTicker = class extends TickerBase {
610
+ fn(ticker, args, tags, tickerId) {
611
+ let xSpeed = 1;
612
+ let ySpeed = 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
+ }
564
621
  }
565
- if (type === "show" && limit > 1) {
566
- limit = 1;
622
+ xSpeed /= 60;
623
+ ySpeed /= 60;
624
+ let destination = args.destination;
625
+ let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
626
+ if (typeof tagToRemoveAfter2 === "string") {
627
+ tagToRemoveAfter2 = [tagToRemoveAfter2];
567
628
  }
568
629
  tags.filter((tag) => {
569
630
  var _a;
@@ -577,62 +638,101 @@ var TickerFadeAlpha = class extends TickerBase {
577
638
  }).forEach((tag) => {
578
639
  let element = GameWindowManager.getCanvasElement(tag);
579
640
  if (element && element instanceof Container) {
580
- if (type === "show" && element.alpha < limit) {
581
- element.alpha += speed * t.deltaTime;
582
- } else if (type === "hide" && element.alpha > limit) {
583
- element.alpha -= speed * t.deltaTime;
584
- } else {
585
- element.alpha = limit;
586
- GameWindowManager.removeAssociationBetweenTickerCanvasElement(tag, this);
587
- GameWindowManager.removeCanvasElement(removeElementAfter);
641
+ let xDistance = destination.x - element.x > 0 ? 1 : -1;
642
+ if (xDistance != 0) {
643
+ element.x += xDistance * xSpeed * ticker.deltaTime;
644
+ let newDistance = destination.x - element.x;
645
+ if (xDistance < 0 && newDistance > 0 || xDistance > 0 && newDistance < 0) {
646
+ element.x = destination.x;
647
+ }
648
+ }
649
+ let yDistance = destination.y - element.y > 0 ? 1 : -1;
650
+ if (yDistance != 0) {
651
+ element.y += yDistance * ySpeed * ticker.deltaTime;
652
+ let newDistance = destination.y - element.y;
653
+ if (yDistance < 0 && newDistance > 0 || yDistance > 0 && newDistance < 0) {
654
+ element.y = destination.y;
655
+ }
656
+ }
657
+ if (element.x == destination.x && element.y == destination.y) {
658
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
588
659
  }
589
660
  }
590
661
  });
662
+ if (args.speedProgression)
663
+ updateTickerProgression(args, "speed", args.speedProgression);
591
664
  }
592
665
  };
593
- TickerFadeAlpha = __decorateClass([
666
+ MoveTicker = __decorateClass([
594
667
  tickerDecorator()
595
- ], TickerFadeAlpha);
596
-
597
- // src/functions/TickerUtility.ts
598
- function updateTickerProgression(args, propertyName, progression) {
599
- if (args.hasOwnProperty(propertyName) && typeof args[propertyName] !== "number") {
600
- return;
601
- }
602
- if (args[propertyName] !== void 0 && progression && args[propertyName] !== progression.limit) {
603
- if (progression.type === "linear") {
604
- args[propertyName] += progression.amt;
605
- if (progression.limit !== void 0) {
606
- if (args[propertyName] > progression.limit && progression.amt > 0) {
607
- args[propertyName] = progression.limit;
608
- } else if (args[propertyName] < progression.limit && progression.amt < 0) {
609
- args[propertyName] = progression.limit;
668
+ ], MoveTicker);
669
+ var RotateTicker = class extends TickerBase {
670
+ fn(ticker, args, tags, tickerId) {
671
+ let speed = (args.speed === void 0 ? 1 : args.speed) / 60;
672
+ let clockwise = args.clockwise === void 0 ? true : args.clockwise;
673
+ let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
674
+ if (typeof tagToRemoveAfter2 === "string") {
675
+ tagToRemoveAfter2 = [tagToRemoveAfter2];
676
+ }
677
+ tags.filter((tag) => {
678
+ var _a;
679
+ let element = GameWindowManager.getCanvasElement(tag);
680
+ if (args.startOnlyIfHaveTexture) {
681
+ if (element && element instanceof Sprite && ((_a = element.texture) == null ? void 0 : _a.label) == "EMPTY") {
682
+ return false;
610
683
  }
611
684
  }
612
- } else if (progression.type === "exponential") {
613
- args[propertyName] += args[propertyName] * progression.percentage;
614
- if (progression.limit !== void 0) {
615
- if (args[propertyName] > progression.limit && progression.percentage > 0) {
616
- args[propertyName] = progression.limit;
617
- } else if (args[propertyName] < progression.limit && progression.percentage < 0) {
618
- args[propertyName] = progression.limit;
685
+ return true;
686
+ }).forEach((tag) => {
687
+ let element = GameWindowManager.getCanvasElement(tag);
688
+ if (element && element instanceof Container) {
689
+ if (clockwise)
690
+ element.rotation += speed * ticker.deltaTime;
691
+ else
692
+ element.rotation -= speed * ticker.deltaTime;
693
+ if (speed < 1e-5 && !(args.speedProgression && args.speedProgression.type == "linear" && args.speedProgression.amt != 0)) {
694
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
619
695
  }
620
696
  }
621
- }
697
+ });
698
+ if (args.speedProgression)
699
+ updateTickerProgression(args, "speed", args.speedProgression);
622
700
  }
623
- }
624
-
625
- // src/classes/ticker/TickerMove.ts
626
- var TickerMove = class extends TickerBase {
627
- /**
628
- * The method that will be called every frame to move the canvas element of the canvas.
629
- * @param t The ticker that is calling this method
630
- * @param args The arguments that are passed to the ticker
631
- * @param tags The tags of the canvas element that are connected to this ticker
632
- */
633
- fn(t, args, tags) {
634
- let speed = args.speed === void 0 ? 0.1 : args.speed;
635
- let destination = args.destination;
701
+ };
702
+ RotateTicker = __decorateClass([
703
+ tickerDecorator()
704
+ ], RotateTicker);
705
+ var ZoomTicker = class extends TickerBase {
706
+ fn(ticker, args, tags, tickerId) {
707
+ let xSpeed = 0.1;
708
+ let ySpeed = 0.1;
709
+ if (args.speed) {
710
+ if (typeof args.speed === "number") {
711
+ xSpeed = args.speed;
712
+ ySpeed = args.speed;
713
+ } else {
714
+ xSpeed = args.speed.x;
715
+ ySpeed = args.speed.y;
716
+ }
717
+ }
718
+ xSpeed /= 60;
719
+ ySpeed /= 60;
720
+ let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
721
+ if (typeof tagToRemoveAfter2 === "string") {
722
+ tagToRemoveAfter2 = [tagToRemoveAfter2];
723
+ }
724
+ let type = args.type || "zoom";
725
+ let xLimit = type === "zoom" ? Infinity : 0;
726
+ let yLimit = type === "zoom" ? Infinity : 0;
727
+ if (args.limit) {
728
+ if (typeof args.limit === "number") {
729
+ xLimit = args.limit;
730
+ yLimit = args.limit;
731
+ } else {
732
+ xLimit = args.limit.x;
733
+ yLimit = args.limit.y;
734
+ }
735
+ }
636
736
  tags.filter((tag) => {
637
737
  var _a;
638
738
  let element = GameWindowManager.getCanvasElement(tag);
@@ -645,31 +745,56 @@ var TickerMove = class extends TickerBase {
645
745
  }).forEach((tag) => {
646
746
  let element = GameWindowManager.getCanvasElement(tag);
647
747
  if (element && element instanceof Container) {
648
- let xDistance = destination.x - element.x;
649
- if (xDistance != 0) {
650
- element.x += xDistance / speed * t.deltaTime;
651
- let newDistance = destination.x - element.x;
652
- if (xDistance < 0 && newDistance > 0 || xDistance > 0 && newDistance < 0) {
653
- element.x = destination.x;
654
- }
748
+ if (type === "zoom" && (element.scale.x < xLimit || element.scale.y < yLimit)) {
749
+ element.scale.x += xSpeed * ticker.deltaTime;
750
+ element.scale.y += ySpeed * ticker.deltaTime;
751
+ } else if (type === "unzoom" && (element.scale.x > xLimit || element.scale.y > yLimit)) {
752
+ element.scale.x -= xSpeed * ticker.deltaTime;
753
+ element.scale.y -= ySpeed * ticker.deltaTime;
655
754
  }
656
- let yDistance = destination.y - element.y;
657
- if (yDistance != 0) {
658
- element.y += yDistance / speed * t.deltaTime;
659
- let newDistance = destination.y - element.y;
660
- if (yDistance < 0 && newDistance > 0 || yDistance > 0 && newDistance < 0) {
661
- element.y = destination.y;
755
+ if (type === "zoom") {
756
+ if (element.scale.x > xLimit) {
757
+ element.scale.x = xLimit;
758
+ }
759
+ if (element.scale.y > yLimit) {
760
+ element.scale.y = yLimit;
761
+ }
762
+ if (element.scale.x >= xLimit && element.scale.y >= yLimit) {
763
+ element.scale.x = xLimit;
764
+ element.scale.y = yLimit;
765
+ this.onEndOfTicker(tag, tickerId, element, tagToRemoveAfter2);
662
766
  }
767
+ } else if (type === "unzoom") {
768
+ if (element.scale.x < xLimit) {
769
+ element.scale.x = xLimit;
770
+ }
771
+ if (element.scale.y < yLimit) {
772
+ element.scale.y = yLimit;
773
+ }
774
+ if (element.scale.x <= xLimit && element.scale.y <= yLimit) {
775
+ element.scale.x = xLimit;
776
+ element.scale.y = yLimit;
777
+ this.onEndOfTicker(tag, tickerId, element, tagToRemoveAfter2);
778
+ }
779
+ }
780
+ if (xSpeed < 1e-5 && ySpeed < 1e-5 && !(args.speedProgression && args.speedProgression.type == "linear" && args.speedProgression.amt != 0)) {
781
+ this.onEndOfTicker(tag, tickerId, element, tagToRemoveAfter2);
663
782
  }
664
783
  }
665
784
  });
666
785
  if (args.speedProgression)
667
786
  updateTickerProgression(args, "speed", args.speedProgression);
668
787
  }
788
+ onEndOfTicker(tag, tickerId, _element, tagToRemoveAfter2) {
789
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
790
+ }
669
791
  };
670
- TickerMove = __decorateClass([
792
+ ZoomTicker = __decorateClass([
671
793
  tickerDecorator()
672
- ], TickerMove);
794
+ ], ZoomTicker);
795
+
796
+ // src/constants.ts
797
+ var Repeat = "repeat";
673
798
 
674
799
  // src/functions/ExportUtility.ts
675
800
  function createExportableElement(element) {
@@ -690,21 +815,22 @@ function tickerDecorator(name) {
690
815
  name = target.name;
691
816
  }
692
817
  if (registeredTickers[name]) {
693
- console.warn(`[Pixi'VN] Ticker ${name} already exists, it will be overwritten`);
818
+ console.info(`[Pixi'VN] Ticker ${name} already exists, it will be overwritten`);
694
819
  }
820
+ target.prototype.id = name;
695
821
  registeredTickers[name] = target;
696
822
  };
697
823
  }
698
- function geTickerInstanceByClassName(tickerName, args, duration, priority) {
824
+ function geTickerInstanceById(tickerId, args, duration, priority) {
699
825
  try {
700
- let ticker = registeredTickers[tickerName];
826
+ let ticker = registeredTickers[tickerId];
701
827
  if (!ticker) {
702
- console.error(`[Pixi'VN] Ticker ${tickerName} not found`);
828
+ console.error(`[Pixi'VN] Ticker ${tickerId} not found`);
703
829
  return;
704
830
  }
705
831
  return new ticker(args, duration, priority);
706
832
  } catch (e) {
707
- console.error(`[Pixi'VN] Error while getting Ticker ${tickerName}`, e);
833
+ console.error(`[Pixi'VN] Error while getting Ticker ${tickerId}`, e);
708
834
  return;
709
835
  }
710
836
  }
@@ -720,6 +846,9 @@ function asciiArtLog() {
720
846
  `);
721
847
  }
722
848
 
849
+ // src/types/ticker/TagToRemoveAfterType.ts
850
+ var tagToRemoveAfter = "tagToRemoveAfter";
851
+
723
852
  // src/managers/WindowManager.ts
724
853
  var _GameWindowManager = class _GameWindowManager {
725
854
  constructor() {
@@ -902,25 +1031,25 @@ var _GameWindowManager = class _GameWindowManager {
902
1031
  /**
903
1032
  * Remove a canvas element from the canvas.
904
1033
  * And remove all tickers that are not connected to any canvas element.
905
- * @param tag The tag of the canvas element to be removed.
1034
+ * @param tags The tag of the canvas element to be removed.
906
1035
  * @returns
907
1036
  * @example
908
1037
  * ```typescript
909
1038
  * GameWindowManager.removeCanvasElement("bunny");
910
1039
  * ```
911
1040
  */
912
- static removeCanvasElement(tag) {
913
- if (typeof tag === "string") {
914
- tag = [tag];
1041
+ static removeCanvasElement(tags) {
1042
+ if (typeof tags === "string") {
1043
+ tags = [tags];
915
1044
  }
916
- tag.forEach((t) => {
917
- if (_GameWindowManager._children[t]) {
918
- _GameWindowManager.app.stage.removeChild(_GameWindowManager._children[t]);
919
- delete _GameWindowManager._children[t];
1045
+ tags.forEach((tag) => {
1046
+ if (_GameWindowManager._children[tag]) {
1047
+ _GameWindowManager.app.stage.removeChild(_GameWindowManager._children[tag]);
1048
+ delete _GameWindowManager._children[tag];
1049
+ _GameWindowManager.removeTickerByCanvasElement(tag);
920
1050
  }
921
1051
  });
922
- _GameWindowManager.removeTickersWithoutAssociatedCanvasElement();
923
- _GameWindowManager.childrenTagsOrder = _GameWindowManager.childrenTagsOrder.filter((t) => !tag.includes(t));
1052
+ _GameWindowManager.childrenTagsOrder = _GameWindowManager.childrenTagsOrder.filter((t) => !tags.includes(t));
924
1053
  }
925
1054
  /**
926
1055
  * Get a canvas element by the tag.
@@ -950,18 +1079,43 @@ var _GameWindowManager = class _GameWindowManager {
950
1079
  _GameWindowManager.app.stage.removeChildren();
951
1080
  _GameWindowManager._children = {};
952
1081
  _GameWindowManager.childrenTagsOrder = [];
953
- _GameWindowManager.removeTickers();
1082
+ _GameWindowManager.removeAllTickers();
954
1083
  }
955
1084
  /**
956
1085
  * Edit the tag of a canvas element.
957
1086
  * @param oldTag The old tag of the canvas element.
958
1087
  * @param newTag The new tag of the canvas element.
959
1088
  */
960
- static editTagCanvasElement(oldTag, newTag) {
1089
+ static editCanvasElementTag(oldTag, newTag) {
961
1090
  if (_GameWindowManager._children[oldTag]) {
962
1091
  _GameWindowManager._children[newTag] = _GameWindowManager._children[oldTag];
963
1092
  delete _GameWindowManager._children[oldTag];
964
1093
  }
1094
+ if (_GameWindowManager._currentTickersSteps[oldTag]) {
1095
+ _GameWindowManager._currentTickersSteps[newTag] = _GameWindowManager._currentTickersSteps[oldTag];
1096
+ delete _GameWindowManager._currentTickersSteps[oldTag];
1097
+ }
1098
+ for (let id in _GameWindowManager._currentTickers) {
1099
+ let ticker = _GameWindowManager._currentTickers[id];
1100
+ if (ticker.canvasElementTags.includes(oldTag)) {
1101
+ ticker.canvasElementTags = ticker.canvasElementTags.map((t) => t === oldTag ? newTag : t);
1102
+ if (ticker.args.hasOwnProperty(tagToRemoveAfter)) {
1103
+ let tagToRemoveAfter2 = ticker.args.tagToRemoveAfter;
1104
+ if (typeof tagToRemoveAfter2 === "string") {
1105
+ tagToRemoveAfter2 = [tagToRemoveAfter2];
1106
+ }
1107
+ if (Array.isArray(tagToRemoveAfter2)) {
1108
+ ticker.args.tagToRemoveAfter = tagToRemoveAfter2.map((t) => t === oldTag ? newTag : t);
1109
+ }
1110
+ }
1111
+ }
1112
+ }
1113
+ for (let timeout in _GameWindowManager._currentTickersTimeouts) {
1114
+ let TickerTimeout = _GameWindowManager._currentTickersTimeouts[timeout];
1115
+ if (TickerTimeout.tags.includes(oldTag)) {
1116
+ TickerTimeout.tags = TickerTimeout.tags.map((t) => t === oldTag ? newTag : t);
1117
+ }
1118
+ }
965
1119
  }
966
1120
  /** Edit Tickers Methods */
967
1121
  /**
@@ -970,106 +1124,127 @@ var _GameWindowManager = class _GameWindowManager {
970
1124
  static get currentTickers() {
971
1125
  return _GameWindowManager._currentTickers;
972
1126
  }
1127
+ static get currentTickersList() {
1128
+ return Object.values(_GameWindowManager._currentTickers);
1129
+ }
1130
+ static get currentTickersWithoutCreatedBySteps() {
1131
+ return Object.fromEntries(Object.entries(_GameWindowManager._currentTickers).filter(([_, ticker]) => !ticker.createdByTicketStepsId));
1132
+ }
973
1133
  /**
974
1134
  * The steps of the tickers
975
1135
  */
976
1136
  static get currentTickersSteps() {
977
1137
  return _GameWindowManager._currentTickersSteps;
978
1138
  }
1139
+ static generateTickerId(tickerData) {
1140
+ try {
1141
+ return sha1(JSON.stringify(tickerData)).toString() + "_" + Math.random().toString(36).substring(7);
1142
+ } catch (e) {
1143
+ throw new Error(`[Pixi'VN] Error to generate ticker id: ${e}`);
1144
+ }
1145
+ }
979
1146
  /**
980
- * Run a ticker.
1147
+ * Run a ticker. You can run multiple addTicker with the same tag and different tickerClasses.
1148
+ * If you run a ticker with the same tag and tickerClass, the old ticker will be removed.
1149
+ * If already exists a sequence of tickers with the same tag, it will be removed.
981
1150
  * @param canvasEslementTag The tag of the canvas element that will use the ticker.
982
1151
  * @param ticker The ticker class to be run.
983
1152
  * @param args The arguments to be used in the ticker.
984
- * @param duration The time to be used in the ticker. This number is in milliseconds. If it is undefined, the ticker will run forever.
1153
+ * @param duration The time to be used in the ticker. This number is in seconds. If it is undefined, the ticker will run forever.
985
1154
  * @param priority The priority to be used in the ticker.
986
1155
  * @returns
987
1156
  * @example
988
1157
  * ```typescript
989
- * GameWindowManager.addTicker("alien", new TickerRotate({ speed: 0.2 }))
1158
+ * GameWindowManager.addTicker("alien", new RotateTicker({ speed: 0.2 }))
990
1159
  * ```
991
1160
  */
992
1161
  static addTicker(canvasElementTag, ticker) {
993
- let tickerName = ticker.constructor.name;
1162
+ let tickerId = ticker.id;
994
1163
  if (typeof canvasElementTag === "string") {
995
1164
  canvasElementTag = [canvasElementTag];
996
1165
  }
997
- let t = geTickerInstanceByClassName(tickerName, ticker.args, ticker.duration, ticker.priority);
998
- if (!t) {
999
- console.error(`[Pixi'VN] Ticker ${tickerName} not found`);
1166
+ if (!geTickerInstanceById(tickerId, ticker.args, ticker.duration, ticker.priority)) {
1167
+ console.error(`[Pixi'VN] Ticker ${tickerId} not found`);
1000
1168
  return;
1001
1169
  }
1002
- _GameWindowManager.removeAssociationBetweenTickerCanvasElement(canvasElementTag, ticker);
1003
1170
  let tickerHistory = {
1004
1171
  fn: () => {
1005
1172
  },
1006
- className: tickerName,
1007
- args: ticker.args,
1173
+ id: tickerId,
1174
+ args: createExportableElement(ticker.args),
1008
1175
  canvasElementTags: canvasElementTag,
1009
1176
  priority: ticker.priority,
1010
1177
  duration: ticker.duration
1011
1178
  };
1012
- _GameWindowManager.pushTicker(tickerHistory, t);
1013
- _GameWindowManager.removeTickersWithoutAssociatedCanvasElement();
1179
+ let id = _GameWindowManager.generateTickerId(tickerHistory);
1180
+ _GameWindowManager.pushTicker(id, tickerHistory, ticker);
1014
1181
  if (ticker.duration) {
1015
1182
  let timeout = setTimeout(() => {
1016
1183
  _GameWindowManager.removeTickerTimeoutInfo(timeout);
1017
- _GameWindowManager.nextTickerStep(canvasElementTag);
1018
- }, ticker.duration);
1019
- _GameWindowManager.addTickerTimeoutInfo(canvasElementTag, tickerName, timeout.toString());
1184
+ let tickerTimeoutInfo = _GameWindowManager._currentTickersTimeouts[timeout.toString()];
1185
+ if (tickerTimeoutInfo) {
1186
+ _GameWindowManager.removeTicker(id);
1187
+ }
1188
+ }, ticker.duration * 1e3);
1189
+ _GameWindowManager.addTickerTimeoutInfo(canvasElementTag, tickerId, timeout.toString(), true);
1020
1190
  }
1021
1191
  }
1022
- static pushTicker(tickerData, ticker) {
1023
- _GameWindowManager.removeAssociationBetweenTickerCanvasElement(tickerData.canvasElementTags, tickerData);
1024
- _GameWindowManager._currentTickers.push(tickerData);
1192
+ static pushTicker(id, tickerData, ticker) {
1193
+ _GameWindowManager.removeAssociationBetweenTickerCanvasElement(tickerData.canvasElementTags, ticker);
1194
+ _GameWindowManager._currentTickers[id] = tickerData;
1025
1195
  tickerData.fn = (t) => {
1026
- ticker == null ? void 0 : ticker.fn(t, tickerData.args, tickerData.canvasElementTags);
1196
+ let data = _GameWindowManager._currentTickers[id];
1197
+ if (data) {
1198
+ ticker == null ? void 0 : ticker.fn(t, data.args, data.canvasElementTags, id);
1199
+ }
1027
1200
  };
1028
1201
  _GameWindowManager.app.ticker.add(tickerData.fn, void 0, tickerData.priority);
1029
1202
  }
1030
1203
  /**
1031
- * Run a sequence of tickers.
1204
+ * Run a sequence of tickers. If exists a ticker steps with the same tag, it will be removed.
1032
1205
  * @param tag The tag of canvas element that will use the tickers.
1033
1206
  * @param steps The steps of the tickers.
1207
+ * @param currentStepNumber The current step number. It is used to continue the sequence of tickers.
1034
1208
  * @returns
1035
1209
  * @example
1036
1210
  * ```typescript
1037
1211
  * GameWindowManager.addTickersSteps("alien", [
1038
- * new TickerRotate({ speed: 0.1, clockwise: true }, 2000),
1039
- * Pause(500),
1040
- * new TickerRotate({ speed: 0.2, clockwise: false }, 2000),
1212
+ * new RotateTicker({ speed: 0.1, clockwise: true }, 2), // 2 seconds
1213
+ * Pause(1), // 1 second
1214
+ * new RotateTicker({ speed: 0.2, clockwise: false }, 2),
1041
1215
  * Repeat,
1042
1216
  * ])
1043
1217
  * ```
1044
1218
  */
1045
- static addTickersSteps(tag, steps) {
1219
+ static addTickersSteps(tag, steps, currentStepNumber = 0) {
1046
1220
  if (steps.length == 0) {
1047
1221
  console.warn("[Pixi'VN] The steps of the tickers is empty");
1048
1222
  return;
1049
1223
  }
1050
- let alredyExists = _GameWindowManager._currentTickersSteps[tag] !== void 0;
1224
+ _GameWindowManager.removeTickerStepByCanvasElement(tag);
1051
1225
  _GameWindowManager._currentTickersSteps[tag] = {
1052
- currentStepNumber: 0,
1053
- steps: steps.map((s) => {
1054
- if (s === Repeat) {
1055
- return s;
1056
- }
1057
- if (!s.duration) {
1058
- console.warn("[Pixi'VN] Duration is not defined, so it will be set to 1000");
1059
- s.duration = 1e3;
1226
+ currentStepNumber,
1227
+ steps: steps.map((step) => {
1228
+ if (step === Repeat) {
1229
+ return step;
1060
1230
  }
1061
- if (s.hasOwnProperty("type") && s.type === PauseValueType) {
1062
- return s;
1231
+ if (step.hasOwnProperty("type") && step.type === "pause") {
1232
+ return step;
1063
1233
  }
1064
- let tickerName = s.constructor.name;
1234
+ let tickerId = step.id;
1065
1235
  return {
1066
- ticker: tickerName,
1067
- args: s.args,
1068
- duration: s.duration
1236
+ ticker: tickerId,
1237
+ args: createExportableElement(step.args),
1238
+ duration: step.duration
1069
1239
  };
1070
1240
  })
1071
1241
  };
1072
- if (!alredyExists) {
1242
+ _GameWindowManager.runTickersSteps(tag);
1243
+ }
1244
+ static restoneTickersSteps(data) {
1245
+ for (let tag in data) {
1246
+ let steps = data[tag];
1247
+ _GameWindowManager._currentTickersSteps[tag] = steps;
1073
1248
  _GameWindowManager.runTickersSteps(tag);
1074
1249
  }
1075
1250
  }
@@ -1083,70 +1258,106 @@ var _GameWindowManager = class _GameWindowManager {
1083
1258
  return;
1084
1259
  }
1085
1260
  }
1086
- if (step.hasOwnProperty("type") && step.type === PauseValueType) {
1261
+ if (step.hasOwnProperty("type") && step.type === "pause") {
1087
1262
  let timeout = setTimeout(() => {
1263
+ let tickerTimeoutInfo = _GameWindowManager._currentTickersTimeouts[timeout.toString()];
1264
+ if (tickerTimeoutInfo) {
1265
+ tickerTimeoutInfo.tags.forEach((tag2) => {
1266
+ _GameWindowManager.nextTickerStep(tag2);
1267
+ });
1268
+ }
1088
1269
  _GameWindowManager.removeTickerTimeoutInfo(timeout);
1089
- _GameWindowManager.nextTickerStep(tag);
1090
- }, step.duration);
1091
- _GameWindowManager.addTickerTimeoutInfo(tag, "steps", timeout.toString());
1270
+ }, step.duration * 1e3);
1271
+ _GameWindowManager.addTickerTimeoutInfo(tag, "steps", timeout.toString(), false);
1092
1272
  return;
1093
1273
  }
1094
- let ticker = geTickerInstanceByClassName(step.ticker, step.args, step.duration, step.priority);
1274
+ let ticker = geTickerInstanceById(step.ticker, step.args, step.duration, step.priority);
1095
1275
  if (!ticker) {
1096
1276
  console.error(`[Pixi'VN] Ticker ${step.ticker} not found`);
1097
1277
  return;
1098
1278
  }
1099
- _GameWindowManager.addTicker(tag, ticker);
1279
+ let tickerName = ticker.id;
1280
+ let tickerHistory = {
1281
+ fn: () => {
1282
+ },
1283
+ id: tickerName,
1284
+ args: createExportableElement(ticker.args),
1285
+ canvasElementTags: [tag],
1286
+ priority: ticker.priority,
1287
+ duration: ticker.duration,
1288
+ createdByTicketStepsId: tag
1289
+ };
1290
+ let id = _GameWindowManager.generateTickerId(tickerHistory);
1291
+ _GameWindowManager.pushTicker(id, tickerHistory, ticker);
1292
+ if (ticker.duration) {
1293
+ let timeout = setTimeout(() => {
1294
+ let tickerTimeoutInfo = _GameWindowManager._currentTickersTimeouts[timeout.toString()];
1295
+ if (tickerTimeoutInfo) {
1296
+ _GameWindowManager.removeTicker(id);
1297
+ tickerTimeoutInfo.tags.forEach((tag2) => {
1298
+ _GameWindowManager.nextTickerStep(tag2);
1299
+ });
1300
+ }
1301
+ _GameWindowManager.removeTickerTimeoutInfo(timeout);
1302
+ }, ticker.duration * 1e3);
1303
+ _GameWindowManager.addTickerTimeoutInfo(tag, tickerName, timeout.toString(), false);
1304
+ }
1100
1305
  }
1101
1306
  static nextTickerStep(tag) {
1102
- if (typeof tag === "string") {
1103
- tag = [tag];
1307
+ if (_GameWindowManager._currentTickersSteps[tag]) {
1308
+ let steps = _GameWindowManager._currentTickersSteps[tag];
1309
+ if (steps.currentStepNumber + 1 < steps.steps.length) {
1310
+ steps.currentStepNumber++;
1311
+ _GameWindowManager._currentTickersSteps[tag] = steps;
1312
+ _GameWindowManager.runTickersSteps(tag);
1313
+ } else {
1314
+ _GameWindowManager.removeTickerStepByCanvasElement(tag);
1315
+ }
1104
1316
  }
1105
- tag.forEach((tag2) => {
1106
- if (_GameWindowManager._currentTickersSteps[tag2]) {
1107
- let steps = _GameWindowManager._currentTickersSteps[tag2];
1108
- if (steps.currentStepNumber + 1 < steps.steps.length) {
1109
- steps.currentStepNumber++;
1110
- _GameWindowManager._currentTickersSteps[tag2] = steps;
1111
- _GameWindowManager.runTickersSteps(tag2);
1112
- } else {
1113
- delete _GameWindowManager._currentTickersSteps[tag2];
1114
- }
1317
+ }
1318
+ static onEndOfTicker(canvasElementTags, ticker, canvasElementTagsToDelete, tickerId) {
1319
+ let tickerData = _GameWindowManager._currentTickers[tickerId];
1320
+ _GameWindowManager.removeAssociationBetweenTickerCanvasElement(canvasElementTags, ticker);
1321
+ _GameWindowManager.removeCanvasElement(canvasElementTagsToDelete);
1322
+ if (tickerData) {
1323
+ _GameWindowManager.removeTicker(tickerId);
1324
+ if (tickerData.duration == void 0 && tickerData.createdByTicketStepsId) {
1325
+ _GameWindowManager.nextTickerStep(tickerData.createdByTicketStepsId);
1115
1326
  }
1116
- });
1327
+ }
1117
1328
  }
1118
1329
  /**
1119
1330
  * Remove a connection between a canvas element and a ticker.
1120
1331
  * And remove the ticker if there is no canvas element connected to it.
1121
- * @param tag The tag of the canvas element that will use the ticker.
1332
+ * @param tags The tag of the canvas element that will use the ticker.
1122
1333
  * @param ticker The ticker class to be removed.
1123
1334
  * @example
1124
1335
  * ```typescript
1125
- * GameWindowManager.removeAssociationBetweenTickerCanvasElement("alien", TickerRotate)
1336
+ * GameWindowManager.removeAssociationBetweenTickerCanvasElement("alien", RotateTicker)
1126
1337
  * ```
1127
1338
  */
1128
- static removeAssociationBetweenTickerCanvasElement(tag, ticker) {
1129
- let tickerName;
1130
- if (ticker instanceof TickerBase) {
1131
- tickerName = ticker.constructor.name;
1339
+ static removeAssociationBetweenTickerCanvasElement(tags, ticker) {
1340
+ let tickerId;
1341
+ if (typeof ticker === "string") {
1342
+ tickerId = ticker;
1343
+ } else if (ticker instanceof TickerBase) {
1344
+ tickerId = ticker.id;
1132
1345
  } else {
1133
- tickerName = ticker.name;
1346
+ tickerId = ticker.prototype.id;
1134
1347
  }
1135
- if (typeof tag === "string") {
1136
- tag = [tag];
1348
+ if (typeof tags === "string") {
1349
+ tags = [tags];
1137
1350
  }
1138
- _GameWindowManager._currentTickers = _GameWindowManager._currentTickers.map((t) => {
1139
- if (t.className === tickerName) {
1140
- t.canvasElementTags = t.canvasElementTags.filter((e) => !tag.includes(e));
1351
+ for (let id in _GameWindowManager._currentTickers) {
1352
+ let ticker2 = _GameWindowManager._currentTickers[id];
1353
+ if (ticker2.id === tickerId) {
1354
+ _GameWindowManager._currentTickers[id].canvasElementTags = ticker2.canvasElementTags.filter((e) => !tags.includes(e));
1141
1355
  }
1142
- return t;
1143
- });
1144
- for (let timeout in _GameWindowManager.currentTickersTimeouts) {
1145
- let t = _GameWindowManager.currentTickersTimeouts[timeout].tags.filter((e) => !tag.includes(e));
1146
- if (t.length == 0) {
1147
- _GameWindowManager.removeTickerTimeoutInfo(timeout);
1148
- } else {
1149
- _GameWindowManager.currentTickersTimeouts[timeout].tags = t;
1356
+ }
1357
+ for (let timeout in _GameWindowManager._currentTickersTimeouts) {
1358
+ let TickerTimeout = _GameWindowManager._currentTickersTimeouts[timeout];
1359
+ if (TickerTimeout.ticker === tickerId && TickerTimeout.canBeDeletedBeforeEnd) {
1360
+ _GameWindowManager._currentTickersTimeouts[timeout].tags = TickerTimeout.tags.filter((t) => !tags.includes(t));
1150
1361
  }
1151
1362
  }
1152
1363
  _GameWindowManager.removeTickersWithoutAssociatedCanvasElement();
@@ -1155,49 +1366,117 @@ var _GameWindowManager = class _GameWindowManager {
1155
1366
  * Remove all tickers that are not connected to any existing canvas element.
1156
1367
  */
1157
1368
  static removeTickersWithoutAssociatedCanvasElement() {
1158
- let currentTickers = _GameWindowManager._currentTickers.map((t) => {
1159
- t.canvasElementTags = t.canvasElementTags.filter((e) => _GameWindowManager._children[e]);
1160
- return t;
1161
- });
1162
- currentTickers.filter((t) => t.canvasElementTags.length === 0).forEach((t) => {
1163
- _GameWindowManager.app.ticker.remove(t.fn);
1164
- });
1165
- currentTickers = currentTickers.filter((t) => t.canvasElementTags.length > 0);
1166
- _GameWindowManager._currentTickers = currentTickers;
1369
+ for (let id in _GameWindowManager._currentTickers) {
1370
+ let ticker = _GameWindowManager._currentTickers[id];
1371
+ ticker.canvasElementTags = ticker.canvasElementTags.filter((e) => _GameWindowManager._children[e]);
1372
+ if (ticker.canvasElementTags.length === 0) {
1373
+ _GameWindowManager.removeTicker(id);
1374
+ }
1375
+ }
1167
1376
  for (let tag in _GameWindowManager._currentTickersSteps) {
1168
1377
  if (_GameWindowManager._children[tag] === void 0) {
1169
1378
  delete _GameWindowManager._currentTickersSteps[tag];
1170
1379
  }
1171
1380
  }
1381
+ Object.entries(_GameWindowManager._currentTickersTimeouts).forEach(([timeout, { tags }]) => {
1382
+ if (tags.length === 0) {
1383
+ _GameWindowManager.removeTickerTimeout(timeout);
1384
+ }
1385
+ });
1172
1386
  }
1173
- static addTickerTimeoutInfo(tags, ticker, timeout) {
1387
+ static addTickerTimeoutInfo(tags, ticker, timeout, canBeDeletedBeforeEnd) {
1174
1388
  if (typeof tags === "string") {
1175
1389
  tags = [tags];
1176
1390
  }
1177
- _GameWindowManager.currentTickersTimeouts[timeout] = {
1391
+ _GameWindowManager._currentTickersTimeouts[timeout] = {
1178
1392
  tags,
1179
- ticker
1393
+ ticker,
1394
+ canBeDeletedBeforeEnd
1180
1395
  };
1181
1396
  }
1182
1397
  static removeTickerTimeoutInfo(timeout) {
1183
1398
  if (typeof timeout !== "string") {
1184
1399
  timeout = timeout.toString();
1185
1400
  }
1186
- if (_GameWindowManager.currentTickersTimeouts[timeout]) {
1187
- delete _GameWindowManager.currentTickersTimeouts[timeout];
1401
+ if (_GameWindowManager._currentTickersTimeouts[timeout]) {
1402
+ delete _GameWindowManager._currentTickersTimeouts[timeout];
1403
+ }
1404
+ }
1405
+ static removeTickerTimeout(timeout) {
1406
+ if (typeof timeout !== "string") {
1407
+ timeout = timeout.toString();
1408
+ }
1409
+ clearTimeout(Number(timeout));
1410
+ _GameWindowManager.removeTickerTimeoutInfo(timeout);
1411
+ }
1412
+ static removeTickerTimeoutsByTag(tag, checkCanBeDeletedBeforeEnd) {
1413
+ for (let timeout in _GameWindowManager._currentTickersTimeouts) {
1414
+ let tagsWithoutTagToRemove = _GameWindowManager._currentTickersTimeouts[timeout].tags.filter((t) => t !== tag);
1415
+ if (tagsWithoutTagToRemove.length === 0) {
1416
+ let canBeDeletedBeforeEnd = _GameWindowManager._currentTickersTimeouts[timeout].canBeDeletedBeforeEnd;
1417
+ if (!checkCanBeDeletedBeforeEnd || canBeDeletedBeforeEnd) {
1418
+ _GameWindowManager.removeTickerTimeout(timeout);
1419
+ }
1420
+ } else {
1421
+ _GameWindowManager._currentTickersTimeouts[timeout].tags = tagsWithoutTagToRemove;
1422
+ }
1188
1423
  }
1189
1424
  }
1190
1425
  /**
1191
1426
  * Remove all tickers from the canvas.
1192
1427
  */
1193
- static removeTickers() {
1428
+ static removeAllTickers() {
1194
1429
  _GameWindowManager._currentTickersSteps = {};
1195
- _GameWindowManager._currentTickers.forEach((t) => {
1196
- _GameWindowManager.app.ticker.remove(t.fn);
1430
+ Object.keys(_GameWindowManager._currentTickers).forEach((id) => {
1431
+ _GameWindowManager.removeTicker(id);
1197
1432
  });
1198
- _GameWindowManager._currentTickers = [];
1199
- for (let timeout in _GameWindowManager.currentTickersTimeouts) {
1200
- _GameWindowManager.removeTickerTimeoutInfo(timeout);
1433
+ _GameWindowManager._currentTickers = {};
1434
+ for (let timeout in _GameWindowManager._currentTickersTimeouts) {
1435
+ _GameWindowManager.removeTickerTimeout(timeout);
1436
+ }
1437
+ }
1438
+ /**
1439
+ * Remove all tickers from a canvas element.
1440
+ * @param tag The tag of the canvas element that will use the ticker.
1441
+ */
1442
+ static removeTickerByCanvasElement(tag) {
1443
+ if (typeof tag === "string") {
1444
+ tag = [tag];
1445
+ }
1446
+ tag.forEach((tag2) => {
1447
+ for (let id in _GameWindowManager._currentTickers) {
1448
+ let ticker = _GameWindowManager._currentTickers[id];
1449
+ if (ticker.canvasElementTags.includes(tag2)) {
1450
+ _GameWindowManager.removeTicker(id);
1451
+ }
1452
+ }
1453
+ if (_GameWindowManager._currentTickersSteps[tag2]) {
1454
+ delete _GameWindowManager._currentTickersSteps[tag2];
1455
+ }
1456
+ _GameWindowManager.removeTickerTimeoutsByTag(tag2, false);
1457
+ delete _GameWindowManager._currentTickersSteps[tag2];
1458
+ });
1459
+ }
1460
+ static removeTickerStepByCanvasElement(tag) {
1461
+ if (_GameWindowManager._currentTickersSteps[tag]) {
1462
+ delete _GameWindowManager._currentTickersSteps[tag];
1463
+ }
1464
+ for (let id in _GameWindowManager._currentTickers) {
1465
+ let ticker = _GameWindowManager._currentTickers[id];
1466
+ if (ticker.createdByTicketStepsId === tag) {
1467
+ _GameWindowManager.removeTicker(id);
1468
+ }
1469
+ }
1470
+ }
1471
+ static removeTicker(tickerId) {
1472
+ let ticker = _GameWindowManager._currentTickers[tickerId];
1473
+ if (ticker) {
1474
+ if (ticker.args.hasOwnProperty(tagToRemoveAfter)) {
1475
+ let tagToRemoveAfter2 = ticker.args.tagToRemoveAfter;
1476
+ _GameWindowManager.removeCanvasElement(tagToRemoveAfter2);
1477
+ }
1478
+ _GameWindowManager.app.ticker.remove(ticker.fn);
1479
+ delete _GameWindowManager._currentTickers[tickerId];
1201
1480
  }
1202
1481
  }
1203
1482
  /**
@@ -1224,7 +1503,8 @@ var _GameWindowManager = class _GameWindowManager {
1224
1503
  currentElements[tag] = exportCanvasElement(_GameWindowManager._children[tag]);
1225
1504
  }
1226
1505
  return {
1227
- currentTickers: createExportableElement(_GameWindowManager._currentTickers),
1506
+ currentTickers: createExportableElement(_GameWindowManager.currentTickersWithoutCreatedBySteps),
1507
+ currentTickersSteps: createExportableElement(_GameWindowManager._currentTickersSteps),
1228
1508
  currentElements: createExportableElement(currentElements),
1229
1509
  childrenTagsOrder: createExportableElement(_GameWindowManager.childrenTagsOrder)
1230
1510
  };
@@ -1259,15 +1539,20 @@ var _GameWindowManager = class _GameWindowManager {
1259
1539
  }
1260
1540
  if (data.hasOwnProperty("currentTickers")) {
1261
1541
  let currentTickers = data["currentTickers"];
1262
- currentTickers.forEach((t) => {
1542
+ for (let id in currentTickers) {
1543
+ let t = currentTickers[id];
1263
1544
  let tags = t.canvasElementTags;
1264
- let ticker = geTickerInstanceByClassName(t.className, t.args, t.duration, t.priority);
1545
+ let ticker = geTickerInstanceById(t.id, t.args, t.duration, t.priority);
1265
1546
  if (ticker) {
1266
1547
  _GameWindowManager.addTicker(tags, ticker);
1267
1548
  } else {
1268
- console.error(`[Pixi'VN] Ticker ${t.className} not found`);
1549
+ console.error(`[Pixi'VN] Ticker ${t.id} not found`);
1269
1550
  }
1270
- });
1551
+ }
1552
+ }
1553
+ if (data.hasOwnProperty("currentTickersSteps")) {
1554
+ let currentTickersSteps = data["currentTickersSteps"];
1555
+ _GameWindowManager.restoneTickersSteps(currentTickersSteps);
1271
1556
  }
1272
1557
  } catch (e) {
1273
1558
  console.error("[Pixi'VN] Error importing data", e);
@@ -1281,22 +1566,28 @@ _GameWindowManager._children = {};
1281
1566
  * The order of the children tags.
1282
1567
  */
1283
1568
  _GameWindowManager.childrenTagsOrder = [];
1284
- _GameWindowManager._currentTickers = [];
1569
+ _GameWindowManager._currentTickers = {};
1285
1570
  _GameWindowManager._currentTickersSteps = {};
1286
- _GameWindowManager.currentTickersTimeouts = {};
1571
+ _GameWindowManager._currentTickersTimeouts = {};
1287
1572
  var GameWindowManager = _GameWindowManager;
1288
1573
 
1289
- // src/classes/ticker/TickerRotate.ts
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;
1299
- let clockwise = args.clockwise === void 0 ? true : args.clockwise;
1574
+ // src/classes/ticker/FadeAlphaTicker.ts
1575
+ var FadeAlphaTicker = class extends TickerBase {
1576
+ fn(ticker, args, tags, tickerId) {
1577
+ let type = args.type === void 0 ? "hide" : args.type;
1578
+ let duration = args.duration === void 0 ? 1 : args.duration;
1579
+ let speed = 1 / (duration * 60);
1580
+ let limit = args.limit === void 0 ? type === "hide" ? 0 : 1 : args.limit;
1581
+ let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
1582
+ if (typeof tagToRemoveAfter2 === "string") {
1583
+ tagToRemoveAfter2 = [tagToRemoveAfter2];
1584
+ }
1585
+ if (type === "hide" && limit < 0) {
1586
+ limit = 0;
1587
+ }
1588
+ if (type === "show" && limit > 1) {
1589
+ limit = 1;
1590
+ }
1300
1591
  tags.filter((tag) => {
1301
1592
  var _a;
1302
1593
  let element = GameWindowManager.getCanvasElement(tag);
@@ -1309,20 +1600,26 @@ var TickerRotate = class extends TickerBase {
1309
1600
  }).forEach((tag) => {
1310
1601
  let element = GameWindowManager.getCanvasElement(tag);
1311
1602
  if (element && element instanceof Container) {
1312
- if (clockwise)
1313
- element.rotation += speed * t.deltaTime;
1314
- else
1315
- element.rotation -= speed * t.deltaTime;
1603
+ if (type === "show" && element.alpha < limit) {
1604
+ element.alpha += speed * ticker.deltaTime;
1605
+ } else if (type === "hide" && element.alpha > limit) {
1606
+ element.alpha -= speed * ticker.deltaTime;
1607
+ }
1608
+ if (type === "show" && element.alpha >= limit) {
1609
+ element.alpha = limit;
1610
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
1611
+ } else if (type === "hide" && element.alpha <= limit) {
1612
+ element.alpha = limit;
1613
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
1614
+ }
1316
1615
  }
1317
1616
  });
1318
- if (args.speedProgression)
1319
- updateTickerProgression(args, "speed", args.speedProgression);
1320
1617
  }
1321
1618
  };
1322
- TickerRotate = __decorateClass([
1619
+ FadeAlphaTicker = __decorateClass([
1323
1620
  tickerDecorator()
1324
- ], TickerRotate);
1621
+ ], FadeAlphaTicker);
1325
1622
 
1326
- export { TickerRotate as default };
1623
+ export { FadeAlphaTicker as default };
1327
1624
  //# sourceMappingURL=out.js.map
1328
- //# sourceMappingURL=TickerRotate.mjs.map
1625
+ //# sourceMappingURL=FadeAlphaTicker.mjs.map