@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,5 +1,5 @@
1
1
  import 'deep-diff';
2
- import 'crypto-js/sha1';
2
+ import sha1 from 'crypto-js/sha1';
3
3
  import { Sprite, Container, Application, Text, Assets, Texture } from 'pixi.js';
4
4
 
5
5
  var __defProp = Object.defineProperty;
@@ -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,28 +507,28 @@ 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
  }
@@ -523,68 +541,66 @@ function tickerDecorator(name) {
523
541
  name = target.name;
524
542
  }
525
543
  if (registeredTickers[name]) {
526
- console.warn(`[Pixi'VN] Ticker ${name} already exists, it will be overwritten`);
544
+ console.info(`[Pixi'VN] Ticker ${name} already exists, it will be overwritten`);
527
545
  }
546
+ target.prototype.id = name;
528
547
  registeredTickers[name] = target;
529
548
  };
530
549
  }
531
- function geTickerInstanceByClassName(tickerName, args, duration, priority) {
550
+ function geTickerInstanceById(tickerId, args, duration, priority) {
532
551
  try {
533
- let ticker = registeredTickers[tickerName];
552
+ let ticker = registeredTickers[tickerId];
534
553
  if (!ticker) {
535
- console.error(`[Pixi'VN] Ticker ${tickerName} not found`);
554
+ console.error(`[Pixi'VN] Ticker ${tickerId} not found`);
536
555
  return;
537
556
  }
538
557
  return new ticker(args, duration, priority);
539
558
  } catch (e) {
540
- console.error(`[Pixi'VN] Error while getting Ticker ${tickerName}`, e);
559
+ console.error(`[Pixi'VN] Error while getting Ticker ${tickerId}`, e);
541
560
  return;
542
561
  }
543
562
  }
544
563
 
545
- // src/types/PauseType.ts
546
- var PauseValueType = "pause";
547
-
548
- // src/types/RepeatType.ts
549
- var Repeat = "repeat";
550
-
551
564
  // src/classes/ticker/TickerBase.ts
552
565
  var TickerBase = class {
553
566
  /**
554
567
  * @param args The arguments that you want to pass to the ticker.
555
- * @param duration The duration of the ticker. If is undefined, the ticker will be called every frame.
556
- * @param priority The priority of the ticker. If is undefined, the priority will be UPDATE_PRIORITY.NORMAL.
568
+ * @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
569
+ * @param priority The priority of the ticker. @default UPDATE_PRIORITY.NORMAL
557
570
  */
558
571
  constructor(args, duration, priority) {
572
+ /**
573
+ * Get the id of the ticker. This variable is used in the system to get the ticker by id, {@link geTickerInstanceById}
574
+ */
575
+ this.id = "ticker_id_not_set";
559
576
  this.args = args;
560
577
  this.duration = duration;
561
578
  this.priority = priority;
579
+ this.id = this.constructor.prototype.id;
562
580
  }
563
581
  /**
564
582
  * The method that will be called every frame.
565
583
  * This method should be overridden and you can use GameWindowManager.addCanvasElement() to get the canvas element of the canvas, and edit them.
566
- * @param t The ticker that is calling this method
567
- * @param args The arguments that you passed when you added the ticker
568
- * @param tags The tags of the canvas elements that are connected to this ticker
584
+ * @param _ticker The ticker that is calling this method
585
+ * @param _args The arguments that you passed when you added the ticker
586
+ * @param _tags The tags of the canvas elements that are connected to this ticker
587
+ * @param _tickerId The id of the ticker. You can use this to get the ticker from the {@link GameWindowManager.currentTickers}
569
588
  */
570
- fn(_t, _args, _tags) {
589
+ fn(_ticker, _args, _tags, _tickerId) {
571
590
  throw new Error("[Pixi'VN] The method TickerBase.fn() must be overridden");
572
591
  }
573
592
  };
574
- var TickerFadeAlpha = class extends TickerBase {
575
- /**
576
- * The method that will be called every frame to fade the alpha of the canvas element of the canvas.
577
- * @param delta The delta time
578
- * @param args The arguments that are passed to the ticker
579
- * @param tags The tags of the canvas element that are connected to this ticker
580
- */
581
- fn(t, args, tags) {
593
+
594
+ // src/classes/ticker/FadeAlphaTicker.ts
595
+ var FadeAlphaTicker = class extends TickerBase {
596
+ fn(ticker, args, tags, tickerId) {
582
597
  let type = args.type === void 0 ? "hide" : args.type;
583
- let speed = args.speed === void 0 ? 0.1 : args.speed;
598
+ let duration = args.duration === void 0 ? 1 : args.duration;
599
+ let speed = 1 / (duration * 60);
584
600
  let limit = args.limit === void 0 ? type === "hide" ? 0 : 1 : args.limit;
585
- let removeElementAfter = args.tagToRemoveAfter || [];
586
- if (typeof removeElementAfter === "string") {
587
- removeElementAfter = [removeElementAfter];
601
+ let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
602
+ if (typeof tagToRemoveAfter2 === "string") {
603
+ tagToRemoveAfter2 = [tagToRemoveAfter2];
588
604
  }
589
605
  if (type === "hide" && limit < 0) {
590
606
  limit = 0;
@@ -605,61 +621,88 @@ var TickerFadeAlpha = class extends TickerBase {
605
621
  let element = GameWindowManager.getCanvasElement(tag);
606
622
  if (element && element instanceof Container) {
607
623
  if (type === "show" && element.alpha < limit) {
608
- element.alpha += speed * t.deltaTime;
624
+ element.alpha += speed * ticker.deltaTime;
609
625
  } else if (type === "hide" && element.alpha > limit) {
610
- element.alpha -= speed * t.deltaTime;
611
- } else {
626
+ element.alpha -= speed * ticker.deltaTime;
627
+ }
628
+ if (type === "show" && element.alpha >= limit) {
612
629
  element.alpha = limit;
613
- GameWindowManager.removeAssociationBetweenTickerCanvasElement(tag, this);
614
- GameWindowManager.removeCanvasElement(removeElementAfter);
630
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
631
+ } else if (type === "hide" && element.alpha <= limit) {
632
+ element.alpha = limit;
633
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
615
634
  }
616
635
  }
617
636
  });
618
637
  }
619
638
  };
620
- TickerFadeAlpha = __decorateClass([
639
+ FadeAlphaTicker = __decorateClass([
621
640
  tickerDecorator()
622
- ], TickerFadeAlpha);
641
+ ], FadeAlphaTicker);
623
642
 
624
643
  // src/functions/TickerUtility.ts
625
644
  function updateTickerProgression(args, propertyName, progression) {
626
- if (args.hasOwnProperty(propertyName) && typeof args[propertyName] !== "number") {
645
+ if (args[propertyName] === void 0 || !progression || args[propertyName] === progression.limit) {
627
646
  return;
628
647
  }
629
- if (args[propertyName] !== void 0 && progression && args[propertyName] !== progression.limit) {
648
+ if (typeof args[propertyName] === "number") {
630
649
  if (progression.type === "linear") {
631
- args[propertyName] += progression.amt;
632
- if (progression.limit !== void 0) {
633
- if (args[propertyName] > progression.limit && progression.amt > 0) {
634
- args[propertyName] = progression.limit;
635
- } else if (args[propertyName] < progression.limit && progression.amt < 0) {
636
- args[propertyName] = progression.limit;
637
- }
638
- }
650
+ args[propertyName] = getLinearProgression(args[propertyName], progression);
639
651
  } else if (progression.type === "exponential") {
640
- args[propertyName] += args[propertyName] * progression.percentage;
641
- if (progression.limit !== void 0) {
642
- if (args[propertyName] > progression.limit && progression.percentage > 0) {
643
- args[propertyName] = progression.limit;
644
- } else if (args[propertyName] < progression.limit && progression.percentage < 0) {
645
- args[propertyName] = progression.limit;
646
- }
647
- }
652
+ args[propertyName] = getExponentialProgression(args[propertyName], progression);
653
+ }
654
+ } 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") {
655
+ if (progression.type === "linear") {
656
+ args[propertyName].x = getLinearProgression(args[propertyName].x, progression);
657
+ args[propertyName].y = getLinearProgression(args[propertyName].y, progression);
658
+ } else if (progression.type === "exponential") {
659
+ args[propertyName].x = getExponentialProgression(args[propertyName].x, progression);
660
+ args[propertyName].y = getExponentialProgression(args[propertyName].y, progression);
648
661
  }
649
662
  }
650
663
  }
664
+ function getLinearProgression(number, progression) {
665
+ if (progression.limit !== void 0) {
666
+ if (number > progression.limit && progression.amt > 0) {
667
+ return progression.limit;
668
+ } else if (number < progression.limit && progression.amt < 0) {
669
+ return progression.limit;
670
+ }
671
+ }
672
+ return number + progression.amt / 60;
673
+ }
674
+ function getExponentialProgression(number, progression) {
675
+ if (progression.limit !== void 0) {
676
+ if (number > progression.limit && progression.percentage > 0) {
677
+ return progression.limit;
678
+ } else if (number < progression.limit && progression.percentage < 0) {
679
+ return progression.limit;
680
+ }
681
+ }
682
+ return number + number * progression.percentage;
683
+ }
651
684
 
652
- // src/classes/ticker/TickerMove.ts
653
- var TickerMove = class extends TickerBase {
654
- /**
655
- * The method that will be called every frame to move the canvas element of the canvas.
656
- * @param t The ticker that is calling this method
657
- * @param args The arguments that are passed to the ticker
658
- * @param tags The tags of the canvas element that are connected to this ticker
659
- */
660
- fn(t, args, tags) {
661
- let speed = args.speed === void 0 ? 0.1 : args.speed;
685
+ // src/classes/ticker/MoveTicker.ts
686
+ var MoveTicker = class extends TickerBase {
687
+ fn(ticker, args, tags, tickerId) {
688
+ let xSpeed = 1;
689
+ let ySpeed = 1;
690
+ if (args.speed) {
691
+ if (typeof args.speed === "number") {
692
+ xSpeed = args.speed;
693
+ ySpeed = args.speed;
694
+ } else {
695
+ xSpeed = args.speed.x;
696
+ ySpeed = args.speed.y;
697
+ }
698
+ }
699
+ xSpeed /= 60;
700
+ ySpeed /= 60;
662
701
  let destination = args.destination;
702
+ let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
703
+ if (typeof tagToRemoveAfter2 === "string") {
704
+ tagToRemoveAfter2 = [tagToRemoveAfter2];
705
+ }
663
706
  tags.filter((tag) => {
664
707
  var _a;
665
708
  let element = GameWindowManager.getCanvasElement(tag);
@@ -672,41 +715,42 @@ var TickerMove = class extends TickerBase {
672
715
  }).forEach((tag) => {
673
716
  let element = GameWindowManager.getCanvasElement(tag);
674
717
  if (element && element instanceof Container) {
675
- let xDistance = destination.x - element.x;
718
+ let xDistance = destination.x - element.x > 0 ? 1 : -1;
676
719
  if (xDistance != 0) {
677
- element.x += xDistance / speed * t.deltaTime;
720
+ element.x += xDistance * xSpeed * ticker.deltaTime;
678
721
  let newDistance = destination.x - element.x;
679
722
  if (xDistance < 0 && newDistance > 0 || xDistance > 0 && newDistance < 0) {
680
723
  element.x = destination.x;
681
724
  }
682
725
  }
683
- let yDistance = destination.y - element.y;
726
+ let yDistance = destination.y - element.y > 0 ? 1 : -1;
684
727
  if (yDistance != 0) {
685
- element.y += yDistance / speed * t.deltaTime;
728
+ element.y += yDistance * ySpeed * ticker.deltaTime;
686
729
  let newDistance = destination.y - element.y;
687
730
  if (yDistance < 0 && newDistance > 0 || yDistance > 0 && newDistance < 0) {
688
731
  element.y = destination.y;
689
732
  }
690
733
  }
734
+ if (element.x == destination.x && element.y == destination.y) {
735
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
736
+ }
691
737
  }
692
738
  });
693
739
  if (args.speedProgression)
694
740
  updateTickerProgression(args, "speed", args.speedProgression);
695
741
  }
696
742
  };
697
- TickerMove = __decorateClass([
743
+ MoveTicker = __decorateClass([
698
744
  tickerDecorator()
699
- ], TickerMove);
700
- var TickerRotate = class extends TickerBase {
701
- /**
702
- * The method that will be called every frame to rotate the canvas element of the canvas.
703
- * @param delta The delta time
704
- * @param args The arguments that are passed to the ticker
705
- * @param tags The tags of the canvas element that are connected to this ticker
706
- */
707
- fn(t, args, tags) {
708
- let speed = args.speed === void 0 ? 0.1 : args.speed;
745
+ ], MoveTicker);
746
+ var RotateTicker = class extends TickerBase {
747
+ fn(ticker, args, tags, tickerId) {
748
+ let speed = (args.speed === void 0 ? 1 : args.speed) / 60;
709
749
  let clockwise = args.clockwise === void 0 ? true : args.clockwise;
750
+ let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
751
+ if (typeof tagToRemoveAfter2 === "string") {
752
+ tagToRemoveAfter2 = [tagToRemoveAfter2];
753
+ }
710
754
  tags.filter((tag) => {
711
755
  var _a;
712
756
  let element = GameWindowManager.getCanvasElement(tag);
@@ -720,18 +764,114 @@ var TickerRotate = class extends TickerBase {
720
764
  let element = GameWindowManager.getCanvasElement(tag);
721
765
  if (element && element instanceof Container) {
722
766
  if (clockwise)
723
- element.rotation += speed * t.deltaTime;
767
+ element.rotation += speed * ticker.deltaTime;
724
768
  else
725
- element.rotation -= speed * t.deltaTime;
769
+ element.rotation -= speed * ticker.deltaTime;
770
+ if (speed < 1e-5 && !(args.speedProgression && args.speedProgression.type == "linear" && args.speedProgression.amt != 0)) {
771
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
772
+ }
726
773
  }
727
774
  });
728
775
  if (args.speedProgression)
729
776
  updateTickerProgression(args, "speed", args.speedProgression);
730
777
  }
731
778
  };
732
- TickerRotate = __decorateClass([
779
+ RotateTicker = __decorateClass([
733
780
  tickerDecorator()
734
- ], TickerRotate);
781
+ ], RotateTicker);
782
+ var ZoomTicker = class extends TickerBase {
783
+ fn(ticker, args, tags, tickerId) {
784
+ let xSpeed = 0.1;
785
+ let ySpeed = 0.1;
786
+ if (args.speed) {
787
+ if (typeof args.speed === "number") {
788
+ xSpeed = args.speed;
789
+ ySpeed = args.speed;
790
+ } else {
791
+ xSpeed = args.speed.x;
792
+ ySpeed = args.speed.y;
793
+ }
794
+ }
795
+ xSpeed /= 60;
796
+ ySpeed /= 60;
797
+ let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
798
+ if (typeof tagToRemoveAfter2 === "string") {
799
+ tagToRemoveAfter2 = [tagToRemoveAfter2];
800
+ }
801
+ let type = args.type || "zoom";
802
+ let xLimit = type === "zoom" ? Infinity : 0;
803
+ let yLimit = type === "zoom" ? Infinity : 0;
804
+ if (args.limit) {
805
+ if (typeof args.limit === "number") {
806
+ xLimit = args.limit;
807
+ yLimit = args.limit;
808
+ } else {
809
+ xLimit = args.limit.x;
810
+ yLimit = args.limit.y;
811
+ }
812
+ }
813
+ tags.filter((tag) => {
814
+ var _a;
815
+ let element = GameWindowManager.getCanvasElement(tag);
816
+ if (args.startOnlyIfHaveTexture) {
817
+ if (element && element instanceof Sprite && ((_a = element.texture) == null ? void 0 : _a.label) == "EMPTY") {
818
+ return false;
819
+ }
820
+ }
821
+ return true;
822
+ }).forEach((tag) => {
823
+ let element = GameWindowManager.getCanvasElement(tag);
824
+ if (element && element instanceof Container) {
825
+ if (type === "zoom" && (element.scale.x < xLimit || element.scale.y < yLimit)) {
826
+ element.scale.x += xSpeed * ticker.deltaTime;
827
+ element.scale.y += ySpeed * ticker.deltaTime;
828
+ } else if (type === "unzoom" && (element.scale.x > xLimit || element.scale.y > yLimit)) {
829
+ element.scale.x -= xSpeed * ticker.deltaTime;
830
+ element.scale.y -= ySpeed * ticker.deltaTime;
831
+ }
832
+ if (type === "zoom") {
833
+ if (element.scale.x > xLimit) {
834
+ element.scale.x = xLimit;
835
+ }
836
+ if (element.scale.y > yLimit) {
837
+ element.scale.y = yLimit;
838
+ }
839
+ if (element.scale.x >= xLimit && element.scale.y >= yLimit) {
840
+ element.scale.x = xLimit;
841
+ element.scale.y = yLimit;
842
+ this.onEndOfTicker(tag, tickerId, element, tagToRemoveAfter2);
843
+ }
844
+ } else if (type === "unzoom") {
845
+ if (element.scale.x < xLimit) {
846
+ element.scale.x = xLimit;
847
+ }
848
+ if (element.scale.y < yLimit) {
849
+ element.scale.y = yLimit;
850
+ }
851
+ if (element.scale.x <= xLimit && element.scale.y <= yLimit) {
852
+ element.scale.x = xLimit;
853
+ element.scale.y = yLimit;
854
+ this.onEndOfTicker(tag, tickerId, element, tagToRemoveAfter2);
855
+ }
856
+ }
857
+ if (xSpeed < 1e-5 && ySpeed < 1e-5 && !(args.speedProgression && args.speedProgression.type == "linear" && args.speedProgression.amt != 0)) {
858
+ this.onEndOfTicker(tag, tickerId, element, tagToRemoveAfter2);
859
+ }
860
+ }
861
+ });
862
+ if (args.speedProgression)
863
+ updateTickerProgression(args, "speed", args.speedProgression);
864
+ }
865
+ onEndOfTicker(tag, tickerId, _element, tagToRemoveAfter2) {
866
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
867
+ }
868
+ };
869
+ ZoomTicker = __decorateClass([
870
+ tickerDecorator()
871
+ ], ZoomTicker);
872
+
873
+ // src/constants.ts
874
+ var Repeat = "repeat";
735
875
 
736
876
  // src/functions/ExportUtility.ts
737
877
  function createExportableElement(element) {
@@ -840,6 +980,9 @@ function asciiArtLog() {
840
980
  `);
841
981
  }
842
982
 
983
+ // src/types/ticker/TagToRemoveAfterType.ts
984
+ var tagToRemoveAfter = "tagToRemoveAfter";
985
+
843
986
  // src/managers/WindowManager.ts
844
987
  var _GameWindowManager = class _GameWindowManager {
845
988
  constructor() {
@@ -1022,25 +1165,25 @@ var _GameWindowManager = class _GameWindowManager {
1022
1165
  /**
1023
1166
  * Remove a canvas element from the canvas.
1024
1167
  * And remove all tickers that are not connected to any canvas element.
1025
- * @param tag The tag of the canvas element to be removed.
1168
+ * @param tags The tag of the canvas element to be removed.
1026
1169
  * @returns
1027
1170
  * @example
1028
1171
  * ```typescript
1029
1172
  * GameWindowManager.removeCanvasElement("bunny");
1030
1173
  * ```
1031
1174
  */
1032
- static removeCanvasElement(tag) {
1033
- if (typeof tag === "string") {
1034
- tag = [tag];
1175
+ static removeCanvasElement(tags) {
1176
+ if (typeof tags === "string") {
1177
+ tags = [tags];
1035
1178
  }
1036
- tag.forEach((t) => {
1037
- if (_GameWindowManager._children[t]) {
1038
- _GameWindowManager.app.stage.removeChild(_GameWindowManager._children[t]);
1039
- delete _GameWindowManager._children[t];
1179
+ tags.forEach((tag) => {
1180
+ if (_GameWindowManager._children[tag]) {
1181
+ _GameWindowManager.app.stage.removeChild(_GameWindowManager._children[tag]);
1182
+ delete _GameWindowManager._children[tag];
1183
+ _GameWindowManager.removeTickerByCanvasElement(tag);
1040
1184
  }
1041
1185
  });
1042
- _GameWindowManager.removeTickersWithoutAssociatedCanvasElement();
1043
- _GameWindowManager.childrenTagsOrder = _GameWindowManager.childrenTagsOrder.filter((t) => !tag.includes(t));
1186
+ _GameWindowManager.childrenTagsOrder = _GameWindowManager.childrenTagsOrder.filter((t) => !tags.includes(t));
1044
1187
  }
1045
1188
  /**
1046
1189
  * Get a canvas element by the tag.
@@ -1070,18 +1213,43 @@ var _GameWindowManager = class _GameWindowManager {
1070
1213
  _GameWindowManager.app.stage.removeChildren();
1071
1214
  _GameWindowManager._children = {};
1072
1215
  _GameWindowManager.childrenTagsOrder = [];
1073
- _GameWindowManager.removeTickers();
1216
+ _GameWindowManager.removeAllTickers();
1074
1217
  }
1075
1218
  /**
1076
1219
  * Edit the tag of a canvas element.
1077
1220
  * @param oldTag The old tag of the canvas element.
1078
1221
  * @param newTag The new tag of the canvas element.
1079
1222
  */
1080
- static editTagCanvasElement(oldTag, newTag) {
1223
+ static editCanvasElementTag(oldTag, newTag) {
1081
1224
  if (_GameWindowManager._children[oldTag]) {
1082
1225
  _GameWindowManager._children[newTag] = _GameWindowManager._children[oldTag];
1083
1226
  delete _GameWindowManager._children[oldTag];
1084
1227
  }
1228
+ if (_GameWindowManager._currentTickersSteps[oldTag]) {
1229
+ _GameWindowManager._currentTickersSteps[newTag] = _GameWindowManager._currentTickersSteps[oldTag];
1230
+ delete _GameWindowManager._currentTickersSteps[oldTag];
1231
+ }
1232
+ for (let id in _GameWindowManager._currentTickers) {
1233
+ let ticker = _GameWindowManager._currentTickers[id];
1234
+ if (ticker.canvasElementTags.includes(oldTag)) {
1235
+ ticker.canvasElementTags = ticker.canvasElementTags.map((t) => t === oldTag ? newTag : t);
1236
+ if (ticker.args.hasOwnProperty(tagToRemoveAfter)) {
1237
+ let tagToRemoveAfter2 = ticker.args.tagToRemoveAfter;
1238
+ if (typeof tagToRemoveAfter2 === "string") {
1239
+ tagToRemoveAfter2 = [tagToRemoveAfter2];
1240
+ }
1241
+ if (Array.isArray(tagToRemoveAfter2)) {
1242
+ ticker.args.tagToRemoveAfter = tagToRemoveAfter2.map((t) => t === oldTag ? newTag : t);
1243
+ }
1244
+ }
1245
+ }
1246
+ }
1247
+ for (let timeout in _GameWindowManager._currentTickersTimeouts) {
1248
+ let TickerTimeout = _GameWindowManager._currentTickersTimeouts[timeout];
1249
+ if (TickerTimeout.tags.includes(oldTag)) {
1250
+ TickerTimeout.tags = TickerTimeout.tags.map((t) => t === oldTag ? newTag : t);
1251
+ }
1252
+ }
1085
1253
  }
1086
1254
  /** Edit Tickers Methods */
1087
1255
  /**
@@ -1090,106 +1258,127 @@ var _GameWindowManager = class _GameWindowManager {
1090
1258
  static get currentTickers() {
1091
1259
  return _GameWindowManager._currentTickers;
1092
1260
  }
1261
+ static get currentTickersList() {
1262
+ return Object.values(_GameWindowManager._currentTickers);
1263
+ }
1264
+ static get currentTickersWithoutCreatedBySteps() {
1265
+ return Object.fromEntries(Object.entries(_GameWindowManager._currentTickers).filter(([_, ticker]) => !ticker.createdByTicketStepsId));
1266
+ }
1093
1267
  /**
1094
1268
  * The steps of the tickers
1095
1269
  */
1096
1270
  static get currentTickersSteps() {
1097
1271
  return _GameWindowManager._currentTickersSteps;
1098
1272
  }
1273
+ static generateTickerId(tickerData) {
1274
+ try {
1275
+ return sha1(JSON.stringify(tickerData)).toString() + "_" + Math.random().toString(36).substring(7);
1276
+ } catch (e) {
1277
+ throw new Error(`[Pixi'VN] Error to generate ticker id: ${e}`);
1278
+ }
1279
+ }
1099
1280
  /**
1100
- * Run a ticker.
1281
+ * Run a ticker. You can run multiple addTicker with the same tag and different tickerClasses.
1282
+ * If you run a ticker with the same tag and tickerClass, the old ticker will be removed.
1283
+ * If already exists a sequence of tickers with the same tag, it will be removed.
1101
1284
  * @param canvasEslementTag The tag of the canvas element that will use the ticker.
1102
1285
  * @param ticker The ticker class to be run.
1103
1286
  * @param args The arguments to be used in the ticker.
1104
- * @param duration The time to be used in the ticker. This number is in milliseconds. If it is undefined, the ticker will run forever.
1287
+ * @param duration The time to be used in the ticker. This number is in seconds. If it is undefined, the ticker will run forever.
1105
1288
  * @param priority The priority to be used in the ticker.
1106
1289
  * @returns
1107
1290
  * @example
1108
1291
  * ```typescript
1109
- * GameWindowManager.addTicker("alien", new TickerRotate({ speed: 0.2 }))
1292
+ * GameWindowManager.addTicker("alien", new RotateTicker({ speed: 0.2 }))
1110
1293
  * ```
1111
1294
  */
1112
1295
  static addTicker(canvasElementTag, ticker) {
1113
- let tickerName = ticker.constructor.name;
1296
+ let tickerId = ticker.id;
1114
1297
  if (typeof canvasElementTag === "string") {
1115
1298
  canvasElementTag = [canvasElementTag];
1116
1299
  }
1117
- let t = geTickerInstanceByClassName(tickerName, ticker.args, ticker.duration, ticker.priority);
1118
- if (!t) {
1119
- console.error(`[Pixi'VN] Ticker ${tickerName} not found`);
1300
+ if (!geTickerInstanceById(tickerId, ticker.args, ticker.duration, ticker.priority)) {
1301
+ console.error(`[Pixi'VN] Ticker ${tickerId} not found`);
1120
1302
  return;
1121
1303
  }
1122
- _GameWindowManager.removeAssociationBetweenTickerCanvasElement(canvasElementTag, ticker);
1123
1304
  let tickerHistory = {
1124
1305
  fn: () => {
1125
1306
  },
1126
- className: tickerName,
1127
- args: ticker.args,
1307
+ id: tickerId,
1308
+ args: createExportableElement(ticker.args),
1128
1309
  canvasElementTags: canvasElementTag,
1129
1310
  priority: ticker.priority,
1130
1311
  duration: ticker.duration
1131
1312
  };
1132
- _GameWindowManager.pushTicker(tickerHistory, t);
1133
- _GameWindowManager.removeTickersWithoutAssociatedCanvasElement();
1313
+ let id = _GameWindowManager.generateTickerId(tickerHistory);
1314
+ _GameWindowManager.pushTicker(id, tickerHistory, ticker);
1134
1315
  if (ticker.duration) {
1135
1316
  let timeout = setTimeout(() => {
1136
1317
  _GameWindowManager.removeTickerTimeoutInfo(timeout);
1137
- _GameWindowManager.nextTickerStep(canvasElementTag);
1138
- }, ticker.duration);
1139
- _GameWindowManager.addTickerTimeoutInfo(canvasElementTag, tickerName, timeout.toString());
1318
+ let tickerTimeoutInfo = _GameWindowManager._currentTickersTimeouts[timeout.toString()];
1319
+ if (tickerTimeoutInfo) {
1320
+ _GameWindowManager.removeTicker(id);
1321
+ }
1322
+ }, ticker.duration * 1e3);
1323
+ _GameWindowManager.addTickerTimeoutInfo(canvasElementTag, tickerId, timeout.toString(), true);
1140
1324
  }
1141
1325
  }
1142
- static pushTicker(tickerData, ticker) {
1143
- _GameWindowManager.removeAssociationBetweenTickerCanvasElement(tickerData.canvasElementTags, tickerData);
1144
- _GameWindowManager._currentTickers.push(tickerData);
1326
+ static pushTicker(id, tickerData, ticker) {
1327
+ _GameWindowManager.removeAssociationBetweenTickerCanvasElement(tickerData.canvasElementTags, ticker);
1328
+ _GameWindowManager._currentTickers[id] = tickerData;
1145
1329
  tickerData.fn = (t) => {
1146
- ticker == null ? void 0 : ticker.fn(t, tickerData.args, tickerData.canvasElementTags);
1330
+ let data = _GameWindowManager._currentTickers[id];
1331
+ if (data) {
1332
+ ticker == null ? void 0 : ticker.fn(t, data.args, data.canvasElementTags, id);
1333
+ }
1147
1334
  };
1148
1335
  _GameWindowManager.app.ticker.add(tickerData.fn, void 0, tickerData.priority);
1149
1336
  }
1150
1337
  /**
1151
- * Run a sequence of tickers.
1338
+ * Run a sequence of tickers. If exists a ticker steps with the same tag, it will be removed.
1152
1339
  * @param tag The tag of canvas element that will use the tickers.
1153
1340
  * @param steps The steps of the tickers.
1341
+ * @param currentStepNumber The current step number. It is used to continue the sequence of tickers.
1154
1342
  * @returns
1155
1343
  * @example
1156
1344
  * ```typescript
1157
1345
  * GameWindowManager.addTickersSteps("alien", [
1158
- * new TickerRotate({ speed: 0.1, clockwise: true }, 2000),
1159
- * Pause(500),
1160
- * new TickerRotate({ speed: 0.2, clockwise: false }, 2000),
1346
+ * new RotateTicker({ speed: 0.1, clockwise: true }, 2), // 2 seconds
1347
+ * Pause(1), // 1 second
1348
+ * new RotateTicker({ speed: 0.2, clockwise: false }, 2),
1161
1349
  * Repeat,
1162
1350
  * ])
1163
1351
  * ```
1164
1352
  */
1165
- static addTickersSteps(tag, steps) {
1353
+ static addTickersSteps(tag, steps, currentStepNumber = 0) {
1166
1354
  if (steps.length == 0) {
1167
1355
  console.warn("[Pixi'VN] The steps of the tickers is empty");
1168
1356
  return;
1169
1357
  }
1170
- let alredyExists = _GameWindowManager._currentTickersSteps[tag] !== void 0;
1358
+ _GameWindowManager.removeTickerStepByCanvasElement(tag);
1171
1359
  _GameWindowManager._currentTickersSteps[tag] = {
1172
- currentStepNumber: 0,
1173
- steps: steps.map((s) => {
1174
- if (s === Repeat) {
1175
- return s;
1176
- }
1177
- if (!s.duration) {
1178
- console.warn("[Pixi'VN] Duration is not defined, so it will be set to 1000");
1179
- s.duration = 1e3;
1360
+ currentStepNumber,
1361
+ steps: steps.map((step) => {
1362
+ if (step === Repeat) {
1363
+ return step;
1180
1364
  }
1181
- if (s.hasOwnProperty("type") && s.type === PauseValueType) {
1182
- return s;
1365
+ if (step.hasOwnProperty("type") && step.type === "pause") {
1366
+ return step;
1183
1367
  }
1184
- let tickerName = s.constructor.name;
1368
+ let tickerId = step.id;
1185
1369
  return {
1186
- ticker: tickerName,
1187
- args: s.args,
1188
- duration: s.duration
1370
+ ticker: tickerId,
1371
+ args: createExportableElement(step.args),
1372
+ duration: step.duration
1189
1373
  };
1190
1374
  })
1191
1375
  };
1192
- if (!alredyExists) {
1376
+ _GameWindowManager.runTickersSteps(tag);
1377
+ }
1378
+ static restoneTickersSteps(data) {
1379
+ for (let tag in data) {
1380
+ let steps = data[tag];
1381
+ _GameWindowManager._currentTickersSteps[tag] = steps;
1193
1382
  _GameWindowManager.runTickersSteps(tag);
1194
1383
  }
1195
1384
  }
@@ -1203,70 +1392,106 @@ var _GameWindowManager = class _GameWindowManager {
1203
1392
  return;
1204
1393
  }
1205
1394
  }
1206
- if (step.hasOwnProperty("type") && step.type === PauseValueType) {
1395
+ if (step.hasOwnProperty("type") && step.type === "pause") {
1207
1396
  let timeout = setTimeout(() => {
1397
+ let tickerTimeoutInfo = _GameWindowManager._currentTickersTimeouts[timeout.toString()];
1398
+ if (tickerTimeoutInfo) {
1399
+ tickerTimeoutInfo.tags.forEach((tag2) => {
1400
+ _GameWindowManager.nextTickerStep(tag2);
1401
+ });
1402
+ }
1208
1403
  _GameWindowManager.removeTickerTimeoutInfo(timeout);
1209
- _GameWindowManager.nextTickerStep(tag);
1210
- }, step.duration);
1211
- _GameWindowManager.addTickerTimeoutInfo(tag, "steps", timeout.toString());
1404
+ }, step.duration * 1e3);
1405
+ _GameWindowManager.addTickerTimeoutInfo(tag, "steps", timeout.toString(), false);
1212
1406
  return;
1213
1407
  }
1214
- let ticker = geTickerInstanceByClassName(step.ticker, step.args, step.duration, step.priority);
1408
+ let ticker = geTickerInstanceById(step.ticker, step.args, step.duration, step.priority);
1215
1409
  if (!ticker) {
1216
1410
  console.error(`[Pixi'VN] Ticker ${step.ticker} not found`);
1217
1411
  return;
1218
1412
  }
1219
- _GameWindowManager.addTicker(tag, ticker);
1413
+ let tickerName = ticker.id;
1414
+ let tickerHistory = {
1415
+ fn: () => {
1416
+ },
1417
+ id: tickerName,
1418
+ args: createExportableElement(ticker.args),
1419
+ canvasElementTags: [tag],
1420
+ priority: ticker.priority,
1421
+ duration: ticker.duration,
1422
+ createdByTicketStepsId: tag
1423
+ };
1424
+ let id = _GameWindowManager.generateTickerId(tickerHistory);
1425
+ _GameWindowManager.pushTicker(id, tickerHistory, ticker);
1426
+ if (ticker.duration) {
1427
+ let timeout = setTimeout(() => {
1428
+ let tickerTimeoutInfo = _GameWindowManager._currentTickersTimeouts[timeout.toString()];
1429
+ if (tickerTimeoutInfo) {
1430
+ _GameWindowManager.removeTicker(id);
1431
+ tickerTimeoutInfo.tags.forEach((tag2) => {
1432
+ _GameWindowManager.nextTickerStep(tag2);
1433
+ });
1434
+ }
1435
+ _GameWindowManager.removeTickerTimeoutInfo(timeout);
1436
+ }, ticker.duration * 1e3);
1437
+ _GameWindowManager.addTickerTimeoutInfo(tag, tickerName, timeout.toString(), false);
1438
+ }
1220
1439
  }
1221
1440
  static nextTickerStep(tag) {
1222
- if (typeof tag === "string") {
1223
- tag = [tag];
1441
+ if (_GameWindowManager._currentTickersSteps[tag]) {
1442
+ let steps = _GameWindowManager._currentTickersSteps[tag];
1443
+ if (steps.currentStepNumber + 1 < steps.steps.length) {
1444
+ steps.currentStepNumber++;
1445
+ _GameWindowManager._currentTickersSteps[tag] = steps;
1446
+ _GameWindowManager.runTickersSteps(tag);
1447
+ } else {
1448
+ _GameWindowManager.removeTickerStepByCanvasElement(tag);
1449
+ }
1224
1450
  }
1225
- tag.forEach((tag2) => {
1226
- if (_GameWindowManager._currentTickersSteps[tag2]) {
1227
- let steps = _GameWindowManager._currentTickersSteps[tag2];
1228
- if (steps.currentStepNumber + 1 < steps.steps.length) {
1229
- steps.currentStepNumber++;
1230
- _GameWindowManager._currentTickersSteps[tag2] = steps;
1231
- _GameWindowManager.runTickersSteps(tag2);
1232
- } else {
1233
- delete _GameWindowManager._currentTickersSteps[tag2];
1234
- }
1451
+ }
1452
+ static onEndOfTicker(canvasElementTags, ticker, canvasElementTagsToDelete, tickerId) {
1453
+ let tickerData = _GameWindowManager._currentTickers[tickerId];
1454
+ _GameWindowManager.removeAssociationBetweenTickerCanvasElement(canvasElementTags, ticker);
1455
+ _GameWindowManager.removeCanvasElement(canvasElementTagsToDelete);
1456
+ if (tickerData) {
1457
+ _GameWindowManager.removeTicker(tickerId);
1458
+ if (tickerData.duration == void 0 && tickerData.createdByTicketStepsId) {
1459
+ _GameWindowManager.nextTickerStep(tickerData.createdByTicketStepsId);
1235
1460
  }
1236
- });
1461
+ }
1237
1462
  }
1238
1463
  /**
1239
1464
  * Remove a connection between a canvas element and a ticker.
1240
1465
  * And remove the ticker if there is no canvas element connected to it.
1241
- * @param tag The tag of the canvas element that will use the ticker.
1466
+ * @param tags The tag of the canvas element that will use the ticker.
1242
1467
  * @param ticker The ticker class to be removed.
1243
1468
  * @example
1244
1469
  * ```typescript
1245
- * GameWindowManager.removeAssociationBetweenTickerCanvasElement("alien", TickerRotate)
1470
+ * GameWindowManager.removeAssociationBetweenTickerCanvasElement("alien", RotateTicker)
1246
1471
  * ```
1247
1472
  */
1248
- static removeAssociationBetweenTickerCanvasElement(tag, ticker) {
1249
- let tickerName;
1250
- if (ticker instanceof TickerBase) {
1251
- tickerName = ticker.constructor.name;
1473
+ static removeAssociationBetweenTickerCanvasElement(tags, ticker) {
1474
+ let tickerId;
1475
+ if (typeof ticker === "string") {
1476
+ tickerId = ticker;
1477
+ } else if (ticker instanceof TickerBase) {
1478
+ tickerId = ticker.id;
1252
1479
  } else {
1253
- tickerName = ticker.name;
1480
+ tickerId = ticker.prototype.id;
1254
1481
  }
1255
- if (typeof tag === "string") {
1256
- tag = [tag];
1482
+ if (typeof tags === "string") {
1483
+ tags = [tags];
1257
1484
  }
1258
- _GameWindowManager._currentTickers = _GameWindowManager._currentTickers.map((t) => {
1259
- if (t.className === tickerName) {
1260
- t.canvasElementTags = t.canvasElementTags.filter((e) => !tag.includes(e));
1485
+ for (let id in _GameWindowManager._currentTickers) {
1486
+ let ticker2 = _GameWindowManager._currentTickers[id];
1487
+ if (ticker2.id === tickerId) {
1488
+ _GameWindowManager._currentTickers[id].canvasElementTags = ticker2.canvasElementTags.filter((e) => !tags.includes(e));
1261
1489
  }
1262
- return t;
1263
- });
1264
- for (let timeout in _GameWindowManager.currentTickersTimeouts) {
1265
- let t = _GameWindowManager.currentTickersTimeouts[timeout].tags.filter((e) => !tag.includes(e));
1266
- if (t.length == 0) {
1267
- _GameWindowManager.removeTickerTimeoutInfo(timeout);
1268
- } else {
1269
- _GameWindowManager.currentTickersTimeouts[timeout].tags = t;
1490
+ }
1491
+ for (let timeout in _GameWindowManager._currentTickersTimeouts) {
1492
+ let TickerTimeout = _GameWindowManager._currentTickersTimeouts[timeout];
1493
+ if (TickerTimeout.ticker === tickerId && TickerTimeout.canBeDeletedBeforeEnd) {
1494
+ _GameWindowManager._currentTickersTimeouts[timeout].tags = TickerTimeout.tags.filter((t) => !tags.includes(t));
1270
1495
  }
1271
1496
  }
1272
1497
  _GameWindowManager.removeTickersWithoutAssociatedCanvasElement();
@@ -1275,49 +1500,117 @@ var _GameWindowManager = class _GameWindowManager {
1275
1500
  * Remove all tickers that are not connected to any existing canvas element.
1276
1501
  */
1277
1502
  static removeTickersWithoutAssociatedCanvasElement() {
1278
- let currentTickers = _GameWindowManager._currentTickers.map((t) => {
1279
- t.canvasElementTags = t.canvasElementTags.filter((e) => _GameWindowManager._children[e]);
1280
- return t;
1281
- });
1282
- currentTickers.filter((t) => t.canvasElementTags.length === 0).forEach((t) => {
1283
- _GameWindowManager.app.ticker.remove(t.fn);
1284
- });
1285
- currentTickers = currentTickers.filter((t) => t.canvasElementTags.length > 0);
1286
- _GameWindowManager._currentTickers = currentTickers;
1503
+ for (let id in _GameWindowManager._currentTickers) {
1504
+ let ticker = _GameWindowManager._currentTickers[id];
1505
+ ticker.canvasElementTags = ticker.canvasElementTags.filter((e) => _GameWindowManager._children[e]);
1506
+ if (ticker.canvasElementTags.length === 0) {
1507
+ _GameWindowManager.removeTicker(id);
1508
+ }
1509
+ }
1287
1510
  for (let tag in _GameWindowManager._currentTickersSteps) {
1288
1511
  if (_GameWindowManager._children[tag] === void 0) {
1289
1512
  delete _GameWindowManager._currentTickersSteps[tag];
1290
1513
  }
1291
1514
  }
1515
+ Object.entries(_GameWindowManager._currentTickersTimeouts).forEach(([timeout, { tags }]) => {
1516
+ if (tags.length === 0) {
1517
+ _GameWindowManager.removeTickerTimeout(timeout);
1518
+ }
1519
+ });
1292
1520
  }
1293
- static addTickerTimeoutInfo(tags, ticker, timeout) {
1521
+ static addTickerTimeoutInfo(tags, ticker, timeout, canBeDeletedBeforeEnd) {
1294
1522
  if (typeof tags === "string") {
1295
1523
  tags = [tags];
1296
1524
  }
1297
- _GameWindowManager.currentTickersTimeouts[timeout] = {
1525
+ _GameWindowManager._currentTickersTimeouts[timeout] = {
1298
1526
  tags,
1299
- ticker
1527
+ ticker,
1528
+ canBeDeletedBeforeEnd
1300
1529
  };
1301
1530
  }
1302
1531
  static removeTickerTimeoutInfo(timeout) {
1303
1532
  if (typeof timeout !== "string") {
1304
1533
  timeout = timeout.toString();
1305
1534
  }
1306
- if (_GameWindowManager.currentTickersTimeouts[timeout]) {
1307
- delete _GameWindowManager.currentTickersTimeouts[timeout];
1535
+ if (_GameWindowManager._currentTickersTimeouts[timeout]) {
1536
+ delete _GameWindowManager._currentTickersTimeouts[timeout];
1537
+ }
1538
+ }
1539
+ static removeTickerTimeout(timeout) {
1540
+ if (typeof timeout !== "string") {
1541
+ timeout = timeout.toString();
1542
+ }
1543
+ clearTimeout(Number(timeout));
1544
+ _GameWindowManager.removeTickerTimeoutInfo(timeout);
1545
+ }
1546
+ static removeTickerTimeoutsByTag(tag, checkCanBeDeletedBeforeEnd) {
1547
+ for (let timeout in _GameWindowManager._currentTickersTimeouts) {
1548
+ let tagsWithoutTagToRemove = _GameWindowManager._currentTickersTimeouts[timeout].tags.filter((t) => t !== tag);
1549
+ if (tagsWithoutTagToRemove.length === 0) {
1550
+ let canBeDeletedBeforeEnd = _GameWindowManager._currentTickersTimeouts[timeout].canBeDeletedBeforeEnd;
1551
+ if (!checkCanBeDeletedBeforeEnd || canBeDeletedBeforeEnd) {
1552
+ _GameWindowManager.removeTickerTimeout(timeout);
1553
+ }
1554
+ } else {
1555
+ _GameWindowManager._currentTickersTimeouts[timeout].tags = tagsWithoutTagToRemove;
1556
+ }
1308
1557
  }
1309
1558
  }
1310
1559
  /**
1311
1560
  * Remove all tickers from the canvas.
1312
1561
  */
1313
- static removeTickers() {
1562
+ static removeAllTickers() {
1314
1563
  _GameWindowManager._currentTickersSteps = {};
1315
- _GameWindowManager._currentTickers.forEach((t) => {
1316
- _GameWindowManager.app.ticker.remove(t.fn);
1564
+ Object.keys(_GameWindowManager._currentTickers).forEach((id) => {
1565
+ _GameWindowManager.removeTicker(id);
1566
+ });
1567
+ _GameWindowManager._currentTickers = {};
1568
+ for (let timeout in _GameWindowManager._currentTickersTimeouts) {
1569
+ _GameWindowManager.removeTickerTimeout(timeout);
1570
+ }
1571
+ }
1572
+ /**
1573
+ * Remove all tickers from a canvas element.
1574
+ * @param tag The tag of the canvas element that will use the ticker.
1575
+ */
1576
+ static removeTickerByCanvasElement(tag) {
1577
+ if (typeof tag === "string") {
1578
+ tag = [tag];
1579
+ }
1580
+ tag.forEach((tag2) => {
1581
+ for (let id in _GameWindowManager._currentTickers) {
1582
+ let ticker = _GameWindowManager._currentTickers[id];
1583
+ if (ticker.canvasElementTags.includes(tag2)) {
1584
+ _GameWindowManager.removeTicker(id);
1585
+ }
1586
+ }
1587
+ if (_GameWindowManager._currentTickersSteps[tag2]) {
1588
+ delete _GameWindowManager._currentTickersSteps[tag2];
1589
+ }
1590
+ _GameWindowManager.removeTickerTimeoutsByTag(tag2, false);
1591
+ delete _GameWindowManager._currentTickersSteps[tag2];
1317
1592
  });
1318
- _GameWindowManager._currentTickers = [];
1319
- for (let timeout in _GameWindowManager.currentTickersTimeouts) {
1320
- _GameWindowManager.removeTickerTimeoutInfo(timeout);
1593
+ }
1594
+ static removeTickerStepByCanvasElement(tag) {
1595
+ if (_GameWindowManager._currentTickersSteps[tag]) {
1596
+ delete _GameWindowManager._currentTickersSteps[tag];
1597
+ }
1598
+ for (let id in _GameWindowManager._currentTickers) {
1599
+ let ticker = _GameWindowManager._currentTickers[id];
1600
+ if (ticker.createdByTicketStepsId === tag) {
1601
+ _GameWindowManager.removeTicker(id);
1602
+ }
1603
+ }
1604
+ }
1605
+ static removeTicker(tickerId) {
1606
+ let ticker = _GameWindowManager._currentTickers[tickerId];
1607
+ if (ticker) {
1608
+ if (ticker.args.hasOwnProperty(tagToRemoveAfter)) {
1609
+ let tagToRemoveAfter2 = ticker.args.tagToRemoveAfter;
1610
+ _GameWindowManager.removeCanvasElement(tagToRemoveAfter2);
1611
+ }
1612
+ _GameWindowManager.app.ticker.remove(ticker.fn);
1613
+ delete _GameWindowManager._currentTickers[tickerId];
1321
1614
  }
1322
1615
  }
1323
1616
  /**
@@ -1344,7 +1637,8 @@ var _GameWindowManager = class _GameWindowManager {
1344
1637
  currentElements[tag] = exportCanvasElement(_GameWindowManager._children[tag]);
1345
1638
  }
1346
1639
  return {
1347
- currentTickers: createExportableElement(_GameWindowManager._currentTickers),
1640
+ currentTickers: createExportableElement(_GameWindowManager.currentTickersWithoutCreatedBySteps),
1641
+ currentTickersSteps: createExportableElement(_GameWindowManager._currentTickersSteps),
1348
1642
  currentElements: createExportableElement(currentElements),
1349
1643
  childrenTagsOrder: createExportableElement(_GameWindowManager.childrenTagsOrder)
1350
1644
  };
@@ -1379,15 +1673,20 @@ var _GameWindowManager = class _GameWindowManager {
1379
1673
  }
1380
1674
  if (data.hasOwnProperty("currentTickers")) {
1381
1675
  let currentTickers = data["currentTickers"];
1382
- currentTickers.forEach((t) => {
1676
+ for (let id in currentTickers) {
1677
+ let t = currentTickers[id];
1383
1678
  let tags = t.canvasElementTags;
1384
- let ticker = geTickerInstanceByClassName(t.className, t.args, t.duration, t.priority);
1679
+ let ticker = geTickerInstanceById(t.id, t.args, t.duration, t.priority);
1385
1680
  if (ticker) {
1386
1681
  _GameWindowManager.addTicker(tags, ticker);
1387
1682
  } else {
1388
- console.error(`[Pixi'VN] Ticker ${t.className} not found`);
1683
+ console.error(`[Pixi'VN] Ticker ${t.id} not found`);
1389
1684
  }
1390
- });
1685
+ }
1686
+ }
1687
+ if (data.hasOwnProperty("currentTickersSteps")) {
1688
+ let currentTickersSteps = data["currentTickersSteps"];
1689
+ _GameWindowManager.restoneTickersSteps(currentTickersSteps);
1391
1690
  }
1392
1691
  } catch (e) {
1393
1692
  console.error("[Pixi'VN] Error importing data", e);
@@ -1401,9 +1700,9 @@ _GameWindowManager._children = {};
1401
1700
  * The order of the children tags.
1402
1701
  */
1403
1702
  _GameWindowManager.childrenTagsOrder = [];
1404
- _GameWindowManager._currentTickers = [];
1703
+ _GameWindowManager._currentTickers = {};
1405
1704
  _GameWindowManager._currentTickersSteps = {};
1406
- _GameWindowManager.currentTickersTimeouts = {};
1705
+ _GameWindowManager._currentTickersTimeouts = {};
1407
1706
  var GameWindowManager = _GameWindowManager;
1408
1707
 
1409
1708
  // src/classes/StoredClassModel.ts