@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,9 +1,13 @@
1
1
  'use strict';
2
2
 
3
3
  require('deep-diff');
4
- require('crypto-js/sha1');
4
+ var sha1 = require('crypto-js/sha1');
5
5
  var pixi_js = require('pixi.js');
6
6
 
7
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
8
+
9
+ var sha1__default = /*#__PURE__*/_interopDefault(sha1);
10
+
7
11
  var __defProp = Object.defineProperty;
8
12
  var __defProps = Object.defineProperties;
9
13
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -29,8 +33,7 @@ var __decorateClass = (decorators, target, key, kind) => {
29
33
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
30
34
  if (decorator = decorators[i])
31
35
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
32
- if (kind && result)
33
- __defProp(target, key, result);
36
+ if (kind && result) __defProp(target, key, result);
34
37
  return result;
35
38
  };
36
39
  var __async = (__this, __arguments, generator) => {
@@ -66,17 +69,23 @@ function exportCanvasElement(element) {
66
69
  return element.memory;
67
70
  }
68
71
  function importCanvasElement(memory) {
69
- let element = getCanvasElementInstanceByClassName(memory.className);
72
+ let element = getCanvasElementInstanceById(memory.pixivnId);
70
73
  if (element) {
71
74
  element.memory = memory;
72
75
  } else {
73
- throw new Error("[Pixi'VN] The element " + memory.className + " could not be created");
76
+ throw new Error("[Pixi'VN] The element " + memory.pixivnId + " could not be created");
74
77
  }
75
78
  return element;
76
79
  }
77
80
 
78
81
  // src/classes/canvas/CanvasContainer.ts
82
+ var CANVAS_CONTAINER_ID = "CanvasContainer";
79
83
  var CanvasContainer = class extends pixi_js.Container {
84
+ constructor(options) {
85
+ super(options);
86
+ this.pixivnId = CANVAS_CONTAINER_ID;
87
+ this.pixivnId = this.constructor.prototype.pixivnId;
88
+ }
80
89
  get memory() {
81
90
  let memory = getMemoryContainer(this);
82
91
  this.children.forEach((child) => {
@@ -92,8 +101,12 @@ var CanvasContainer = class extends pixi_js.Container {
92
101
  }
93
102
  };
94
103
  function getMemoryContainer(element) {
104
+ let className = "CanvasContainer";
105
+ if (element.hasOwnProperty("pixivnId")) {
106
+ className = element.pixivnId;
107
+ }
95
108
  return {
96
- className: "CanvasContainer",
109
+ pixivnId: className,
97
110
  elements: [],
98
111
  width: element.width,
99
112
  height: element.height,
@@ -209,40 +222,43 @@ function getTextStyle(style) {
209
222
 
210
223
  // src/decorators/EventDecorator.ts
211
224
  var registeredEvents = {};
212
- function getEventTypeByClassName(eventName) {
225
+ function getEventTypeById(eventId) {
213
226
  try {
214
- let eventType = registeredEvents[eventName];
227
+ let eventType = registeredEvents[eventId];
215
228
  if (!eventType) {
216
- console.error(`[Pixi'VN] Event ${eventName} not found`);
229
+ console.error(`[Pixi'VN] Event ${eventId} not found`);
217
230
  return;
218
231
  }
219
232
  new eventType();
220
233
  return eventType;
221
234
  } catch (e) {
222
- console.error(`[Pixi'VN] Error while getting Event ${eventName}`, e);
235
+ console.error(`[Pixi'VN] Error while getting Event ${eventId}`, e);
223
236
  return;
224
237
  }
225
238
  }
226
- function getEventInstanceByClassName(eventName) {
239
+ function getEventInstanceById(eventId) {
227
240
  try {
228
- let eventType = registeredEvents[eventName];
241
+ let eventType = registeredEvents[eventId];
229
242
  if (!eventType) {
230
- console.error(`[Pixi'VN] Event ${eventName} not found`);
243
+ console.error(`[Pixi'VN] Event ${eventId} not found`);
231
244
  return;
232
245
  }
233
246
  let event = new eventType();
234
247
  return event;
235
248
  } catch (e) {
236
- console.error(`[Pixi'VN] Error while getting Event ${eventName}`, e);
249
+ console.error(`[Pixi'VN] Error while getting Event ${eventId}`, e);
237
250
  return;
238
251
  }
239
252
  }
240
253
 
241
254
  // src/classes/canvas/CanvasSprite.ts
255
+ var CANVAS_SPRITE_ID = "CanvasSprite";
242
256
  var CanvasSprite = class _CanvasSprite extends pixi_js.Sprite {
243
- constructor() {
244
- super(...arguments);
257
+ constructor(options) {
258
+ super(options);
259
+ this.pixivnId = CANVAS_SPRITE_ID;
245
260
  this._onEvents = {};
261
+ this.pixivnId = this.constructor.prototype.pixivnId;
246
262
  }
247
263
  get memory() {
248
264
  return getMemorySprite(this);
@@ -283,9 +299,9 @@ var CanvasSprite = class _CanvasSprite extends pixi_js.Sprite {
283
299
  * ```
284
300
  */
285
301
  onEvent(event, eventClass) {
286
- let className = eventClass.name;
287
- let instance = getEventInstanceByClassName(className);
288
- this._onEvents[event] = className;
302
+ let id = eventClass.prototype.id;
303
+ let instance = getEventInstanceById(id);
304
+ this._onEvents[event] = id;
289
305
  if (instance) {
290
306
  super.on(event, () => {
291
307
  instance.fn(event, this);
@@ -314,7 +330,7 @@ var CanvasSprite = class _CanvasSprite extends pixi_js.Sprite {
314
330
  function getMemorySprite(element) {
315
331
  let temp = getMemoryContainer(element);
316
332
  return __spreadProps(__spreadValues({}, temp), {
317
- className: "CanvasSprite",
333
+ pixivnId: element.pixivnId,
318
334
  textureImage: getTextureMemory(element.texture),
319
335
  anchor: { x: element.anchor.x, y: element.anchor.y },
320
336
  roundPixels: element.roundPixels,
@@ -337,8 +353,8 @@ function setMemorySprite(element, memory) {
337
353
  }
338
354
  memory.roundPixels && (element.roundPixels = memory.roundPixels);
339
355
  for (let event in memory.onEvents) {
340
- let className = memory.onEvents[event];
341
- let instance = getEventTypeByClassName(className);
356
+ let id = memory.onEvents[event];
357
+ let instance = getEventTypeById(id);
342
358
  if (instance) {
343
359
  element.onEvent(event, instance);
344
360
  }
@@ -346,9 +362,11 @@ function setMemorySprite(element, memory) {
346
362
  }
347
363
 
348
364
  // src/classes/canvas/CanvasImage.ts
365
+ var CANVAS_IMAGE_ID = "CanvasImage";
349
366
  var CanvasImage = class _CanvasImage extends CanvasSprite {
350
367
  constructor(options, imageLink) {
351
368
  super(options);
369
+ this.pixivnId = CANVAS_IMAGE_ID;
352
370
  this.imageLink = "";
353
371
  if (imageLink) {
354
372
  this.imageLink = imageLink;
@@ -356,12 +374,13 @@ var CanvasImage = class _CanvasImage extends CanvasSprite {
356
374
  }
357
375
  get memory() {
358
376
  return __spreadProps(__spreadValues({}, getMemorySprite(this)), {
359
- className: "CanvasImage",
360
- textureImage: { image: this.imageLink }
377
+ pixivnId: this.pixivnId,
378
+ imageLink: this.imageLink
361
379
  });
362
380
  }
363
381
  set memory(memory) {
364
382
  setMemorySprite(this, memory);
383
+ this.imageLink = memory.imageLink;
365
384
  }
366
385
  static from(source, skipCache) {
367
386
  let sprite = pixi_js.Sprite.from(source, skipCache);
@@ -389,10 +408,13 @@ var CanvasImage = class _CanvasImage extends CanvasSprite {
389
408
  });
390
409
  }
391
410
  };
411
+ var CANVAS_TEXT_ID = "CanvasText";
392
412
  var CanvasText = class extends pixi_js.Text {
393
- constructor() {
394
- super(...arguments);
413
+ constructor(options) {
414
+ super(options);
415
+ this.pixivnId = CANVAS_TEXT_ID;
395
416
  this._onEvents = {};
417
+ this.pixivnId = this.constructor.prototype.pixivnId;
396
418
  }
397
419
  get memory() {
398
420
  return getMemoryText(this);
@@ -433,9 +455,9 @@ var CanvasText = class extends pixi_js.Text {
433
455
  * ```
434
456
  */
435
457
  onEvent(event, eventClass) {
436
- let className = eventClass.name;
437
- let instance = getEventInstanceByClassName(className);
438
- this._onEvents[event] = className;
458
+ let id = eventClass.prototype.id;
459
+ let instance = getEventInstanceById(id);
460
+ this._onEvents[event] = id;
439
461
  if (instance) {
440
462
  super.on(event, () => {
441
463
  instance.fn(event, this);
@@ -458,7 +480,7 @@ var CanvasText = class extends pixi_js.Text {
458
480
  function getMemoryText(element) {
459
481
  let temp = getMemoryContainer(element);
460
482
  return __spreadProps(__spreadValues({}, temp), {
461
- className: "CanvasText",
483
+ pixivnId: element.pixivnId,
462
484
  anchor: { x: element.anchor.x, y: element.anchor.y },
463
485
  text: element.text,
464
486
  resolution: element.resolution,
@@ -481,8 +503,8 @@ function setMemoryText(element, memory) {
481
503
  memory.style && (element.style = memory.style);
482
504
  memory.roundPixels && (element.roundPixels = memory.roundPixels);
483
505
  for (let event in memory.onEvents) {
484
- let className = memory.onEvents[event];
485
- let instance = getEventTypeByClassName(className);
506
+ let id = memory.onEvents[event];
507
+ let instance = getEventTypeById(id);
486
508
  if (instance) {
487
509
  element.onEvent(event, instance);
488
510
  }
@@ -491,28 +513,28 @@ function setMemoryText(element, memory) {
491
513
 
492
514
  // src/decorators/CanvasElementDecorator.ts
493
515
  var registeredCanvasElement = {};
494
- function getCanvasElementInstanceByClassName(canvasName) {
516
+ function getCanvasElementInstanceById(canvasId) {
495
517
  try {
496
- let eventType = registeredCanvasElement[canvasName];
518
+ let eventType = registeredCanvasElement[canvasId];
497
519
  if (!eventType) {
498
- if (canvasName === "CanvasContainer") {
520
+ if (canvasId === CANVAS_CONTAINER_ID) {
499
521
  eventType = CanvasContainer;
500
- } else if (canvasName === "CanvasImage") {
522
+ } else if (canvasId === CANVAS_IMAGE_ID) {
501
523
  eventType = CanvasImage;
502
- } else if (canvasName === "CanvasSprite") {
524
+ } else if (canvasId === CANVAS_SPRITE_ID) {
503
525
  eventType = CanvasSprite;
504
- } else if (canvasName === "CanvasText") {
526
+ } else if (canvasId === CANVAS_TEXT_ID) {
505
527
  eventType = CanvasText;
506
528
  }
507
529
  }
508
530
  if (!eventType) {
509
- console.error(`[Pixi'VN] CanvasElement ${canvasName} not found`);
531
+ console.error(`[Pixi'VN] CanvasElement ${canvasId} not found`);
510
532
  return;
511
533
  }
512
534
  let canvasElement = new eventType();
513
535
  return canvasElement;
514
536
  } catch (e) {
515
- console.error(`[Pixi'VN] Error while getting CanvasElement ${canvasName}`, e);
537
+ console.error(`[Pixi'VN] Error while getting CanvasElement ${canvasId}`, e);
516
538
  return;
517
539
  }
518
540
  }
@@ -525,68 +547,66 @@ function tickerDecorator(name) {
525
547
  name = target.name;
526
548
  }
527
549
  if (registeredTickers[name]) {
528
- console.warn(`[Pixi'VN] Ticker ${name} already exists, it will be overwritten`);
550
+ console.info(`[Pixi'VN] Ticker ${name} already exists, it will be overwritten`);
529
551
  }
552
+ target.prototype.id = name;
530
553
  registeredTickers[name] = target;
531
554
  };
532
555
  }
533
- function geTickerInstanceByClassName(tickerName, args, duration, priority) {
556
+ function geTickerInstanceById(tickerId, args, duration, priority) {
534
557
  try {
535
- let ticker = registeredTickers[tickerName];
558
+ let ticker = registeredTickers[tickerId];
536
559
  if (!ticker) {
537
- console.error(`[Pixi'VN] Ticker ${tickerName} not found`);
560
+ console.error(`[Pixi'VN] Ticker ${tickerId} not found`);
538
561
  return;
539
562
  }
540
563
  return new ticker(args, duration, priority);
541
564
  } catch (e) {
542
- console.error(`[Pixi'VN] Error while getting Ticker ${tickerName}`, e);
565
+ console.error(`[Pixi'VN] Error while getting Ticker ${tickerId}`, e);
543
566
  return;
544
567
  }
545
568
  }
546
569
 
547
- // src/types/PauseType.ts
548
- var PauseValueType = "pause";
549
-
550
- // src/types/RepeatType.ts
551
- var Repeat = "repeat";
552
-
553
570
  // src/classes/ticker/TickerBase.ts
554
571
  var TickerBase = class {
555
572
  /**
556
573
  * @param args The arguments that you want to pass to the ticker.
557
- * @param duration The duration of the ticker. If is undefined, the ticker will be called every frame.
558
- * @param priority The priority of the ticker. If is undefined, the priority will be UPDATE_PRIORITY.NORMAL.
574
+ * @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
575
+ * @param priority The priority of the ticker. @default UPDATE_PRIORITY.NORMAL
559
576
  */
560
577
  constructor(args, duration, priority) {
578
+ /**
579
+ * Get the id of the ticker. This variable is used in the system to get the ticker by id, {@link geTickerInstanceById}
580
+ */
581
+ this.id = "ticker_id_not_set";
561
582
  this.args = args;
562
583
  this.duration = duration;
563
584
  this.priority = priority;
585
+ this.id = this.constructor.prototype.id;
564
586
  }
565
587
  /**
566
588
  * The method that will be called every frame.
567
589
  * This method should be overridden and you can use GameWindowManager.addCanvasElement() to get the canvas element of the canvas, and edit them.
568
- * @param t The ticker that is calling this method
569
- * @param args The arguments that you passed when you added the ticker
570
- * @param tags The tags of the canvas elements that are connected to this ticker
590
+ * @param _ticker The ticker that is calling this method
591
+ * @param _args The arguments that you passed when you added the ticker
592
+ * @param _tags The tags of the canvas elements that are connected to this ticker
593
+ * @param _tickerId The id of the ticker. You can use this to get the ticker from the {@link GameWindowManager.currentTickers}
571
594
  */
572
- fn(_t, _args, _tags) {
595
+ fn(_ticker, _args, _tags, _tickerId) {
573
596
  throw new Error("[Pixi'VN] The method TickerBase.fn() must be overridden");
574
597
  }
575
598
  };
576
- var TickerFadeAlpha = class extends TickerBase {
577
- /**
578
- * The method that will be called every frame to fade the alpha of the canvas element of the canvas.
579
- * @param delta The delta time
580
- * @param args The arguments that are passed to the ticker
581
- * @param tags The tags of the canvas element that are connected to this ticker
582
- */
583
- fn(t, args, tags) {
599
+
600
+ // src/classes/ticker/FadeAlphaTicker.ts
601
+ var FadeAlphaTicker = class extends TickerBase {
602
+ fn(ticker, args, tags, tickerId) {
584
603
  let type = args.type === void 0 ? "hide" : args.type;
585
- let speed = args.speed === void 0 ? 0.1 : args.speed;
604
+ let duration = args.duration === void 0 ? 1 : args.duration;
605
+ let speed = 1 / (duration * 60);
586
606
  let limit = args.limit === void 0 ? type === "hide" ? 0 : 1 : args.limit;
587
- let removeElementAfter = args.tagToRemoveAfter || [];
588
- if (typeof removeElementAfter === "string") {
589
- removeElementAfter = [removeElementAfter];
607
+ let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
608
+ if (typeof tagToRemoveAfter2 === "string") {
609
+ tagToRemoveAfter2 = [tagToRemoveAfter2];
590
610
  }
591
611
  if (type === "hide" && limit < 0) {
592
612
  limit = 0;
@@ -607,61 +627,88 @@ var TickerFadeAlpha = class extends TickerBase {
607
627
  let element = GameWindowManager.getCanvasElement(tag);
608
628
  if (element && element instanceof pixi_js.Container) {
609
629
  if (type === "show" && element.alpha < limit) {
610
- element.alpha += speed * t.deltaTime;
630
+ element.alpha += speed * ticker.deltaTime;
611
631
  } else if (type === "hide" && element.alpha > limit) {
612
- element.alpha -= speed * t.deltaTime;
613
- } else {
632
+ element.alpha -= speed * ticker.deltaTime;
633
+ }
634
+ if (type === "show" && element.alpha >= limit) {
635
+ element.alpha = limit;
636
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
637
+ } else if (type === "hide" && element.alpha <= limit) {
614
638
  element.alpha = limit;
615
- GameWindowManager.removeAssociationBetweenTickerCanvasElement(tag, this);
616
- GameWindowManager.removeCanvasElement(removeElementAfter);
639
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
617
640
  }
618
641
  }
619
642
  });
620
643
  }
621
644
  };
622
- TickerFadeAlpha = __decorateClass([
645
+ FadeAlphaTicker = __decorateClass([
623
646
  tickerDecorator()
624
- ], TickerFadeAlpha);
647
+ ], FadeAlphaTicker);
625
648
 
626
649
  // src/functions/TickerUtility.ts
627
650
  function updateTickerProgression(args, propertyName, progression) {
628
- if (args.hasOwnProperty(propertyName) && typeof args[propertyName] !== "number") {
651
+ if (args[propertyName] === void 0 || !progression || args[propertyName] === progression.limit) {
629
652
  return;
630
653
  }
631
- if (args[propertyName] !== void 0 && progression && args[propertyName] !== progression.limit) {
654
+ if (typeof args[propertyName] === "number") {
632
655
  if (progression.type === "linear") {
633
- args[propertyName] += progression.amt;
634
- if (progression.limit !== void 0) {
635
- if (args[propertyName] > progression.limit && progression.amt > 0) {
636
- args[propertyName] = progression.limit;
637
- } else if (args[propertyName] < progression.limit && progression.amt < 0) {
638
- args[propertyName] = progression.limit;
639
- }
640
- }
656
+ args[propertyName] = getLinearProgression(args[propertyName], progression);
641
657
  } else if (progression.type === "exponential") {
642
- args[propertyName] += args[propertyName] * progression.percentage;
643
- if (progression.limit !== void 0) {
644
- if (args[propertyName] > progression.limit && progression.percentage > 0) {
645
- args[propertyName] = progression.limit;
646
- } else if (args[propertyName] < progression.limit && progression.percentage < 0) {
647
- args[propertyName] = progression.limit;
648
- }
649
- }
658
+ args[propertyName] = getExponentialProgression(args[propertyName], progression);
659
+ }
660
+ } 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") {
661
+ if (progression.type === "linear") {
662
+ args[propertyName].x = getLinearProgression(args[propertyName].x, progression);
663
+ args[propertyName].y = getLinearProgression(args[propertyName].y, progression);
664
+ } else if (progression.type === "exponential") {
665
+ args[propertyName].x = getExponentialProgression(args[propertyName].x, progression);
666
+ args[propertyName].y = getExponentialProgression(args[propertyName].y, progression);
667
+ }
668
+ }
669
+ }
670
+ function getLinearProgression(number, progression) {
671
+ if (progression.limit !== void 0) {
672
+ if (number > progression.limit && progression.amt > 0) {
673
+ return progression.limit;
674
+ } else if (number < progression.limit && progression.amt < 0) {
675
+ return progression.limit;
650
676
  }
651
677
  }
678
+ return number + progression.amt / 60;
679
+ }
680
+ function getExponentialProgression(number, progression) {
681
+ if (progression.limit !== void 0) {
682
+ if (number > progression.limit && progression.percentage > 0) {
683
+ return progression.limit;
684
+ } else if (number < progression.limit && progression.percentage < 0) {
685
+ return progression.limit;
686
+ }
687
+ }
688
+ return number + number * progression.percentage;
652
689
  }
653
690
 
654
- // src/classes/ticker/TickerMove.ts
655
- var TickerMove = class extends TickerBase {
656
- /**
657
- * The method that will be called every frame to move the canvas element of the canvas.
658
- * @param t The ticker that is calling this method
659
- * @param args The arguments that are passed to the ticker
660
- * @param tags The tags of the canvas element that are connected to this ticker
661
- */
662
- fn(t, args, tags) {
663
- let speed = args.speed === void 0 ? 0.1 : args.speed;
691
+ // src/classes/ticker/MoveTicker.ts
692
+ var MoveTicker = class extends TickerBase {
693
+ fn(ticker, args, tags, tickerId) {
694
+ let xSpeed = 1;
695
+ let ySpeed = 1;
696
+ if (args.speed) {
697
+ if (typeof args.speed === "number") {
698
+ xSpeed = args.speed;
699
+ ySpeed = args.speed;
700
+ } else {
701
+ xSpeed = args.speed.x;
702
+ ySpeed = args.speed.y;
703
+ }
704
+ }
705
+ xSpeed /= 60;
706
+ ySpeed /= 60;
664
707
  let destination = args.destination;
708
+ let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
709
+ if (typeof tagToRemoveAfter2 === "string") {
710
+ tagToRemoveAfter2 = [tagToRemoveAfter2];
711
+ }
665
712
  tags.filter((tag) => {
666
713
  var _a;
667
714
  let element = GameWindowManager.getCanvasElement(tag);
@@ -674,41 +721,42 @@ var TickerMove = class extends TickerBase {
674
721
  }).forEach((tag) => {
675
722
  let element = GameWindowManager.getCanvasElement(tag);
676
723
  if (element && element instanceof pixi_js.Container) {
677
- let xDistance = destination.x - element.x;
724
+ let xDistance = destination.x - element.x > 0 ? 1 : -1;
678
725
  if (xDistance != 0) {
679
- element.x += xDistance / speed * t.deltaTime;
726
+ element.x += xDistance * xSpeed * ticker.deltaTime;
680
727
  let newDistance = destination.x - element.x;
681
728
  if (xDistance < 0 && newDistance > 0 || xDistance > 0 && newDistance < 0) {
682
729
  element.x = destination.x;
683
730
  }
684
731
  }
685
- let yDistance = destination.y - element.y;
732
+ let yDistance = destination.y - element.y > 0 ? 1 : -1;
686
733
  if (yDistance != 0) {
687
- element.y += yDistance / speed * t.deltaTime;
734
+ element.y += yDistance * ySpeed * ticker.deltaTime;
688
735
  let newDistance = destination.y - element.y;
689
736
  if (yDistance < 0 && newDistance > 0 || yDistance > 0 && newDistance < 0) {
690
737
  element.y = destination.y;
691
738
  }
692
739
  }
740
+ if (element.x == destination.x && element.y == destination.y) {
741
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
742
+ }
693
743
  }
694
744
  });
695
745
  if (args.speedProgression)
696
746
  updateTickerProgression(args, "speed", args.speedProgression);
697
747
  }
698
748
  };
699
- TickerMove = __decorateClass([
749
+ MoveTicker = __decorateClass([
700
750
  tickerDecorator()
701
- ], TickerMove);
702
- var TickerRotate = class extends TickerBase {
703
- /**
704
- * The method that will be called every frame to rotate the canvas element of the canvas.
705
- * @param delta The delta time
706
- * @param args The arguments that are passed to the ticker
707
- * @param tags The tags of the canvas element that are connected to this ticker
708
- */
709
- fn(t, args, tags) {
710
- let speed = args.speed === void 0 ? 0.1 : args.speed;
751
+ ], MoveTicker);
752
+ var RotateTicker = class extends TickerBase {
753
+ fn(ticker, args, tags, tickerId) {
754
+ let speed = (args.speed === void 0 ? 1 : args.speed) / 60;
711
755
  let clockwise = args.clockwise === void 0 ? true : args.clockwise;
756
+ let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
757
+ if (typeof tagToRemoveAfter2 === "string") {
758
+ tagToRemoveAfter2 = [tagToRemoveAfter2];
759
+ }
712
760
  tags.filter((tag) => {
713
761
  var _a;
714
762
  let element = GameWindowManager.getCanvasElement(tag);
@@ -722,18 +770,114 @@ var TickerRotate = class extends TickerBase {
722
770
  let element = GameWindowManager.getCanvasElement(tag);
723
771
  if (element && element instanceof pixi_js.Container) {
724
772
  if (clockwise)
725
- element.rotation += speed * t.deltaTime;
773
+ element.rotation += speed * ticker.deltaTime;
726
774
  else
727
- element.rotation -= speed * t.deltaTime;
775
+ element.rotation -= speed * ticker.deltaTime;
776
+ if (speed < 1e-5 && !(args.speedProgression && args.speedProgression.type == "linear" && args.speedProgression.amt != 0)) {
777
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
778
+ }
779
+ }
780
+ });
781
+ if (args.speedProgression)
782
+ updateTickerProgression(args, "speed", args.speedProgression);
783
+ }
784
+ };
785
+ RotateTicker = __decorateClass([
786
+ tickerDecorator()
787
+ ], RotateTicker);
788
+ var ZoomTicker = class extends TickerBase {
789
+ fn(ticker, args, tags, tickerId) {
790
+ let xSpeed = 0.1;
791
+ let ySpeed = 0.1;
792
+ if (args.speed) {
793
+ if (typeof args.speed === "number") {
794
+ xSpeed = args.speed;
795
+ ySpeed = args.speed;
796
+ } else {
797
+ xSpeed = args.speed.x;
798
+ ySpeed = args.speed.y;
799
+ }
800
+ }
801
+ xSpeed /= 60;
802
+ ySpeed /= 60;
803
+ let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
804
+ if (typeof tagToRemoveAfter2 === "string") {
805
+ tagToRemoveAfter2 = [tagToRemoveAfter2];
806
+ }
807
+ let type = args.type || "zoom";
808
+ let xLimit = type === "zoom" ? Infinity : 0;
809
+ let yLimit = type === "zoom" ? Infinity : 0;
810
+ if (args.limit) {
811
+ if (typeof args.limit === "number") {
812
+ xLimit = args.limit;
813
+ yLimit = args.limit;
814
+ } else {
815
+ xLimit = args.limit.x;
816
+ yLimit = args.limit.y;
817
+ }
818
+ }
819
+ tags.filter((tag) => {
820
+ var _a;
821
+ let element = GameWindowManager.getCanvasElement(tag);
822
+ if (args.startOnlyIfHaveTexture) {
823
+ if (element && element instanceof pixi_js.Sprite && ((_a = element.texture) == null ? void 0 : _a.label) == "EMPTY") {
824
+ return false;
825
+ }
826
+ }
827
+ return true;
828
+ }).forEach((tag) => {
829
+ let element = GameWindowManager.getCanvasElement(tag);
830
+ if (element && element instanceof pixi_js.Container) {
831
+ if (type === "zoom" && (element.scale.x < xLimit || element.scale.y < yLimit)) {
832
+ element.scale.x += xSpeed * ticker.deltaTime;
833
+ element.scale.y += ySpeed * ticker.deltaTime;
834
+ } else if (type === "unzoom" && (element.scale.x > xLimit || element.scale.y > yLimit)) {
835
+ element.scale.x -= xSpeed * ticker.deltaTime;
836
+ element.scale.y -= ySpeed * ticker.deltaTime;
837
+ }
838
+ if (type === "zoom") {
839
+ if (element.scale.x > xLimit) {
840
+ element.scale.x = xLimit;
841
+ }
842
+ if (element.scale.y > yLimit) {
843
+ element.scale.y = yLimit;
844
+ }
845
+ if (element.scale.x >= xLimit && element.scale.y >= yLimit) {
846
+ element.scale.x = xLimit;
847
+ element.scale.y = yLimit;
848
+ this.onEndOfTicker(tag, tickerId, element, tagToRemoveAfter2);
849
+ }
850
+ } else if (type === "unzoom") {
851
+ if (element.scale.x < xLimit) {
852
+ element.scale.x = xLimit;
853
+ }
854
+ if (element.scale.y < yLimit) {
855
+ element.scale.y = yLimit;
856
+ }
857
+ if (element.scale.x <= xLimit && element.scale.y <= yLimit) {
858
+ element.scale.x = xLimit;
859
+ element.scale.y = yLimit;
860
+ this.onEndOfTicker(tag, tickerId, element, tagToRemoveAfter2);
861
+ }
862
+ }
863
+ if (xSpeed < 1e-5 && ySpeed < 1e-5 && !(args.speedProgression && args.speedProgression.type == "linear" && args.speedProgression.amt != 0)) {
864
+ this.onEndOfTicker(tag, tickerId, element, tagToRemoveAfter2);
865
+ }
728
866
  }
729
867
  });
730
868
  if (args.speedProgression)
731
869
  updateTickerProgression(args, "speed", args.speedProgression);
732
870
  }
871
+ onEndOfTicker(tag, tickerId, _element, tagToRemoveAfter2) {
872
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
873
+ }
733
874
  };
734
- TickerRotate = __decorateClass([
875
+ ZoomTicker = __decorateClass([
735
876
  tickerDecorator()
736
- ], TickerRotate);
877
+ ], ZoomTicker);
878
+
879
+ // src/constants.ts
880
+ var Repeat = "repeat";
737
881
 
738
882
  // src/functions/ExportUtility.ts
739
883
  function createExportableElement(element) {
@@ -757,6 +901,9 @@ function asciiArtLog() {
757
901
  `);
758
902
  }
759
903
 
904
+ // src/types/ticker/TagToRemoveAfterType.ts
905
+ var tagToRemoveAfter = "tagToRemoveAfter";
906
+
760
907
  // src/managers/WindowManager.ts
761
908
  var _GameWindowManager = class _GameWindowManager {
762
909
  constructor() {
@@ -939,25 +1086,25 @@ var _GameWindowManager = class _GameWindowManager {
939
1086
  /**
940
1087
  * Remove a canvas element from the canvas.
941
1088
  * And remove all tickers that are not connected to any canvas element.
942
- * @param tag The tag of the canvas element to be removed.
1089
+ * @param tags The tag of the canvas element to be removed.
943
1090
  * @returns
944
1091
  * @example
945
1092
  * ```typescript
946
1093
  * GameWindowManager.removeCanvasElement("bunny");
947
1094
  * ```
948
1095
  */
949
- static removeCanvasElement(tag) {
950
- if (typeof tag === "string") {
951
- tag = [tag];
1096
+ static removeCanvasElement(tags) {
1097
+ if (typeof tags === "string") {
1098
+ tags = [tags];
952
1099
  }
953
- tag.forEach((t) => {
954
- if (_GameWindowManager._children[t]) {
955
- _GameWindowManager.app.stage.removeChild(_GameWindowManager._children[t]);
956
- delete _GameWindowManager._children[t];
1100
+ tags.forEach((tag) => {
1101
+ if (_GameWindowManager._children[tag]) {
1102
+ _GameWindowManager.app.stage.removeChild(_GameWindowManager._children[tag]);
1103
+ delete _GameWindowManager._children[tag];
1104
+ _GameWindowManager.removeTickerByCanvasElement(tag);
957
1105
  }
958
1106
  });
959
- _GameWindowManager.removeTickersWithoutAssociatedCanvasElement();
960
- _GameWindowManager.childrenTagsOrder = _GameWindowManager.childrenTagsOrder.filter((t) => !tag.includes(t));
1107
+ _GameWindowManager.childrenTagsOrder = _GameWindowManager.childrenTagsOrder.filter((t) => !tags.includes(t));
961
1108
  }
962
1109
  /**
963
1110
  * Get a canvas element by the tag.
@@ -987,18 +1134,43 @@ var _GameWindowManager = class _GameWindowManager {
987
1134
  _GameWindowManager.app.stage.removeChildren();
988
1135
  _GameWindowManager._children = {};
989
1136
  _GameWindowManager.childrenTagsOrder = [];
990
- _GameWindowManager.removeTickers();
1137
+ _GameWindowManager.removeAllTickers();
991
1138
  }
992
1139
  /**
993
1140
  * Edit the tag of a canvas element.
994
1141
  * @param oldTag The old tag of the canvas element.
995
1142
  * @param newTag The new tag of the canvas element.
996
1143
  */
997
- static editTagCanvasElement(oldTag, newTag) {
1144
+ static editCanvasElementTag(oldTag, newTag) {
998
1145
  if (_GameWindowManager._children[oldTag]) {
999
1146
  _GameWindowManager._children[newTag] = _GameWindowManager._children[oldTag];
1000
1147
  delete _GameWindowManager._children[oldTag];
1001
1148
  }
1149
+ if (_GameWindowManager._currentTickersSteps[oldTag]) {
1150
+ _GameWindowManager._currentTickersSteps[newTag] = _GameWindowManager._currentTickersSteps[oldTag];
1151
+ delete _GameWindowManager._currentTickersSteps[oldTag];
1152
+ }
1153
+ for (let id in _GameWindowManager._currentTickers) {
1154
+ let ticker = _GameWindowManager._currentTickers[id];
1155
+ if (ticker.canvasElementTags.includes(oldTag)) {
1156
+ ticker.canvasElementTags = ticker.canvasElementTags.map((t) => t === oldTag ? newTag : t);
1157
+ if (ticker.args.hasOwnProperty(tagToRemoveAfter)) {
1158
+ let tagToRemoveAfter2 = ticker.args.tagToRemoveAfter;
1159
+ if (typeof tagToRemoveAfter2 === "string") {
1160
+ tagToRemoveAfter2 = [tagToRemoveAfter2];
1161
+ }
1162
+ if (Array.isArray(tagToRemoveAfter2)) {
1163
+ ticker.args.tagToRemoveAfter = tagToRemoveAfter2.map((t) => t === oldTag ? newTag : t);
1164
+ }
1165
+ }
1166
+ }
1167
+ }
1168
+ for (let timeout in _GameWindowManager._currentTickersTimeouts) {
1169
+ let TickerTimeout = _GameWindowManager._currentTickersTimeouts[timeout];
1170
+ if (TickerTimeout.tags.includes(oldTag)) {
1171
+ TickerTimeout.tags = TickerTimeout.tags.map((t) => t === oldTag ? newTag : t);
1172
+ }
1173
+ }
1002
1174
  }
1003
1175
  /** Edit Tickers Methods */
1004
1176
  /**
@@ -1007,106 +1179,127 @@ var _GameWindowManager = class _GameWindowManager {
1007
1179
  static get currentTickers() {
1008
1180
  return _GameWindowManager._currentTickers;
1009
1181
  }
1182
+ static get currentTickersList() {
1183
+ return Object.values(_GameWindowManager._currentTickers);
1184
+ }
1185
+ static get currentTickersWithoutCreatedBySteps() {
1186
+ return Object.fromEntries(Object.entries(_GameWindowManager._currentTickers).filter(([_, ticker]) => !ticker.createdByTicketStepsId));
1187
+ }
1010
1188
  /**
1011
1189
  * The steps of the tickers
1012
1190
  */
1013
1191
  static get currentTickersSteps() {
1014
1192
  return _GameWindowManager._currentTickersSteps;
1015
1193
  }
1194
+ static generateTickerId(tickerData) {
1195
+ try {
1196
+ return sha1__default.default(JSON.stringify(tickerData)).toString() + "_" + Math.random().toString(36).substring(7);
1197
+ } catch (e) {
1198
+ throw new Error(`[Pixi'VN] Error to generate ticker id: ${e}`);
1199
+ }
1200
+ }
1016
1201
  /**
1017
- * Run a ticker.
1202
+ * Run a ticker. You can run multiple addTicker with the same tag and different tickerClasses.
1203
+ * If you run a ticker with the same tag and tickerClass, the old ticker will be removed.
1204
+ * If already exists a sequence of tickers with the same tag, it will be removed.
1018
1205
  * @param canvasEslementTag The tag of the canvas element that will use the ticker.
1019
1206
  * @param ticker The ticker class to be run.
1020
1207
  * @param args The arguments to be used in the ticker.
1021
- * @param duration The time to be used in the ticker. This number is in milliseconds. If it is undefined, the ticker will run forever.
1208
+ * @param duration The time to be used in the ticker. This number is in seconds. If it is undefined, the ticker will run forever.
1022
1209
  * @param priority The priority to be used in the ticker.
1023
1210
  * @returns
1024
1211
  * @example
1025
1212
  * ```typescript
1026
- * GameWindowManager.addTicker("alien", new TickerRotate({ speed: 0.2 }))
1213
+ * GameWindowManager.addTicker("alien", new RotateTicker({ speed: 0.2 }))
1027
1214
  * ```
1028
1215
  */
1029
1216
  static addTicker(canvasElementTag, ticker) {
1030
- let tickerName = ticker.constructor.name;
1217
+ let tickerId = ticker.id;
1031
1218
  if (typeof canvasElementTag === "string") {
1032
1219
  canvasElementTag = [canvasElementTag];
1033
1220
  }
1034
- let t = geTickerInstanceByClassName(tickerName, ticker.args, ticker.duration, ticker.priority);
1035
- if (!t) {
1036
- console.error(`[Pixi'VN] Ticker ${tickerName} not found`);
1221
+ if (!geTickerInstanceById(tickerId, ticker.args, ticker.duration, ticker.priority)) {
1222
+ console.error(`[Pixi'VN] Ticker ${tickerId} not found`);
1037
1223
  return;
1038
1224
  }
1039
- _GameWindowManager.removeAssociationBetweenTickerCanvasElement(canvasElementTag, ticker);
1040
1225
  let tickerHistory = {
1041
1226
  fn: () => {
1042
1227
  },
1043
- className: tickerName,
1044
- args: ticker.args,
1228
+ id: tickerId,
1229
+ args: createExportableElement(ticker.args),
1045
1230
  canvasElementTags: canvasElementTag,
1046
1231
  priority: ticker.priority,
1047
1232
  duration: ticker.duration
1048
1233
  };
1049
- _GameWindowManager.pushTicker(tickerHistory, t);
1050
- _GameWindowManager.removeTickersWithoutAssociatedCanvasElement();
1234
+ let id = _GameWindowManager.generateTickerId(tickerHistory);
1235
+ _GameWindowManager.pushTicker(id, tickerHistory, ticker);
1051
1236
  if (ticker.duration) {
1052
1237
  let timeout = setTimeout(() => {
1053
1238
  _GameWindowManager.removeTickerTimeoutInfo(timeout);
1054
- _GameWindowManager.nextTickerStep(canvasElementTag);
1055
- }, ticker.duration);
1056
- _GameWindowManager.addTickerTimeoutInfo(canvasElementTag, tickerName, timeout.toString());
1239
+ let tickerTimeoutInfo = _GameWindowManager._currentTickersTimeouts[timeout.toString()];
1240
+ if (tickerTimeoutInfo) {
1241
+ _GameWindowManager.removeTicker(id);
1242
+ }
1243
+ }, ticker.duration * 1e3);
1244
+ _GameWindowManager.addTickerTimeoutInfo(canvasElementTag, tickerId, timeout.toString(), true);
1057
1245
  }
1058
1246
  }
1059
- static pushTicker(tickerData, ticker) {
1060
- _GameWindowManager.removeAssociationBetweenTickerCanvasElement(tickerData.canvasElementTags, tickerData);
1061
- _GameWindowManager._currentTickers.push(tickerData);
1247
+ static pushTicker(id, tickerData, ticker) {
1248
+ _GameWindowManager.removeAssociationBetweenTickerCanvasElement(tickerData.canvasElementTags, ticker);
1249
+ _GameWindowManager._currentTickers[id] = tickerData;
1062
1250
  tickerData.fn = (t) => {
1063
- ticker == null ? void 0 : ticker.fn(t, tickerData.args, tickerData.canvasElementTags);
1251
+ let data = _GameWindowManager._currentTickers[id];
1252
+ if (data) {
1253
+ ticker == null ? void 0 : ticker.fn(t, data.args, data.canvasElementTags, id);
1254
+ }
1064
1255
  };
1065
1256
  _GameWindowManager.app.ticker.add(tickerData.fn, void 0, tickerData.priority);
1066
1257
  }
1067
1258
  /**
1068
- * Run a sequence of tickers.
1259
+ * Run a sequence of tickers. If exists a ticker steps with the same tag, it will be removed.
1069
1260
  * @param tag The tag of canvas element that will use the tickers.
1070
1261
  * @param steps The steps of the tickers.
1262
+ * @param currentStepNumber The current step number. It is used to continue the sequence of tickers.
1071
1263
  * @returns
1072
1264
  * @example
1073
1265
  * ```typescript
1074
1266
  * GameWindowManager.addTickersSteps("alien", [
1075
- * new TickerRotate({ speed: 0.1, clockwise: true }, 2000),
1076
- * Pause(500),
1077
- * new TickerRotate({ speed: 0.2, clockwise: false }, 2000),
1267
+ * new RotateTicker({ speed: 0.1, clockwise: true }, 2), // 2 seconds
1268
+ * Pause(1), // 1 second
1269
+ * new RotateTicker({ speed: 0.2, clockwise: false }, 2),
1078
1270
  * Repeat,
1079
1271
  * ])
1080
1272
  * ```
1081
1273
  */
1082
- static addTickersSteps(tag, steps) {
1274
+ static addTickersSteps(tag, steps, currentStepNumber = 0) {
1083
1275
  if (steps.length == 0) {
1084
1276
  console.warn("[Pixi'VN] The steps of the tickers is empty");
1085
1277
  return;
1086
1278
  }
1087
- let alredyExists = _GameWindowManager._currentTickersSteps[tag] !== void 0;
1279
+ _GameWindowManager.removeTickerStepByCanvasElement(tag);
1088
1280
  _GameWindowManager._currentTickersSteps[tag] = {
1089
- currentStepNumber: 0,
1090
- steps: steps.map((s) => {
1091
- if (s === Repeat) {
1092
- return s;
1093
- }
1094
- if (!s.duration) {
1095
- console.warn("[Pixi'VN] Duration is not defined, so it will be set to 1000");
1096
- s.duration = 1e3;
1281
+ currentStepNumber,
1282
+ steps: steps.map((step) => {
1283
+ if (step === Repeat) {
1284
+ return step;
1097
1285
  }
1098
- if (s.hasOwnProperty("type") && s.type === PauseValueType) {
1099
- return s;
1286
+ if (step.hasOwnProperty("type") && step.type === "pause") {
1287
+ return step;
1100
1288
  }
1101
- let tickerName = s.constructor.name;
1289
+ let tickerId = step.id;
1102
1290
  return {
1103
- ticker: tickerName,
1104
- args: s.args,
1105
- duration: s.duration
1291
+ ticker: tickerId,
1292
+ args: createExportableElement(step.args),
1293
+ duration: step.duration
1106
1294
  };
1107
1295
  })
1108
1296
  };
1109
- if (!alredyExists) {
1297
+ _GameWindowManager.runTickersSteps(tag);
1298
+ }
1299
+ static restoneTickersSteps(data) {
1300
+ for (let tag in data) {
1301
+ let steps = data[tag];
1302
+ _GameWindowManager._currentTickersSteps[tag] = steps;
1110
1303
  _GameWindowManager.runTickersSteps(tag);
1111
1304
  }
1112
1305
  }
@@ -1120,70 +1313,106 @@ var _GameWindowManager = class _GameWindowManager {
1120
1313
  return;
1121
1314
  }
1122
1315
  }
1123
- if (step.hasOwnProperty("type") && step.type === PauseValueType) {
1316
+ if (step.hasOwnProperty("type") && step.type === "pause") {
1124
1317
  let timeout = setTimeout(() => {
1318
+ let tickerTimeoutInfo = _GameWindowManager._currentTickersTimeouts[timeout.toString()];
1319
+ if (tickerTimeoutInfo) {
1320
+ tickerTimeoutInfo.tags.forEach((tag2) => {
1321
+ _GameWindowManager.nextTickerStep(tag2);
1322
+ });
1323
+ }
1125
1324
  _GameWindowManager.removeTickerTimeoutInfo(timeout);
1126
- _GameWindowManager.nextTickerStep(tag);
1127
- }, step.duration);
1128
- _GameWindowManager.addTickerTimeoutInfo(tag, "steps", timeout.toString());
1325
+ }, step.duration * 1e3);
1326
+ _GameWindowManager.addTickerTimeoutInfo(tag, "steps", timeout.toString(), false);
1129
1327
  return;
1130
1328
  }
1131
- let ticker = geTickerInstanceByClassName(step.ticker, step.args, step.duration, step.priority);
1329
+ let ticker = geTickerInstanceById(step.ticker, step.args, step.duration, step.priority);
1132
1330
  if (!ticker) {
1133
1331
  console.error(`[Pixi'VN] Ticker ${step.ticker} not found`);
1134
1332
  return;
1135
1333
  }
1136
- _GameWindowManager.addTicker(tag, ticker);
1334
+ let tickerName = ticker.id;
1335
+ let tickerHistory = {
1336
+ fn: () => {
1337
+ },
1338
+ id: tickerName,
1339
+ args: createExportableElement(ticker.args),
1340
+ canvasElementTags: [tag],
1341
+ priority: ticker.priority,
1342
+ duration: ticker.duration,
1343
+ createdByTicketStepsId: tag
1344
+ };
1345
+ let id = _GameWindowManager.generateTickerId(tickerHistory);
1346
+ _GameWindowManager.pushTicker(id, tickerHistory, ticker);
1347
+ if (ticker.duration) {
1348
+ let timeout = setTimeout(() => {
1349
+ let tickerTimeoutInfo = _GameWindowManager._currentTickersTimeouts[timeout.toString()];
1350
+ if (tickerTimeoutInfo) {
1351
+ _GameWindowManager.removeTicker(id);
1352
+ tickerTimeoutInfo.tags.forEach((tag2) => {
1353
+ _GameWindowManager.nextTickerStep(tag2);
1354
+ });
1355
+ }
1356
+ _GameWindowManager.removeTickerTimeoutInfo(timeout);
1357
+ }, ticker.duration * 1e3);
1358
+ _GameWindowManager.addTickerTimeoutInfo(tag, tickerName, timeout.toString(), false);
1359
+ }
1137
1360
  }
1138
1361
  static nextTickerStep(tag) {
1139
- if (typeof tag === "string") {
1140
- tag = [tag];
1362
+ if (_GameWindowManager._currentTickersSteps[tag]) {
1363
+ let steps = _GameWindowManager._currentTickersSteps[tag];
1364
+ if (steps.currentStepNumber + 1 < steps.steps.length) {
1365
+ steps.currentStepNumber++;
1366
+ _GameWindowManager._currentTickersSteps[tag] = steps;
1367
+ _GameWindowManager.runTickersSteps(tag);
1368
+ } else {
1369
+ _GameWindowManager.removeTickerStepByCanvasElement(tag);
1370
+ }
1141
1371
  }
1142
- tag.forEach((tag2) => {
1143
- if (_GameWindowManager._currentTickersSteps[tag2]) {
1144
- let steps = _GameWindowManager._currentTickersSteps[tag2];
1145
- if (steps.currentStepNumber + 1 < steps.steps.length) {
1146
- steps.currentStepNumber++;
1147
- _GameWindowManager._currentTickersSteps[tag2] = steps;
1148
- _GameWindowManager.runTickersSteps(tag2);
1149
- } else {
1150
- delete _GameWindowManager._currentTickersSteps[tag2];
1151
- }
1372
+ }
1373
+ static onEndOfTicker(canvasElementTags, ticker, canvasElementTagsToDelete, tickerId) {
1374
+ let tickerData = _GameWindowManager._currentTickers[tickerId];
1375
+ _GameWindowManager.removeAssociationBetweenTickerCanvasElement(canvasElementTags, ticker);
1376
+ _GameWindowManager.removeCanvasElement(canvasElementTagsToDelete);
1377
+ if (tickerData) {
1378
+ _GameWindowManager.removeTicker(tickerId);
1379
+ if (tickerData.duration == void 0 && tickerData.createdByTicketStepsId) {
1380
+ _GameWindowManager.nextTickerStep(tickerData.createdByTicketStepsId);
1152
1381
  }
1153
- });
1382
+ }
1154
1383
  }
1155
1384
  /**
1156
1385
  * Remove a connection between a canvas element and a ticker.
1157
1386
  * And remove the ticker if there is no canvas element connected to it.
1158
- * @param tag The tag of the canvas element that will use the ticker.
1387
+ * @param tags The tag of the canvas element that will use the ticker.
1159
1388
  * @param ticker The ticker class to be removed.
1160
1389
  * @example
1161
1390
  * ```typescript
1162
- * GameWindowManager.removeAssociationBetweenTickerCanvasElement("alien", TickerRotate)
1391
+ * GameWindowManager.removeAssociationBetweenTickerCanvasElement("alien", RotateTicker)
1163
1392
  * ```
1164
1393
  */
1165
- static removeAssociationBetweenTickerCanvasElement(tag, ticker) {
1166
- let tickerName;
1167
- if (ticker instanceof TickerBase) {
1168
- tickerName = ticker.constructor.name;
1394
+ static removeAssociationBetweenTickerCanvasElement(tags, ticker) {
1395
+ let tickerId;
1396
+ if (typeof ticker === "string") {
1397
+ tickerId = ticker;
1398
+ } else if (ticker instanceof TickerBase) {
1399
+ tickerId = ticker.id;
1169
1400
  } else {
1170
- tickerName = ticker.name;
1401
+ tickerId = ticker.prototype.id;
1171
1402
  }
1172
- if (typeof tag === "string") {
1173
- tag = [tag];
1403
+ if (typeof tags === "string") {
1404
+ tags = [tags];
1174
1405
  }
1175
- _GameWindowManager._currentTickers = _GameWindowManager._currentTickers.map((t) => {
1176
- if (t.className === tickerName) {
1177
- t.canvasElementTags = t.canvasElementTags.filter((e) => !tag.includes(e));
1406
+ for (let id in _GameWindowManager._currentTickers) {
1407
+ let ticker2 = _GameWindowManager._currentTickers[id];
1408
+ if (ticker2.id === tickerId) {
1409
+ _GameWindowManager._currentTickers[id].canvasElementTags = ticker2.canvasElementTags.filter((e) => !tags.includes(e));
1178
1410
  }
1179
- return t;
1180
- });
1181
- for (let timeout in _GameWindowManager.currentTickersTimeouts) {
1182
- let t = _GameWindowManager.currentTickersTimeouts[timeout].tags.filter((e) => !tag.includes(e));
1183
- if (t.length == 0) {
1184
- _GameWindowManager.removeTickerTimeoutInfo(timeout);
1185
- } else {
1186
- _GameWindowManager.currentTickersTimeouts[timeout].tags = t;
1411
+ }
1412
+ for (let timeout in _GameWindowManager._currentTickersTimeouts) {
1413
+ let TickerTimeout = _GameWindowManager._currentTickersTimeouts[timeout];
1414
+ if (TickerTimeout.ticker === tickerId && TickerTimeout.canBeDeletedBeforeEnd) {
1415
+ _GameWindowManager._currentTickersTimeouts[timeout].tags = TickerTimeout.tags.filter((t) => !tags.includes(t));
1187
1416
  }
1188
1417
  }
1189
1418
  _GameWindowManager.removeTickersWithoutAssociatedCanvasElement();
@@ -1192,49 +1421,117 @@ var _GameWindowManager = class _GameWindowManager {
1192
1421
  * Remove all tickers that are not connected to any existing canvas element.
1193
1422
  */
1194
1423
  static removeTickersWithoutAssociatedCanvasElement() {
1195
- let currentTickers = _GameWindowManager._currentTickers.map((t) => {
1196
- t.canvasElementTags = t.canvasElementTags.filter((e) => _GameWindowManager._children[e]);
1197
- return t;
1198
- });
1199
- currentTickers.filter((t) => t.canvasElementTags.length === 0).forEach((t) => {
1200
- _GameWindowManager.app.ticker.remove(t.fn);
1201
- });
1202
- currentTickers = currentTickers.filter((t) => t.canvasElementTags.length > 0);
1203
- _GameWindowManager._currentTickers = currentTickers;
1424
+ for (let id in _GameWindowManager._currentTickers) {
1425
+ let ticker = _GameWindowManager._currentTickers[id];
1426
+ ticker.canvasElementTags = ticker.canvasElementTags.filter((e) => _GameWindowManager._children[e]);
1427
+ if (ticker.canvasElementTags.length === 0) {
1428
+ _GameWindowManager.removeTicker(id);
1429
+ }
1430
+ }
1204
1431
  for (let tag in _GameWindowManager._currentTickersSteps) {
1205
1432
  if (_GameWindowManager._children[tag] === void 0) {
1206
1433
  delete _GameWindowManager._currentTickersSteps[tag];
1207
1434
  }
1208
1435
  }
1436
+ Object.entries(_GameWindowManager._currentTickersTimeouts).forEach(([timeout, { tags }]) => {
1437
+ if (tags.length === 0) {
1438
+ _GameWindowManager.removeTickerTimeout(timeout);
1439
+ }
1440
+ });
1209
1441
  }
1210
- static addTickerTimeoutInfo(tags, ticker, timeout) {
1442
+ static addTickerTimeoutInfo(tags, ticker, timeout, canBeDeletedBeforeEnd) {
1211
1443
  if (typeof tags === "string") {
1212
1444
  tags = [tags];
1213
1445
  }
1214
- _GameWindowManager.currentTickersTimeouts[timeout] = {
1446
+ _GameWindowManager._currentTickersTimeouts[timeout] = {
1215
1447
  tags,
1216
- ticker
1448
+ ticker,
1449
+ canBeDeletedBeforeEnd
1217
1450
  };
1218
1451
  }
1219
1452
  static removeTickerTimeoutInfo(timeout) {
1220
1453
  if (typeof timeout !== "string") {
1221
1454
  timeout = timeout.toString();
1222
1455
  }
1223
- if (_GameWindowManager.currentTickersTimeouts[timeout]) {
1224
- delete _GameWindowManager.currentTickersTimeouts[timeout];
1456
+ if (_GameWindowManager._currentTickersTimeouts[timeout]) {
1457
+ delete _GameWindowManager._currentTickersTimeouts[timeout];
1458
+ }
1459
+ }
1460
+ static removeTickerTimeout(timeout) {
1461
+ if (typeof timeout !== "string") {
1462
+ timeout = timeout.toString();
1463
+ }
1464
+ clearTimeout(Number(timeout));
1465
+ _GameWindowManager.removeTickerTimeoutInfo(timeout);
1466
+ }
1467
+ static removeTickerTimeoutsByTag(tag, checkCanBeDeletedBeforeEnd) {
1468
+ for (let timeout in _GameWindowManager._currentTickersTimeouts) {
1469
+ let tagsWithoutTagToRemove = _GameWindowManager._currentTickersTimeouts[timeout].tags.filter((t) => t !== tag);
1470
+ if (tagsWithoutTagToRemove.length === 0) {
1471
+ let canBeDeletedBeforeEnd = _GameWindowManager._currentTickersTimeouts[timeout].canBeDeletedBeforeEnd;
1472
+ if (!checkCanBeDeletedBeforeEnd || canBeDeletedBeforeEnd) {
1473
+ _GameWindowManager.removeTickerTimeout(timeout);
1474
+ }
1475
+ } else {
1476
+ _GameWindowManager._currentTickersTimeouts[timeout].tags = tagsWithoutTagToRemove;
1477
+ }
1225
1478
  }
1226
1479
  }
1227
1480
  /**
1228
1481
  * Remove all tickers from the canvas.
1229
1482
  */
1230
- static removeTickers() {
1483
+ static removeAllTickers() {
1231
1484
  _GameWindowManager._currentTickersSteps = {};
1232
- _GameWindowManager._currentTickers.forEach((t) => {
1233
- _GameWindowManager.app.ticker.remove(t.fn);
1485
+ Object.keys(_GameWindowManager._currentTickers).forEach((id) => {
1486
+ _GameWindowManager.removeTicker(id);
1487
+ });
1488
+ _GameWindowManager._currentTickers = {};
1489
+ for (let timeout in _GameWindowManager._currentTickersTimeouts) {
1490
+ _GameWindowManager.removeTickerTimeout(timeout);
1491
+ }
1492
+ }
1493
+ /**
1494
+ * Remove all tickers from a canvas element.
1495
+ * @param tag The tag of the canvas element that will use the ticker.
1496
+ */
1497
+ static removeTickerByCanvasElement(tag) {
1498
+ if (typeof tag === "string") {
1499
+ tag = [tag];
1500
+ }
1501
+ tag.forEach((tag2) => {
1502
+ for (let id in _GameWindowManager._currentTickers) {
1503
+ let ticker = _GameWindowManager._currentTickers[id];
1504
+ if (ticker.canvasElementTags.includes(tag2)) {
1505
+ _GameWindowManager.removeTicker(id);
1506
+ }
1507
+ }
1508
+ if (_GameWindowManager._currentTickersSteps[tag2]) {
1509
+ delete _GameWindowManager._currentTickersSteps[tag2];
1510
+ }
1511
+ _GameWindowManager.removeTickerTimeoutsByTag(tag2, false);
1512
+ delete _GameWindowManager._currentTickersSteps[tag2];
1234
1513
  });
1235
- _GameWindowManager._currentTickers = [];
1236
- for (let timeout in _GameWindowManager.currentTickersTimeouts) {
1237
- _GameWindowManager.removeTickerTimeoutInfo(timeout);
1514
+ }
1515
+ static removeTickerStepByCanvasElement(tag) {
1516
+ if (_GameWindowManager._currentTickersSteps[tag]) {
1517
+ delete _GameWindowManager._currentTickersSteps[tag];
1518
+ }
1519
+ for (let id in _GameWindowManager._currentTickers) {
1520
+ let ticker = _GameWindowManager._currentTickers[id];
1521
+ if (ticker.createdByTicketStepsId === tag) {
1522
+ _GameWindowManager.removeTicker(id);
1523
+ }
1524
+ }
1525
+ }
1526
+ static removeTicker(tickerId) {
1527
+ let ticker = _GameWindowManager._currentTickers[tickerId];
1528
+ if (ticker) {
1529
+ if (ticker.args.hasOwnProperty(tagToRemoveAfter)) {
1530
+ let tagToRemoveAfter2 = ticker.args.tagToRemoveAfter;
1531
+ _GameWindowManager.removeCanvasElement(tagToRemoveAfter2);
1532
+ }
1533
+ _GameWindowManager.app.ticker.remove(ticker.fn);
1534
+ delete _GameWindowManager._currentTickers[tickerId];
1238
1535
  }
1239
1536
  }
1240
1537
  /**
@@ -1261,7 +1558,8 @@ var _GameWindowManager = class _GameWindowManager {
1261
1558
  currentElements[tag] = exportCanvasElement(_GameWindowManager._children[tag]);
1262
1559
  }
1263
1560
  return {
1264
- currentTickers: createExportableElement(_GameWindowManager._currentTickers),
1561
+ currentTickers: createExportableElement(_GameWindowManager.currentTickersWithoutCreatedBySteps),
1562
+ currentTickersSteps: createExportableElement(_GameWindowManager._currentTickersSteps),
1265
1563
  currentElements: createExportableElement(currentElements),
1266
1564
  childrenTagsOrder: createExportableElement(_GameWindowManager.childrenTagsOrder)
1267
1565
  };
@@ -1296,15 +1594,20 @@ var _GameWindowManager = class _GameWindowManager {
1296
1594
  }
1297
1595
  if (data.hasOwnProperty("currentTickers")) {
1298
1596
  let currentTickers = data["currentTickers"];
1299
- currentTickers.forEach((t) => {
1597
+ for (let id in currentTickers) {
1598
+ let t = currentTickers[id];
1300
1599
  let tags = t.canvasElementTags;
1301
- let ticker = geTickerInstanceByClassName(t.className, t.args, t.duration, t.priority);
1600
+ let ticker = geTickerInstanceById(t.id, t.args, t.duration, t.priority);
1302
1601
  if (ticker) {
1303
1602
  _GameWindowManager.addTicker(tags, ticker);
1304
1603
  } else {
1305
- console.error(`[Pixi'VN] Ticker ${t.className} not found`);
1604
+ console.error(`[Pixi'VN] Ticker ${t.id} not found`);
1306
1605
  }
1307
- });
1606
+ }
1607
+ }
1608
+ if (data.hasOwnProperty("currentTickersSteps")) {
1609
+ let currentTickersSteps = data["currentTickersSteps"];
1610
+ _GameWindowManager.restoneTickersSteps(currentTickersSteps);
1308
1611
  }
1309
1612
  } catch (e) {
1310
1613
  console.error("[Pixi'VN] Error importing data", e);
@@ -1318,9 +1621,9 @@ _GameWindowManager._children = {};
1318
1621
  * The order of the children tags.
1319
1622
  */
1320
1623
  _GameWindowManager.childrenTagsOrder = [];
1321
- _GameWindowManager._currentTickers = [];
1624
+ _GameWindowManager._currentTickers = {};
1322
1625
  _GameWindowManager._currentTickersSteps = {};
1323
- _GameWindowManager.currentTickersTimeouts = {};
1626
+ _GameWindowManager._currentTickersTimeouts = {};
1324
1627
  var GameWindowManager = _GameWindowManager;
1325
1628
 
1326
1629
  // src/functions/GameUtility.ts