@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,101 +507,162 @@ 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";
523
-
524
536
  // src/classes/ticker/TickerBase.ts
525
537
  var TickerBase = class {
526
538
  /**
527
539
  * @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.
540
+ * @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
541
+ * @param priority The priority of the ticker. @default UPDATE_PRIORITY.NORMAL
530
542
  */
531
543
  constructor(args, duration, priority) {
544
+ /**
545
+ * Get the id of the ticker. This variable is used in the system to get the ticker by id, {@link geTickerInstanceById}
546
+ */
547
+ this.id = "ticker_id_not_set";
532
548
  this.args = args;
533
549
  this.duration = duration;
534
550
  this.priority = priority;
551
+ this.id = this.constructor.prototype.id;
535
552
  }
536
553
  /**
537
554
  * The method that will be called every frame.
538
555
  * 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
556
+ * @param _ticker The ticker that is calling this method
557
+ * @param _args The arguments that you passed when you added the ticker
558
+ * @param _tags The tags of the canvas elements that are connected to this ticker
559
+ * @param _tickerId The id of the ticker. You can use this to get the ticker from the {@link GameWindowManager.currentTickers}
542
560
  */
543
- fn(_t, _args, _tags) {
561
+ fn(_ticker, _args, _tags, _tickerId) {
544
562
  throw new Error("[Pixi'VN] The method TickerBase.fn() must be overridden");
545
563
  }
546
564
  };
547
565
 
566
+ // src/classes/ticker/FadeAlphaTicker.ts
567
+ var FadeAlphaTicker = class extends TickerBase {
568
+ fn(ticker, args, tags, tickerId) {
569
+ let type = args.type === void 0 ? "hide" : args.type;
570
+ let duration = args.duration === void 0 ? 1 : args.duration;
571
+ let speed = 1 / (duration * 60);
572
+ let limit = args.limit === void 0 ? type === "hide" ? 0 : 1 : args.limit;
573
+ let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
574
+ if (typeof tagToRemoveAfter2 === "string") {
575
+ tagToRemoveAfter2 = [tagToRemoveAfter2];
576
+ }
577
+ if (type === "hide" && limit < 0) {
578
+ limit = 0;
579
+ }
580
+ if (type === "show" && limit > 1) {
581
+ limit = 1;
582
+ }
583
+ tags.filter((tag) => {
584
+ var _a;
585
+ let element = GameWindowManager.getCanvasElement(tag);
586
+ if (args.startOnlyIfHaveTexture) {
587
+ if (element && element instanceof Sprite && ((_a = element.texture) == null ? void 0 : _a.label) == "EMPTY") {
588
+ return false;
589
+ }
590
+ }
591
+ return true;
592
+ }).forEach((tag) => {
593
+ let element = GameWindowManager.getCanvasElement(tag);
594
+ if (element && element instanceof Container) {
595
+ if (type === "show" && element.alpha < limit) {
596
+ element.alpha += speed * ticker.deltaTime;
597
+ } else if (type === "hide" && element.alpha > limit) {
598
+ element.alpha -= speed * ticker.deltaTime;
599
+ }
600
+ if (type === "show" && element.alpha >= limit) {
601
+ element.alpha = limit;
602
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
603
+ } else if (type === "hide" && element.alpha <= limit) {
604
+ element.alpha = limit;
605
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
606
+ }
607
+ }
608
+ });
609
+ }
610
+ };
611
+ FadeAlphaTicker = __decorateClass([
612
+ tickerDecorator()
613
+ ], FadeAlphaTicker);
614
+
548
615
  // src/functions/TickerUtility.ts
549
616
  function updateTickerProgression(args, propertyName, progression) {
550
- if (args.hasOwnProperty(propertyName) && typeof args[propertyName] !== "number") {
617
+ if (args[propertyName] === void 0 || !progression || args[propertyName] === progression.limit) {
551
618
  return;
552
619
  }
553
- if (args[propertyName] !== void 0 && progression && args[propertyName] !== progression.limit) {
620
+ if (typeof args[propertyName] === "number") {
554
621
  if (progression.type === "linear") {
555
- args[propertyName] += progression.amt;
556
- if (progression.limit !== void 0) {
557
- if (args[propertyName] > progression.limit && progression.amt > 0) {
558
- args[propertyName] = progression.limit;
559
- } else if (args[propertyName] < progression.limit && progression.amt < 0) {
560
- args[propertyName] = progression.limit;
561
- }
562
- }
622
+ args[propertyName] = getLinearProgression(args[propertyName], progression);
563
623
  } else if (progression.type === "exponential") {
564
- args[propertyName] += args[propertyName] * progression.percentage;
565
- if (progression.limit !== void 0) {
566
- if (args[propertyName] > progression.limit && progression.percentage > 0) {
567
- args[propertyName] = progression.limit;
568
- } else if (args[propertyName] < progression.limit && progression.percentage < 0) {
569
- args[propertyName] = progression.limit;
570
- }
571
- }
624
+ args[propertyName] = getExponentialProgression(args[propertyName], progression);
625
+ }
626
+ } 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") {
627
+ if (progression.type === "linear") {
628
+ args[propertyName].x = getLinearProgression(args[propertyName].x, progression);
629
+ args[propertyName].y = getLinearProgression(args[propertyName].y, progression);
630
+ } else if (progression.type === "exponential") {
631
+ args[propertyName].x = getExponentialProgression(args[propertyName].x, progression);
632
+ args[propertyName].y = getExponentialProgression(args[propertyName].y, progression);
633
+ }
634
+ }
635
+ }
636
+ function getLinearProgression(number, progression) {
637
+ if (progression.limit !== void 0) {
638
+ if (number > progression.limit && progression.amt > 0) {
639
+ return progression.limit;
640
+ } else if (number < progression.limit && progression.amt < 0) {
641
+ return progression.limit;
642
+ }
643
+ }
644
+ return number + progression.amt / 60;
645
+ }
646
+ function getExponentialProgression(number, progression) {
647
+ if (progression.limit !== void 0) {
648
+ if (number > progression.limit && progression.percentage > 0) {
649
+ return progression.limit;
650
+ } else if (number < progression.limit && progression.percentage < 0) {
651
+ return progression.limit;
572
652
  }
573
653
  }
654
+ return number + number * progression.percentage;
574
655
  }
575
656
 
576
- // src/classes/ticker/TickerMove.ts
577
- var TickerMove = class extends TickerBase {
578
- /**
579
- * The method that will be called every frame to move the canvas element of the canvas.
580
- * @param t The ticker that is calling this method
581
- * @param args The arguments that are passed to the ticker
582
- * @param tags The tags of the canvas element that are connected to this ticker
583
- */
584
- fn(t, args, tags) {
585
- let speed = args.speed === void 0 ? 0.1 : args.speed;
586
- let destination = args.destination;
657
+ // src/classes/ticker/RotateTicker.ts
658
+ var RotateTicker = class extends TickerBase {
659
+ fn(ticker, args, tags, tickerId) {
660
+ let speed = (args.speed === void 0 ? 1 : args.speed) / 60;
661
+ let clockwise = args.clockwise === void 0 ? true : args.clockwise;
662
+ let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
663
+ if (typeof tagToRemoveAfter2 === "string") {
664
+ tagToRemoveAfter2 = [tagToRemoveAfter2];
665
+ }
587
666
  tags.filter((tag) => {
588
667
  var _a;
589
668
  let element = GameWindowManager.getCanvasElement(tag);
@@ -596,21 +675,12 @@ var TickerMove = class extends TickerBase {
596
675
  }).forEach((tag) => {
597
676
  let element = GameWindowManager.getCanvasElement(tag);
598
677
  if (element && element instanceof Container) {
599
- let xDistance = destination.x - element.x;
600
- if (xDistance != 0) {
601
- element.x += xDistance / speed * t.deltaTime;
602
- let newDistance = destination.x - element.x;
603
- if (xDistance < 0 && newDistance > 0 || xDistance > 0 && newDistance < 0) {
604
- element.x = destination.x;
605
- }
606
- }
607
- let yDistance = destination.y - element.y;
608
- if (yDistance != 0) {
609
- element.y += yDistance / speed * t.deltaTime;
610
- let newDistance = destination.y - element.y;
611
- if (yDistance < 0 && newDistance > 0 || yDistance > 0 && newDistance < 0) {
612
- element.y = destination.y;
613
- }
678
+ if (clockwise)
679
+ element.rotation += speed * ticker.deltaTime;
680
+ else
681
+ element.rotation -= speed * ticker.deltaTime;
682
+ if (speed < 1e-5 && !(args.speedProgression && args.speedProgression.type == "linear" && args.speedProgression.amt != 0)) {
683
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
614
684
  }
615
685
  }
616
686
  });
@@ -618,19 +688,40 @@ var TickerMove = class extends TickerBase {
618
688
  updateTickerProgression(args, "speed", args.speedProgression);
619
689
  }
620
690
  };
621
- TickerMove = __decorateClass([
691
+ RotateTicker = __decorateClass([
622
692
  tickerDecorator()
623
- ], TickerMove);
624
- var TickerRotate = class extends TickerBase {
625
- /**
626
- * The method that will be called every frame to rotate the canvas element of the canvas.
627
- * @param delta The delta time
628
- * @param args The arguments that are passed to the ticker
629
- * @param tags The tags of the canvas element that are connected to this ticker
630
- */
631
- fn(t, args, tags) {
632
- let speed = args.speed === void 0 ? 0.1 : args.speed;
633
- let clockwise = args.clockwise === void 0 ? true : args.clockwise;
693
+ ], RotateTicker);
694
+ var ZoomTicker = class extends TickerBase {
695
+ fn(ticker, args, tags, tickerId) {
696
+ let xSpeed = 0.1;
697
+ let ySpeed = 0.1;
698
+ if (args.speed) {
699
+ if (typeof args.speed === "number") {
700
+ xSpeed = args.speed;
701
+ ySpeed = args.speed;
702
+ } else {
703
+ xSpeed = args.speed.x;
704
+ ySpeed = args.speed.y;
705
+ }
706
+ }
707
+ xSpeed /= 60;
708
+ ySpeed /= 60;
709
+ let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
710
+ if (typeof tagToRemoveAfter2 === "string") {
711
+ tagToRemoveAfter2 = [tagToRemoveAfter2];
712
+ }
713
+ let type = args.type || "zoom";
714
+ let xLimit = type === "zoom" ? Infinity : 0;
715
+ let yLimit = type === "zoom" ? Infinity : 0;
716
+ if (args.limit) {
717
+ if (typeof args.limit === "number") {
718
+ xLimit = args.limit;
719
+ yLimit = args.limit;
720
+ } else {
721
+ xLimit = args.limit.x;
722
+ yLimit = args.limit.y;
723
+ }
724
+ }
634
725
  tags.filter((tag) => {
635
726
  var _a;
636
727
  let element = GameWindowManager.getCanvasElement(tag);
@@ -643,19 +734,56 @@ var TickerRotate = class extends TickerBase {
643
734
  }).forEach((tag) => {
644
735
  let element = GameWindowManager.getCanvasElement(tag);
645
736
  if (element && element instanceof Container) {
646
- if (clockwise)
647
- element.rotation += speed * t.deltaTime;
648
- else
649
- element.rotation -= speed * t.deltaTime;
737
+ if (type === "zoom" && (element.scale.x < xLimit || element.scale.y < yLimit)) {
738
+ element.scale.x += xSpeed * ticker.deltaTime;
739
+ element.scale.y += ySpeed * ticker.deltaTime;
740
+ } else if (type === "unzoom" && (element.scale.x > xLimit || element.scale.y > yLimit)) {
741
+ element.scale.x -= xSpeed * ticker.deltaTime;
742
+ element.scale.y -= ySpeed * ticker.deltaTime;
743
+ }
744
+ if (type === "zoom") {
745
+ if (element.scale.x > xLimit) {
746
+ element.scale.x = xLimit;
747
+ }
748
+ if (element.scale.y > yLimit) {
749
+ element.scale.y = yLimit;
750
+ }
751
+ if (element.scale.x >= xLimit && element.scale.y >= yLimit) {
752
+ element.scale.x = xLimit;
753
+ element.scale.y = yLimit;
754
+ this.onEndOfTicker(tag, tickerId, element, tagToRemoveAfter2);
755
+ }
756
+ } else if (type === "unzoom") {
757
+ if (element.scale.x < xLimit) {
758
+ element.scale.x = xLimit;
759
+ }
760
+ if (element.scale.y < yLimit) {
761
+ element.scale.y = yLimit;
762
+ }
763
+ if (element.scale.x <= xLimit && element.scale.y <= yLimit) {
764
+ element.scale.x = xLimit;
765
+ element.scale.y = yLimit;
766
+ this.onEndOfTicker(tag, tickerId, element, tagToRemoveAfter2);
767
+ }
768
+ }
769
+ if (xSpeed < 1e-5 && ySpeed < 1e-5 && !(args.speedProgression && args.speedProgression.type == "linear" && args.speedProgression.amt != 0)) {
770
+ this.onEndOfTicker(tag, tickerId, element, tagToRemoveAfter2);
771
+ }
650
772
  }
651
773
  });
652
774
  if (args.speedProgression)
653
775
  updateTickerProgression(args, "speed", args.speedProgression);
654
776
  }
777
+ onEndOfTicker(tag, tickerId, _element, tagToRemoveAfter2) {
778
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
779
+ }
655
780
  };
656
- TickerRotate = __decorateClass([
781
+ ZoomTicker = __decorateClass([
657
782
  tickerDecorator()
658
- ], TickerRotate);
783
+ ], ZoomTicker);
784
+
785
+ // src/constants.ts
786
+ var Repeat = "repeat";
659
787
 
660
788
  // src/functions/ExportUtility.ts
661
789
  function createExportableElement(element) {
@@ -676,21 +804,22 @@ function tickerDecorator(name) {
676
804
  name = target.name;
677
805
  }
678
806
  if (registeredTickers[name]) {
679
- console.warn(`[Pixi'VN] Ticker ${name} already exists, it will be overwritten`);
807
+ console.info(`[Pixi'VN] Ticker ${name} already exists, it will be overwritten`);
680
808
  }
809
+ target.prototype.id = name;
681
810
  registeredTickers[name] = target;
682
811
  };
683
812
  }
684
- function geTickerInstanceByClassName(tickerName, args, duration, priority) {
813
+ function geTickerInstanceById(tickerId, args, duration, priority) {
685
814
  try {
686
- let ticker = registeredTickers[tickerName];
815
+ let ticker = registeredTickers[tickerId];
687
816
  if (!ticker) {
688
- console.error(`[Pixi'VN] Ticker ${tickerName} not found`);
817
+ console.error(`[Pixi'VN] Ticker ${tickerId} not found`);
689
818
  return;
690
819
  }
691
820
  return new ticker(args, duration, priority);
692
821
  } catch (e) {
693
- console.error(`[Pixi'VN] Error while getting Ticker ${tickerName}`, e);
822
+ console.error(`[Pixi'VN] Error while getting Ticker ${tickerId}`, e);
694
823
  return;
695
824
  }
696
825
  }
@@ -706,6 +835,9 @@ function asciiArtLog() {
706
835
  `);
707
836
  }
708
837
 
838
+ // src/types/ticker/TagToRemoveAfterType.ts
839
+ var tagToRemoveAfter = "tagToRemoveAfter";
840
+
709
841
  // src/managers/WindowManager.ts
710
842
  var _GameWindowManager = class _GameWindowManager {
711
843
  constructor() {
@@ -888,25 +1020,25 @@ var _GameWindowManager = class _GameWindowManager {
888
1020
  /**
889
1021
  * Remove a canvas element from the canvas.
890
1022
  * And remove all tickers that are not connected to any canvas element.
891
- * @param tag The tag of the canvas element to be removed.
1023
+ * @param tags The tag of the canvas element to be removed.
892
1024
  * @returns
893
1025
  * @example
894
1026
  * ```typescript
895
1027
  * GameWindowManager.removeCanvasElement("bunny");
896
1028
  * ```
897
1029
  */
898
- static removeCanvasElement(tag) {
899
- if (typeof tag === "string") {
900
- tag = [tag];
1030
+ static removeCanvasElement(tags) {
1031
+ if (typeof tags === "string") {
1032
+ tags = [tags];
901
1033
  }
902
- tag.forEach((t) => {
903
- if (_GameWindowManager._children[t]) {
904
- _GameWindowManager.app.stage.removeChild(_GameWindowManager._children[t]);
905
- delete _GameWindowManager._children[t];
1034
+ tags.forEach((tag) => {
1035
+ if (_GameWindowManager._children[tag]) {
1036
+ _GameWindowManager.app.stage.removeChild(_GameWindowManager._children[tag]);
1037
+ delete _GameWindowManager._children[tag];
1038
+ _GameWindowManager.removeTickerByCanvasElement(tag);
906
1039
  }
907
1040
  });
908
- _GameWindowManager.removeTickersWithoutAssociatedCanvasElement();
909
- _GameWindowManager.childrenTagsOrder = _GameWindowManager.childrenTagsOrder.filter((t) => !tag.includes(t));
1041
+ _GameWindowManager.childrenTagsOrder = _GameWindowManager.childrenTagsOrder.filter((t) => !tags.includes(t));
910
1042
  }
911
1043
  /**
912
1044
  * Get a canvas element by the tag.
@@ -936,18 +1068,43 @@ var _GameWindowManager = class _GameWindowManager {
936
1068
  _GameWindowManager.app.stage.removeChildren();
937
1069
  _GameWindowManager._children = {};
938
1070
  _GameWindowManager.childrenTagsOrder = [];
939
- _GameWindowManager.removeTickers();
1071
+ _GameWindowManager.removeAllTickers();
940
1072
  }
941
1073
  /**
942
1074
  * Edit the tag of a canvas element.
943
1075
  * @param oldTag The old tag of the canvas element.
944
1076
  * @param newTag The new tag of the canvas element.
945
1077
  */
946
- static editTagCanvasElement(oldTag, newTag) {
1078
+ static editCanvasElementTag(oldTag, newTag) {
947
1079
  if (_GameWindowManager._children[oldTag]) {
948
1080
  _GameWindowManager._children[newTag] = _GameWindowManager._children[oldTag];
949
1081
  delete _GameWindowManager._children[oldTag];
950
1082
  }
1083
+ if (_GameWindowManager._currentTickersSteps[oldTag]) {
1084
+ _GameWindowManager._currentTickersSteps[newTag] = _GameWindowManager._currentTickersSteps[oldTag];
1085
+ delete _GameWindowManager._currentTickersSteps[oldTag];
1086
+ }
1087
+ for (let id in _GameWindowManager._currentTickers) {
1088
+ let ticker = _GameWindowManager._currentTickers[id];
1089
+ if (ticker.canvasElementTags.includes(oldTag)) {
1090
+ ticker.canvasElementTags = ticker.canvasElementTags.map((t) => t === oldTag ? newTag : t);
1091
+ if (ticker.args.hasOwnProperty(tagToRemoveAfter)) {
1092
+ let tagToRemoveAfter2 = ticker.args.tagToRemoveAfter;
1093
+ if (typeof tagToRemoveAfter2 === "string") {
1094
+ tagToRemoveAfter2 = [tagToRemoveAfter2];
1095
+ }
1096
+ if (Array.isArray(tagToRemoveAfter2)) {
1097
+ ticker.args.tagToRemoveAfter = tagToRemoveAfter2.map((t) => t === oldTag ? newTag : t);
1098
+ }
1099
+ }
1100
+ }
1101
+ }
1102
+ for (let timeout in _GameWindowManager._currentTickersTimeouts) {
1103
+ let TickerTimeout = _GameWindowManager._currentTickersTimeouts[timeout];
1104
+ if (TickerTimeout.tags.includes(oldTag)) {
1105
+ TickerTimeout.tags = TickerTimeout.tags.map((t) => t === oldTag ? newTag : t);
1106
+ }
1107
+ }
951
1108
  }
952
1109
  /** Edit Tickers Methods */
953
1110
  /**
@@ -956,106 +1113,127 @@ var _GameWindowManager = class _GameWindowManager {
956
1113
  static get currentTickers() {
957
1114
  return _GameWindowManager._currentTickers;
958
1115
  }
1116
+ static get currentTickersList() {
1117
+ return Object.values(_GameWindowManager._currentTickers);
1118
+ }
1119
+ static get currentTickersWithoutCreatedBySteps() {
1120
+ return Object.fromEntries(Object.entries(_GameWindowManager._currentTickers).filter(([_, ticker]) => !ticker.createdByTicketStepsId));
1121
+ }
959
1122
  /**
960
1123
  * The steps of the tickers
961
1124
  */
962
1125
  static get currentTickersSteps() {
963
1126
  return _GameWindowManager._currentTickersSteps;
964
1127
  }
1128
+ static generateTickerId(tickerData) {
1129
+ try {
1130
+ return sha1(JSON.stringify(tickerData)).toString() + "_" + Math.random().toString(36).substring(7);
1131
+ } catch (e) {
1132
+ throw new Error(`[Pixi'VN] Error to generate ticker id: ${e}`);
1133
+ }
1134
+ }
965
1135
  /**
966
- * Run a ticker.
1136
+ * Run a ticker. You can run multiple addTicker with the same tag and different tickerClasses.
1137
+ * If you run a ticker with the same tag and tickerClass, the old ticker will be removed.
1138
+ * If already exists a sequence of tickers with the same tag, it will be removed.
967
1139
  * @param canvasEslementTag The tag of the canvas element that will use the ticker.
968
1140
  * @param ticker The ticker class to be run.
969
1141
  * @param args The arguments to be used in the ticker.
970
- * @param duration The time to be used in the ticker. This number is in milliseconds. If it is undefined, the ticker will run forever.
1142
+ * @param duration The time to be used in the ticker. This number is in seconds. If it is undefined, the ticker will run forever.
971
1143
  * @param priority The priority to be used in the ticker.
972
1144
  * @returns
973
1145
  * @example
974
1146
  * ```typescript
975
- * GameWindowManager.addTicker("alien", new TickerRotate({ speed: 0.2 }))
1147
+ * GameWindowManager.addTicker("alien", new RotateTicker({ speed: 0.2 }))
976
1148
  * ```
977
1149
  */
978
1150
  static addTicker(canvasElementTag, ticker) {
979
- let tickerName = ticker.constructor.name;
1151
+ let tickerId = ticker.id;
980
1152
  if (typeof canvasElementTag === "string") {
981
1153
  canvasElementTag = [canvasElementTag];
982
1154
  }
983
- let t = geTickerInstanceByClassName(tickerName, ticker.args, ticker.duration, ticker.priority);
984
- if (!t) {
985
- console.error(`[Pixi'VN] Ticker ${tickerName} not found`);
1155
+ if (!geTickerInstanceById(tickerId, ticker.args, ticker.duration, ticker.priority)) {
1156
+ console.error(`[Pixi'VN] Ticker ${tickerId} not found`);
986
1157
  return;
987
1158
  }
988
- _GameWindowManager.removeAssociationBetweenTickerCanvasElement(canvasElementTag, ticker);
989
1159
  let tickerHistory = {
990
1160
  fn: () => {
991
1161
  },
992
- className: tickerName,
993
- args: ticker.args,
1162
+ id: tickerId,
1163
+ args: createExportableElement(ticker.args),
994
1164
  canvasElementTags: canvasElementTag,
995
1165
  priority: ticker.priority,
996
1166
  duration: ticker.duration
997
1167
  };
998
- _GameWindowManager.pushTicker(tickerHistory, t);
999
- _GameWindowManager.removeTickersWithoutAssociatedCanvasElement();
1168
+ let id = _GameWindowManager.generateTickerId(tickerHistory);
1169
+ _GameWindowManager.pushTicker(id, tickerHistory, ticker);
1000
1170
  if (ticker.duration) {
1001
1171
  let timeout = setTimeout(() => {
1002
1172
  _GameWindowManager.removeTickerTimeoutInfo(timeout);
1003
- _GameWindowManager.nextTickerStep(canvasElementTag);
1004
- }, ticker.duration);
1005
- _GameWindowManager.addTickerTimeoutInfo(canvasElementTag, tickerName, timeout.toString());
1173
+ let tickerTimeoutInfo = _GameWindowManager._currentTickersTimeouts[timeout.toString()];
1174
+ if (tickerTimeoutInfo) {
1175
+ _GameWindowManager.removeTicker(id);
1176
+ }
1177
+ }, ticker.duration * 1e3);
1178
+ _GameWindowManager.addTickerTimeoutInfo(canvasElementTag, tickerId, timeout.toString(), true);
1006
1179
  }
1007
1180
  }
1008
- static pushTicker(tickerData, ticker) {
1009
- _GameWindowManager.removeAssociationBetweenTickerCanvasElement(tickerData.canvasElementTags, tickerData);
1010
- _GameWindowManager._currentTickers.push(tickerData);
1181
+ static pushTicker(id, tickerData, ticker) {
1182
+ _GameWindowManager.removeAssociationBetweenTickerCanvasElement(tickerData.canvasElementTags, ticker);
1183
+ _GameWindowManager._currentTickers[id] = tickerData;
1011
1184
  tickerData.fn = (t) => {
1012
- ticker == null ? void 0 : ticker.fn(t, tickerData.args, tickerData.canvasElementTags);
1185
+ let data = _GameWindowManager._currentTickers[id];
1186
+ if (data) {
1187
+ ticker == null ? void 0 : ticker.fn(t, data.args, data.canvasElementTags, id);
1188
+ }
1013
1189
  };
1014
1190
  _GameWindowManager.app.ticker.add(tickerData.fn, void 0, tickerData.priority);
1015
1191
  }
1016
1192
  /**
1017
- * Run a sequence of tickers.
1193
+ * Run a sequence of tickers. If exists a ticker steps with the same tag, it will be removed.
1018
1194
  * @param tag The tag of canvas element that will use the tickers.
1019
1195
  * @param steps The steps of the tickers.
1196
+ * @param currentStepNumber The current step number. It is used to continue the sequence of tickers.
1020
1197
  * @returns
1021
1198
  * @example
1022
1199
  * ```typescript
1023
1200
  * GameWindowManager.addTickersSteps("alien", [
1024
- * new TickerRotate({ speed: 0.1, clockwise: true }, 2000),
1025
- * Pause(500),
1026
- * new TickerRotate({ speed: 0.2, clockwise: false }, 2000),
1201
+ * new RotateTicker({ speed: 0.1, clockwise: true }, 2), // 2 seconds
1202
+ * Pause(1), // 1 second
1203
+ * new RotateTicker({ speed: 0.2, clockwise: false }, 2),
1027
1204
  * Repeat,
1028
1205
  * ])
1029
1206
  * ```
1030
1207
  */
1031
- static addTickersSteps(tag, steps) {
1208
+ static addTickersSteps(tag, steps, currentStepNumber = 0) {
1032
1209
  if (steps.length == 0) {
1033
1210
  console.warn("[Pixi'VN] The steps of the tickers is empty");
1034
1211
  return;
1035
1212
  }
1036
- let alredyExists = _GameWindowManager._currentTickersSteps[tag] !== void 0;
1213
+ _GameWindowManager.removeTickerStepByCanvasElement(tag);
1037
1214
  _GameWindowManager._currentTickersSteps[tag] = {
1038
- currentStepNumber: 0,
1039
- steps: steps.map((s) => {
1040
- if (s === Repeat) {
1041
- return s;
1215
+ currentStepNumber,
1216
+ steps: steps.map((step) => {
1217
+ if (step === Repeat) {
1218
+ return step;
1042
1219
  }
1043
- if (!s.duration) {
1044
- console.warn("[Pixi'VN] Duration is not defined, so it will be set to 1000");
1045
- s.duration = 1e3;
1220
+ if (step.hasOwnProperty("type") && step.type === "pause") {
1221
+ return step;
1046
1222
  }
1047
- if (s.hasOwnProperty("type") && s.type === PauseValueType) {
1048
- return s;
1049
- }
1050
- let tickerName = s.constructor.name;
1223
+ let tickerId = step.id;
1051
1224
  return {
1052
- ticker: tickerName,
1053
- args: s.args,
1054
- duration: s.duration
1225
+ ticker: tickerId,
1226
+ args: createExportableElement(step.args),
1227
+ duration: step.duration
1055
1228
  };
1056
1229
  })
1057
1230
  };
1058
- if (!alredyExists) {
1231
+ _GameWindowManager.runTickersSteps(tag);
1232
+ }
1233
+ static restoneTickersSteps(data) {
1234
+ for (let tag in data) {
1235
+ let steps = data[tag];
1236
+ _GameWindowManager._currentTickersSteps[tag] = steps;
1059
1237
  _GameWindowManager.runTickersSteps(tag);
1060
1238
  }
1061
1239
  }
@@ -1069,70 +1247,106 @@ var _GameWindowManager = class _GameWindowManager {
1069
1247
  return;
1070
1248
  }
1071
1249
  }
1072
- if (step.hasOwnProperty("type") && step.type === PauseValueType) {
1250
+ if (step.hasOwnProperty("type") && step.type === "pause") {
1073
1251
  let timeout = setTimeout(() => {
1252
+ let tickerTimeoutInfo = _GameWindowManager._currentTickersTimeouts[timeout.toString()];
1253
+ if (tickerTimeoutInfo) {
1254
+ tickerTimeoutInfo.tags.forEach((tag2) => {
1255
+ _GameWindowManager.nextTickerStep(tag2);
1256
+ });
1257
+ }
1074
1258
  _GameWindowManager.removeTickerTimeoutInfo(timeout);
1075
- _GameWindowManager.nextTickerStep(tag);
1076
- }, step.duration);
1077
- _GameWindowManager.addTickerTimeoutInfo(tag, "steps", timeout.toString());
1259
+ }, step.duration * 1e3);
1260
+ _GameWindowManager.addTickerTimeoutInfo(tag, "steps", timeout.toString(), false);
1078
1261
  return;
1079
1262
  }
1080
- let ticker = geTickerInstanceByClassName(step.ticker, step.args, step.duration, step.priority);
1263
+ let ticker = geTickerInstanceById(step.ticker, step.args, step.duration, step.priority);
1081
1264
  if (!ticker) {
1082
1265
  console.error(`[Pixi'VN] Ticker ${step.ticker} not found`);
1083
1266
  return;
1084
1267
  }
1085
- _GameWindowManager.addTicker(tag, ticker);
1268
+ let tickerName = ticker.id;
1269
+ let tickerHistory = {
1270
+ fn: () => {
1271
+ },
1272
+ id: tickerName,
1273
+ args: createExportableElement(ticker.args),
1274
+ canvasElementTags: [tag],
1275
+ priority: ticker.priority,
1276
+ duration: ticker.duration,
1277
+ createdByTicketStepsId: tag
1278
+ };
1279
+ let id = _GameWindowManager.generateTickerId(tickerHistory);
1280
+ _GameWindowManager.pushTicker(id, tickerHistory, ticker);
1281
+ if (ticker.duration) {
1282
+ let timeout = setTimeout(() => {
1283
+ let tickerTimeoutInfo = _GameWindowManager._currentTickersTimeouts[timeout.toString()];
1284
+ if (tickerTimeoutInfo) {
1285
+ _GameWindowManager.removeTicker(id);
1286
+ tickerTimeoutInfo.tags.forEach((tag2) => {
1287
+ _GameWindowManager.nextTickerStep(tag2);
1288
+ });
1289
+ }
1290
+ _GameWindowManager.removeTickerTimeoutInfo(timeout);
1291
+ }, ticker.duration * 1e3);
1292
+ _GameWindowManager.addTickerTimeoutInfo(tag, tickerName, timeout.toString(), false);
1293
+ }
1086
1294
  }
1087
1295
  static nextTickerStep(tag) {
1088
- if (typeof tag === "string") {
1089
- tag = [tag];
1296
+ if (_GameWindowManager._currentTickersSteps[tag]) {
1297
+ let steps = _GameWindowManager._currentTickersSteps[tag];
1298
+ if (steps.currentStepNumber + 1 < steps.steps.length) {
1299
+ steps.currentStepNumber++;
1300
+ _GameWindowManager._currentTickersSteps[tag] = steps;
1301
+ _GameWindowManager.runTickersSteps(tag);
1302
+ } else {
1303
+ _GameWindowManager.removeTickerStepByCanvasElement(tag);
1304
+ }
1090
1305
  }
1091
- tag.forEach((tag2) => {
1092
- if (_GameWindowManager._currentTickersSteps[tag2]) {
1093
- let steps = _GameWindowManager._currentTickersSteps[tag2];
1094
- if (steps.currentStepNumber + 1 < steps.steps.length) {
1095
- steps.currentStepNumber++;
1096
- _GameWindowManager._currentTickersSteps[tag2] = steps;
1097
- _GameWindowManager.runTickersSteps(tag2);
1098
- } else {
1099
- delete _GameWindowManager._currentTickersSteps[tag2];
1100
- }
1306
+ }
1307
+ static onEndOfTicker(canvasElementTags, ticker, canvasElementTagsToDelete, tickerId) {
1308
+ let tickerData = _GameWindowManager._currentTickers[tickerId];
1309
+ _GameWindowManager.removeAssociationBetweenTickerCanvasElement(canvasElementTags, ticker);
1310
+ _GameWindowManager.removeCanvasElement(canvasElementTagsToDelete);
1311
+ if (tickerData) {
1312
+ _GameWindowManager.removeTicker(tickerId);
1313
+ if (tickerData.duration == void 0 && tickerData.createdByTicketStepsId) {
1314
+ _GameWindowManager.nextTickerStep(tickerData.createdByTicketStepsId);
1101
1315
  }
1102
- });
1316
+ }
1103
1317
  }
1104
1318
  /**
1105
1319
  * Remove a connection between a canvas element and a ticker.
1106
1320
  * And remove the ticker if there is no canvas element connected to it.
1107
- * @param tag The tag of the canvas element that will use the ticker.
1321
+ * @param tags The tag of the canvas element that will use the ticker.
1108
1322
  * @param ticker The ticker class to be removed.
1109
1323
  * @example
1110
1324
  * ```typescript
1111
- * GameWindowManager.removeAssociationBetweenTickerCanvasElement("alien", TickerRotate)
1325
+ * GameWindowManager.removeAssociationBetweenTickerCanvasElement("alien", RotateTicker)
1112
1326
  * ```
1113
1327
  */
1114
- static removeAssociationBetweenTickerCanvasElement(tag, ticker) {
1115
- let tickerName;
1116
- if (ticker instanceof TickerBase) {
1117
- tickerName = ticker.constructor.name;
1328
+ static removeAssociationBetweenTickerCanvasElement(tags, ticker) {
1329
+ let tickerId;
1330
+ if (typeof ticker === "string") {
1331
+ tickerId = ticker;
1332
+ } else if (ticker instanceof TickerBase) {
1333
+ tickerId = ticker.id;
1118
1334
  } else {
1119
- tickerName = ticker.name;
1335
+ tickerId = ticker.prototype.id;
1120
1336
  }
1121
- if (typeof tag === "string") {
1122
- tag = [tag];
1337
+ if (typeof tags === "string") {
1338
+ tags = [tags];
1123
1339
  }
1124
- _GameWindowManager._currentTickers = _GameWindowManager._currentTickers.map((t) => {
1125
- if (t.className === tickerName) {
1126
- t.canvasElementTags = t.canvasElementTags.filter((e) => !tag.includes(e));
1340
+ for (let id in _GameWindowManager._currentTickers) {
1341
+ let ticker2 = _GameWindowManager._currentTickers[id];
1342
+ if (ticker2.id === tickerId) {
1343
+ _GameWindowManager._currentTickers[id].canvasElementTags = ticker2.canvasElementTags.filter((e) => !tags.includes(e));
1127
1344
  }
1128
- return t;
1129
- });
1130
- for (let timeout in _GameWindowManager.currentTickersTimeouts) {
1131
- let t = _GameWindowManager.currentTickersTimeouts[timeout].tags.filter((e) => !tag.includes(e));
1132
- if (t.length == 0) {
1133
- _GameWindowManager.removeTickerTimeoutInfo(timeout);
1134
- } else {
1135
- _GameWindowManager.currentTickersTimeouts[timeout].tags = t;
1345
+ }
1346
+ for (let timeout in _GameWindowManager._currentTickersTimeouts) {
1347
+ let TickerTimeout = _GameWindowManager._currentTickersTimeouts[timeout];
1348
+ if (TickerTimeout.ticker === tickerId && TickerTimeout.canBeDeletedBeforeEnd) {
1349
+ _GameWindowManager._currentTickersTimeouts[timeout].tags = TickerTimeout.tags.filter((t) => !tags.includes(t));
1136
1350
  }
1137
1351
  }
1138
1352
  _GameWindowManager.removeTickersWithoutAssociatedCanvasElement();
@@ -1141,49 +1355,117 @@ var _GameWindowManager = class _GameWindowManager {
1141
1355
  * Remove all tickers that are not connected to any existing canvas element.
1142
1356
  */
1143
1357
  static removeTickersWithoutAssociatedCanvasElement() {
1144
- let currentTickers = _GameWindowManager._currentTickers.map((t) => {
1145
- t.canvasElementTags = t.canvasElementTags.filter((e) => _GameWindowManager._children[e]);
1146
- return t;
1147
- });
1148
- currentTickers.filter((t) => t.canvasElementTags.length === 0).forEach((t) => {
1149
- _GameWindowManager.app.ticker.remove(t.fn);
1150
- });
1151
- currentTickers = currentTickers.filter((t) => t.canvasElementTags.length > 0);
1152
- _GameWindowManager._currentTickers = currentTickers;
1358
+ for (let id in _GameWindowManager._currentTickers) {
1359
+ let ticker = _GameWindowManager._currentTickers[id];
1360
+ ticker.canvasElementTags = ticker.canvasElementTags.filter((e) => _GameWindowManager._children[e]);
1361
+ if (ticker.canvasElementTags.length === 0) {
1362
+ _GameWindowManager.removeTicker(id);
1363
+ }
1364
+ }
1153
1365
  for (let tag in _GameWindowManager._currentTickersSteps) {
1154
1366
  if (_GameWindowManager._children[tag] === void 0) {
1155
1367
  delete _GameWindowManager._currentTickersSteps[tag];
1156
1368
  }
1157
1369
  }
1370
+ Object.entries(_GameWindowManager._currentTickersTimeouts).forEach(([timeout, { tags }]) => {
1371
+ if (tags.length === 0) {
1372
+ _GameWindowManager.removeTickerTimeout(timeout);
1373
+ }
1374
+ });
1158
1375
  }
1159
- static addTickerTimeoutInfo(tags, ticker, timeout) {
1376
+ static addTickerTimeoutInfo(tags, ticker, timeout, canBeDeletedBeforeEnd) {
1160
1377
  if (typeof tags === "string") {
1161
1378
  tags = [tags];
1162
1379
  }
1163
- _GameWindowManager.currentTickersTimeouts[timeout] = {
1380
+ _GameWindowManager._currentTickersTimeouts[timeout] = {
1164
1381
  tags,
1165
- ticker
1382
+ ticker,
1383
+ canBeDeletedBeforeEnd
1166
1384
  };
1167
1385
  }
1168
1386
  static removeTickerTimeoutInfo(timeout) {
1169
1387
  if (typeof timeout !== "string") {
1170
1388
  timeout = timeout.toString();
1171
1389
  }
1172
- if (_GameWindowManager.currentTickersTimeouts[timeout]) {
1173
- delete _GameWindowManager.currentTickersTimeouts[timeout];
1390
+ if (_GameWindowManager._currentTickersTimeouts[timeout]) {
1391
+ delete _GameWindowManager._currentTickersTimeouts[timeout];
1392
+ }
1393
+ }
1394
+ static removeTickerTimeout(timeout) {
1395
+ if (typeof timeout !== "string") {
1396
+ timeout = timeout.toString();
1397
+ }
1398
+ clearTimeout(Number(timeout));
1399
+ _GameWindowManager.removeTickerTimeoutInfo(timeout);
1400
+ }
1401
+ static removeTickerTimeoutsByTag(tag, checkCanBeDeletedBeforeEnd) {
1402
+ for (let timeout in _GameWindowManager._currentTickersTimeouts) {
1403
+ let tagsWithoutTagToRemove = _GameWindowManager._currentTickersTimeouts[timeout].tags.filter((t) => t !== tag);
1404
+ if (tagsWithoutTagToRemove.length === 0) {
1405
+ let canBeDeletedBeforeEnd = _GameWindowManager._currentTickersTimeouts[timeout].canBeDeletedBeforeEnd;
1406
+ if (!checkCanBeDeletedBeforeEnd || canBeDeletedBeforeEnd) {
1407
+ _GameWindowManager.removeTickerTimeout(timeout);
1408
+ }
1409
+ } else {
1410
+ _GameWindowManager._currentTickersTimeouts[timeout].tags = tagsWithoutTagToRemove;
1411
+ }
1174
1412
  }
1175
1413
  }
1176
1414
  /**
1177
1415
  * Remove all tickers from the canvas.
1178
1416
  */
1179
- static removeTickers() {
1417
+ static removeAllTickers() {
1180
1418
  _GameWindowManager._currentTickersSteps = {};
1181
- _GameWindowManager._currentTickers.forEach((t) => {
1182
- _GameWindowManager.app.ticker.remove(t.fn);
1419
+ Object.keys(_GameWindowManager._currentTickers).forEach((id) => {
1420
+ _GameWindowManager.removeTicker(id);
1183
1421
  });
1184
- _GameWindowManager._currentTickers = [];
1185
- for (let timeout in _GameWindowManager.currentTickersTimeouts) {
1186
- _GameWindowManager.removeTickerTimeoutInfo(timeout);
1422
+ _GameWindowManager._currentTickers = {};
1423
+ for (let timeout in _GameWindowManager._currentTickersTimeouts) {
1424
+ _GameWindowManager.removeTickerTimeout(timeout);
1425
+ }
1426
+ }
1427
+ /**
1428
+ * Remove all tickers from a canvas element.
1429
+ * @param tag The tag of the canvas element that will use the ticker.
1430
+ */
1431
+ static removeTickerByCanvasElement(tag) {
1432
+ if (typeof tag === "string") {
1433
+ tag = [tag];
1434
+ }
1435
+ tag.forEach((tag2) => {
1436
+ for (let id in _GameWindowManager._currentTickers) {
1437
+ let ticker = _GameWindowManager._currentTickers[id];
1438
+ if (ticker.canvasElementTags.includes(tag2)) {
1439
+ _GameWindowManager.removeTicker(id);
1440
+ }
1441
+ }
1442
+ if (_GameWindowManager._currentTickersSteps[tag2]) {
1443
+ delete _GameWindowManager._currentTickersSteps[tag2];
1444
+ }
1445
+ _GameWindowManager.removeTickerTimeoutsByTag(tag2, false);
1446
+ delete _GameWindowManager._currentTickersSteps[tag2];
1447
+ });
1448
+ }
1449
+ static removeTickerStepByCanvasElement(tag) {
1450
+ if (_GameWindowManager._currentTickersSteps[tag]) {
1451
+ delete _GameWindowManager._currentTickersSteps[tag];
1452
+ }
1453
+ for (let id in _GameWindowManager._currentTickers) {
1454
+ let ticker = _GameWindowManager._currentTickers[id];
1455
+ if (ticker.createdByTicketStepsId === tag) {
1456
+ _GameWindowManager.removeTicker(id);
1457
+ }
1458
+ }
1459
+ }
1460
+ static removeTicker(tickerId) {
1461
+ let ticker = _GameWindowManager._currentTickers[tickerId];
1462
+ if (ticker) {
1463
+ if (ticker.args.hasOwnProperty(tagToRemoveAfter)) {
1464
+ let tagToRemoveAfter2 = ticker.args.tagToRemoveAfter;
1465
+ _GameWindowManager.removeCanvasElement(tagToRemoveAfter2);
1466
+ }
1467
+ _GameWindowManager.app.ticker.remove(ticker.fn);
1468
+ delete _GameWindowManager._currentTickers[tickerId];
1187
1469
  }
1188
1470
  }
1189
1471
  /**
@@ -1210,7 +1492,8 @@ var _GameWindowManager = class _GameWindowManager {
1210
1492
  currentElements[tag] = exportCanvasElement(_GameWindowManager._children[tag]);
1211
1493
  }
1212
1494
  return {
1213
- currentTickers: createExportableElement(_GameWindowManager._currentTickers),
1495
+ currentTickers: createExportableElement(_GameWindowManager.currentTickersWithoutCreatedBySteps),
1496
+ currentTickersSteps: createExportableElement(_GameWindowManager._currentTickersSteps),
1214
1497
  currentElements: createExportableElement(currentElements),
1215
1498
  childrenTagsOrder: createExportableElement(_GameWindowManager.childrenTagsOrder)
1216
1499
  };
@@ -1245,15 +1528,20 @@ var _GameWindowManager = class _GameWindowManager {
1245
1528
  }
1246
1529
  if (data.hasOwnProperty("currentTickers")) {
1247
1530
  let currentTickers = data["currentTickers"];
1248
- currentTickers.forEach((t) => {
1531
+ for (let id in currentTickers) {
1532
+ let t = currentTickers[id];
1249
1533
  let tags = t.canvasElementTags;
1250
- let ticker = geTickerInstanceByClassName(t.className, t.args, t.duration, t.priority);
1534
+ let ticker = geTickerInstanceById(t.id, t.args, t.duration, t.priority);
1251
1535
  if (ticker) {
1252
1536
  _GameWindowManager.addTicker(tags, ticker);
1253
1537
  } else {
1254
- console.error(`[Pixi'VN] Ticker ${t.className} not found`);
1538
+ console.error(`[Pixi'VN] Ticker ${t.id} not found`);
1255
1539
  }
1256
- });
1540
+ }
1541
+ }
1542
+ if (data.hasOwnProperty("currentTickersSteps")) {
1543
+ let currentTickersSteps = data["currentTickersSteps"];
1544
+ _GameWindowManager.restoneTickersSteps(currentTickersSteps);
1257
1545
  }
1258
1546
  } catch (e) {
1259
1547
  console.error("[Pixi'VN] Error importing data", e);
@@ -1267,32 +1555,31 @@ _GameWindowManager._children = {};
1267
1555
  * The order of the children tags.
1268
1556
  */
1269
1557
  _GameWindowManager.childrenTagsOrder = [];
1270
- _GameWindowManager._currentTickers = [];
1558
+ _GameWindowManager._currentTickers = {};
1271
1559
  _GameWindowManager._currentTickersSteps = {};
1272
- _GameWindowManager.currentTickersTimeouts = {};
1560
+ _GameWindowManager._currentTickersTimeouts = {};
1273
1561
  var GameWindowManager = _GameWindowManager;
1274
1562
 
1275
- // src/classes/ticker/TickerFadeAlpha.ts
1276
- var TickerFadeAlpha = class extends TickerBase {
1277
- /**
1278
- * The method that will be called every frame to fade the alpha of the canvas element of the canvas.
1279
- * @param delta The delta time
1280
- * @param args The arguments that are passed to the ticker
1281
- * @param tags The tags of the canvas element that are connected to this ticker
1282
- */
1283
- fn(t, args, tags) {
1284
- let type = args.type === void 0 ? "hide" : args.type;
1285
- let speed = args.speed === void 0 ? 0.1 : args.speed;
1286
- let limit = args.limit === void 0 ? type === "hide" ? 0 : 1 : args.limit;
1287
- let removeElementAfter = args.tagToRemoveAfter || [];
1288
- if (typeof removeElementAfter === "string") {
1289
- removeElementAfter = [removeElementAfter];
1290
- }
1291
- if (type === "hide" && limit < 0) {
1292
- limit = 0;
1563
+ // src/classes/ticker/MoveTicker.ts
1564
+ var MoveTicker = class extends TickerBase {
1565
+ fn(ticker, args, tags, tickerId) {
1566
+ let xSpeed = 1;
1567
+ let ySpeed = 1;
1568
+ if (args.speed) {
1569
+ if (typeof args.speed === "number") {
1570
+ xSpeed = args.speed;
1571
+ ySpeed = args.speed;
1572
+ } else {
1573
+ xSpeed = args.speed.x;
1574
+ ySpeed = args.speed.y;
1575
+ }
1293
1576
  }
1294
- if (type === "show" && limit > 1) {
1295
- limit = 1;
1577
+ xSpeed /= 60;
1578
+ ySpeed /= 60;
1579
+ let destination = args.destination;
1580
+ let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
1581
+ if (typeof tagToRemoveAfter2 === "string") {
1582
+ tagToRemoveAfter2 = [tagToRemoveAfter2];
1296
1583
  }
1297
1584
  tags.filter((tag) => {
1298
1585
  var _a;
@@ -1306,23 +1593,35 @@ var TickerFadeAlpha = class extends TickerBase {
1306
1593
  }).forEach((tag) => {
1307
1594
  let element = GameWindowManager.getCanvasElement(tag);
1308
1595
  if (element && element instanceof Container) {
1309
- if (type === "show" && element.alpha < limit) {
1310
- element.alpha += speed * t.deltaTime;
1311
- } else if (type === "hide" && element.alpha > limit) {
1312
- element.alpha -= speed * t.deltaTime;
1313
- } else {
1314
- element.alpha = limit;
1315
- GameWindowManager.removeAssociationBetweenTickerCanvasElement(tag, this);
1316
- GameWindowManager.removeCanvasElement(removeElementAfter);
1596
+ let xDistance = destination.x - element.x > 0 ? 1 : -1;
1597
+ if (xDistance != 0) {
1598
+ element.x += xDistance * xSpeed * ticker.deltaTime;
1599
+ let newDistance = destination.x - element.x;
1600
+ if (xDistance < 0 && newDistance > 0 || xDistance > 0 && newDistance < 0) {
1601
+ element.x = destination.x;
1602
+ }
1603
+ }
1604
+ let yDistance = destination.y - element.y > 0 ? 1 : -1;
1605
+ if (yDistance != 0) {
1606
+ element.y += yDistance * ySpeed * ticker.deltaTime;
1607
+ let newDistance = destination.y - element.y;
1608
+ if (yDistance < 0 && newDistance > 0 || yDistance > 0 && newDistance < 0) {
1609
+ element.y = destination.y;
1610
+ }
1611
+ }
1612
+ if (element.x == destination.x && element.y == destination.y) {
1613
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
1317
1614
  }
1318
1615
  }
1319
1616
  });
1617
+ if (args.speedProgression)
1618
+ updateTickerProgression(args, "speed", args.speedProgression);
1320
1619
  }
1321
1620
  };
1322
- TickerFadeAlpha = __decorateClass([
1621
+ MoveTicker = __decorateClass([
1323
1622
  tickerDecorator()
1324
- ], TickerFadeAlpha);
1623
+ ], MoveTicker);
1325
1624
 
1326
- export { TickerFadeAlpha as default };
1625
+ export { MoveTicker as default };
1327
1626
  //# sourceMappingURL=out.js.map
1328
- //# sourceMappingURL=TickerFadeAlpha.mjs.map
1627
+ //# sourceMappingURL=MoveTicker.mjs.map