@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,31 +547,26 @@ 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/StoredClassModel.ts
554
571
  var StoredClassModel = class {
555
572
  /**
@@ -609,39 +626,42 @@ var StoredClassModel = class {
609
626
  var TickerBase = class {
610
627
  /**
611
628
  * @param args The arguments that you want to pass to the ticker.
612
- * @param duration The duration of the ticker. If is undefined, the ticker will be called every frame.
613
- * @param priority The priority of the ticker. If is undefined, the priority will be UPDATE_PRIORITY.NORMAL.
629
+ * @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
630
+ * @param priority The priority of the ticker. @default UPDATE_PRIORITY.NORMAL
614
631
  */
615
632
  constructor(args, duration, priority) {
633
+ /**
634
+ * Get the id of the ticker. This variable is used in the system to get the ticker by id, {@link geTickerInstanceById}
635
+ */
636
+ this.id = "ticker_id_not_set";
616
637
  this.args = args;
617
638
  this.duration = duration;
618
639
  this.priority = priority;
640
+ this.id = this.constructor.prototype.id;
619
641
  }
620
642
  /**
621
643
  * The method that will be called every frame.
622
644
  * This method should be overridden and you can use GameWindowManager.addCanvasElement() to get the canvas element of the canvas, and edit them.
623
- * @param t The ticker that is calling this method
624
- * @param args The arguments that you passed when you added the ticker
625
- * @param tags The tags of the canvas elements that are connected to this ticker
645
+ * @param _ticker The ticker that is calling this method
646
+ * @param _args The arguments that you passed when you added the ticker
647
+ * @param _tags The tags of the canvas elements that are connected to this ticker
648
+ * @param _tickerId The id of the ticker. You can use this to get the ticker from the {@link GameWindowManager.currentTickers}
626
649
  */
627
- fn(_t, _args, _tags) {
650
+ fn(_ticker, _args, _tags, _tickerId) {
628
651
  throw new Error("[Pixi'VN] The method TickerBase.fn() must be overridden");
629
652
  }
630
653
  };
631
- var TickerFadeAlpha = class extends TickerBase {
632
- /**
633
- * The method that will be called every frame to fade the alpha of the canvas element of the canvas.
634
- * @param delta The delta time
635
- * @param args The arguments that are passed to the ticker
636
- * @param tags The tags of the canvas element that are connected to this ticker
637
- */
638
- fn(t, args, tags) {
654
+
655
+ // src/classes/ticker/FadeAlphaTicker.ts
656
+ var FadeAlphaTicker = class extends TickerBase {
657
+ fn(ticker, args, tags, tickerId) {
639
658
  let type = args.type === void 0 ? "hide" : args.type;
640
- let speed = args.speed === void 0 ? 0.1 : args.speed;
659
+ let duration = args.duration === void 0 ? 1 : args.duration;
660
+ let speed = 1 / (duration * 60);
641
661
  let limit = args.limit === void 0 ? type === "hide" ? 0 : 1 : args.limit;
642
- let removeElementAfter = args.tagToRemoveAfter || [];
643
- if (typeof removeElementAfter === "string") {
644
- removeElementAfter = [removeElementAfter];
662
+ let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
663
+ if (typeof tagToRemoveAfter2 === "string") {
664
+ tagToRemoveAfter2 = [tagToRemoveAfter2];
645
665
  }
646
666
  if (type === "hide" && limit < 0) {
647
667
  limit = 0;
@@ -662,61 +682,88 @@ var TickerFadeAlpha = class extends TickerBase {
662
682
  let element = GameWindowManager.getCanvasElement(tag);
663
683
  if (element && element instanceof pixi_js.Container) {
664
684
  if (type === "show" && element.alpha < limit) {
665
- element.alpha += speed * t.deltaTime;
685
+ element.alpha += speed * ticker.deltaTime;
666
686
  } else if (type === "hide" && element.alpha > limit) {
667
- element.alpha -= speed * t.deltaTime;
668
- } else {
687
+ element.alpha -= speed * ticker.deltaTime;
688
+ }
689
+ if (type === "show" && element.alpha >= limit) {
690
+ element.alpha = limit;
691
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
692
+ } else if (type === "hide" && element.alpha <= limit) {
669
693
  element.alpha = limit;
670
- GameWindowManager.removeAssociationBetweenTickerCanvasElement(tag, this);
671
- GameWindowManager.removeCanvasElement(removeElementAfter);
694
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
672
695
  }
673
696
  }
674
697
  });
675
698
  }
676
699
  };
677
- TickerFadeAlpha = __decorateClass([
700
+ FadeAlphaTicker = __decorateClass([
678
701
  tickerDecorator()
679
- ], TickerFadeAlpha);
702
+ ], FadeAlphaTicker);
680
703
 
681
704
  // src/functions/TickerUtility.ts
682
705
  function updateTickerProgression(args, propertyName, progression) {
683
- if (args.hasOwnProperty(propertyName) && typeof args[propertyName] !== "number") {
706
+ if (args[propertyName] === void 0 || !progression || args[propertyName] === progression.limit) {
684
707
  return;
685
708
  }
686
- if (args[propertyName] !== void 0 && progression && args[propertyName] !== progression.limit) {
709
+ if (typeof args[propertyName] === "number") {
687
710
  if (progression.type === "linear") {
688
- args[propertyName] += progression.amt;
689
- if (progression.limit !== void 0) {
690
- if (args[propertyName] > progression.limit && progression.amt > 0) {
691
- args[propertyName] = progression.limit;
692
- } else if (args[propertyName] < progression.limit && progression.amt < 0) {
693
- args[propertyName] = progression.limit;
694
- }
695
- }
711
+ args[propertyName] = getLinearProgression(args[propertyName], progression);
696
712
  } else if (progression.type === "exponential") {
697
- args[propertyName] += args[propertyName] * progression.percentage;
698
- if (progression.limit !== void 0) {
699
- if (args[propertyName] > progression.limit && progression.percentage > 0) {
700
- args[propertyName] = progression.limit;
701
- } else if (args[propertyName] < progression.limit && progression.percentage < 0) {
702
- args[propertyName] = progression.limit;
703
- }
704
- }
713
+ args[propertyName] = getExponentialProgression(args[propertyName], progression);
714
+ }
715
+ } 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") {
716
+ if (progression.type === "linear") {
717
+ args[propertyName].x = getLinearProgression(args[propertyName].x, progression);
718
+ args[propertyName].y = getLinearProgression(args[propertyName].y, progression);
719
+ } else if (progression.type === "exponential") {
720
+ args[propertyName].x = getExponentialProgression(args[propertyName].x, progression);
721
+ args[propertyName].y = getExponentialProgression(args[propertyName].y, progression);
722
+ }
723
+ }
724
+ }
725
+ function getLinearProgression(number, progression) {
726
+ if (progression.limit !== void 0) {
727
+ if (number > progression.limit && progression.amt > 0) {
728
+ return progression.limit;
729
+ } else if (number < progression.limit && progression.amt < 0) {
730
+ return progression.limit;
705
731
  }
706
732
  }
733
+ return number + progression.amt / 60;
734
+ }
735
+ function getExponentialProgression(number, progression) {
736
+ if (progression.limit !== void 0) {
737
+ if (number > progression.limit && progression.percentage > 0) {
738
+ return progression.limit;
739
+ } else if (number < progression.limit && progression.percentage < 0) {
740
+ return progression.limit;
741
+ }
742
+ }
743
+ return number + number * progression.percentage;
707
744
  }
708
745
 
709
- // src/classes/ticker/TickerMove.ts
710
- var TickerMove = class extends TickerBase {
711
- /**
712
- * The method that will be called every frame to move the canvas element of the canvas.
713
- * @param t The ticker that is calling this method
714
- * @param args The arguments that are passed to the ticker
715
- * @param tags The tags of the canvas element that are connected to this ticker
716
- */
717
- fn(t, args, tags) {
718
- let speed = args.speed === void 0 ? 0.1 : args.speed;
746
+ // src/classes/ticker/MoveTicker.ts
747
+ var MoveTicker = class extends TickerBase {
748
+ fn(ticker, args, tags, tickerId) {
749
+ let xSpeed = 1;
750
+ let ySpeed = 1;
751
+ if (args.speed) {
752
+ if (typeof args.speed === "number") {
753
+ xSpeed = args.speed;
754
+ ySpeed = args.speed;
755
+ } else {
756
+ xSpeed = args.speed.x;
757
+ ySpeed = args.speed.y;
758
+ }
759
+ }
760
+ xSpeed /= 60;
761
+ ySpeed /= 60;
719
762
  let destination = args.destination;
763
+ let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
764
+ if (typeof tagToRemoveAfter2 === "string") {
765
+ tagToRemoveAfter2 = [tagToRemoveAfter2];
766
+ }
720
767
  tags.filter((tag) => {
721
768
  var _a;
722
769
  let element = GameWindowManager.getCanvasElement(tag);
@@ -729,41 +776,42 @@ var TickerMove = class extends TickerBase {
729
776
  }).forEach((tag) => {
730
777
  let element = GameWindowManager.getCanvasElement(tag);
731
778
  if (element && element instanceof pixi_js.Container) {
732
- let xDistance = destination.x - element.x;
779
+ let xDistance = destination.x - element.x > 0 ? 1 : -1;
733
780
  if (xDistance != 0) {
734
- element.x += xDistance / speed * t.deltaTime;
781
+ element.x += xDistance * xSpeed * ticker.deltaTime;
735
782
  let newDistance = destination.x - element.x;
736
783
  if (xDistance < 0 && newDistance > 0 || xDistance > 0 && newDistance < 0) {
737
784
  element.x = destination.x;
738
785
  }
739
786
  }
740
- let yDistance = destination.y - element.y;
787
+ let yDistance = destination.y - element.y > 0 ? 1 : -1;
741
788
  if (yDistance != 0) {
742
- element.y += yDistance / speed * t.deltaTime;
789
+ element.y += yDistance * ySpeed * ticker.deltaTime;
743
790
  let newDistance = destination.y - element.y;
744
791
  if (yDistance < 0 && newDistance > 0 || yDistance > 0 && newDistance < 0) {
745
792
  element.y = destination.y;
746
793
  }
747
794
  }
795
+ if (element.x == destination.x && element.y == destination.y) {
796
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
797
+ }
748
798
  }
749
799
  });
750
800
  if (args.speedProgression)
751
801
  updateTickerProgression(args, "speed", args.speedProgression);
752
802
  }
753
803
  };
754
- TickerMove = __decorateClass([
804
+ MoveTicker = __decorateClass([
755
805
  tickerDecorator()
756
- ], TickerMove);
757
- var TickerRotate = class extends TickerBase {
758
- /**
759
- * The method that will be called every frame to rotate the canvas element of the canvas.
760
- * @param delta The delta time
761
- * @param args The arguments that are passed to the ticker
762
- * @param tags The tags of the canvas element that are connected to this ticker
763
- */
764
- fn(t, args, tags) {
765
- let speed = args.speed === void 0 ? 0.1 : args.speed;
806
+ ], MoveTicker);
807
+ var RotateTicker = class extends TickerBase {
808
+ fn(ticker, args, tags, tickerId) {
809
+ let speed = (args.speed === void 0 ? 1 : args.speed) / 60;
766
810
  let clockwise = args.clockwise === void 0 ? true : args.clockwise;
811
+ let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
812
+ if (typeof tagToRemoveAfter2 === "string") {
813
+ tagToRemoveAfter2 = [tagToRemoveAfter2];
814
+ }
767
815
  tags.filter((tag) => {
768
816
  var _a;
769
817
  let element = GameWindowManager.getCanvasElement(tag);
@@ -777,18 +825,114 @@ var TickerRotate = class extends TickerBase {
777
825
  let element = GameWindowManager.getCanvasElement(tag);
778
826
  if (element && element instanceof pixi_js.Container) {
779
827
  if (clockwise)
780
- element.rotation += speed * t.deltaTime;
828
+ element.rotation += speed * ticker.deltaTime;
781
829
  else
782
- element.rotation -= speed * t.deltaTime;
830
+ element.rotation -= speed * ticker.deltaTime;
831
+ if (speed < 1e-5 && !(args.speedProgression && args.speedProgression.type == "linear" && args.speedProgression.amt != 0)) {
832
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
833
+ }
834
+ }
835
+ });
836
+ if (args.speedProgression)
837
+ updateTickerProgression(args, "speed", args.speedProgression);
838
+ }
839
+ };
840
+ RotateTicker = __decorateClass([
841
+ tickerDecorator()
842
+ ], RotateTicker);
843
+ var ZoomTicker = class extends TickerBase {
844
+ fn(ticker, args, tags, tickerId) {
845
+ let xSpeed = 0.1;
846
+ let ySpeed = 0.1;
847
+ if (args.speed) {
848
+ if (typeof args.speed === "number") {
849
+ xSpeed = args.speed;
850
+ ySpeed = args.speed;
851
+ } else {
852
+ xSpeed = args.speed.x;
853
+ ySpeed = args.speed.y;
854
+ }
855
+ }
856
+ xSpeed /= 60;
857
+ ySpeed /= 60;
858
+ let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
859
+ if (typeof tagToRemoveAfter2 === "string") {
860
+ tagToRemoveAfter2 = [tagToRemoveAfter2];
861
+ }
862
+ let type = args.type || "zoom";
863
+ let xLimit = type === "zoom" ? Infinity : 0;
864
+ let yLimit = type === "zoom" ? Infinity : 0;
865
+ if (args.limit) {
866
+ if (typeof args.limit === "number") {
867
+ xLimit = args.limit;
868
+ yLimit = args.limit;
869
+ } else {
870
+ xLimit = args.limit.x;
871
+ yLimit = args.limit.y;
872
+ }
873
+ }
874
+ tags.filter((tag) => {
875
+ var _a;
876
+ let element = GameWindowManager.getCanvasElement(tag);
877
+ if (args.startOnlyIfHaveTexture) {
878
+ if (element && element instanceof pixi_js.Sprite && ((_a = element.texture) == null ? void 0 : _a.label) == "EMPTY") {
879
+ return false;
880
+ }
881
+ }
882
+ return true;
883
+ }).forEach((tag) => {
884
+ let element = GameWindowManager.getCanvasElement(tag);
885
+ if (element && element instanceof pixi_js.Container) {
886
+ if (type === "zoom" && (element.scale.x < xLimit || element.scale.y < yLimit)) {
887
+ element.scale.x += xSpeed * ticker.deltaTime;
888
+ element.scale.y += ySpeed * ticker.deltaTime;
889
+ } else if (type === "unzoom" && (element.scale.x > xLimit || element.scale.y > yLimit)) {
890
+ element.scale.x -= xSpeed * ticker.deltaTime;
891
+ element.scale.y -= ySpeed * ticker.deltaTime;
892
+ }
893
+ if (type === "zoom") {
894
+ if (element.scale.x > xLimit) {
895
+ element.scale.x = xLimit;
896
+ }
897
+ if (element.scale.y > yLimit) {
898
+ element.scale.y = yLimit;
899
+ }
900
+ if (element.scale.x >= xLimit && element.scale.y >= yLimit) {
901
+ element.scale.x = xLimit;
902
+ element.scale.y = yLimit;
903
+ this.onEndOfTicker(tag, tickerId, element, tagToRemoveAfter2);
904
+ }
905
+ } else if (type === "unzoom") {
906
+ if (element.scale.x < xLimit) {
907
+ element.scale.x = xLimit;
908
+ }
909
+ if (element.scale.y < yLimit) {
910
+ element.scale.y = yLimit;
911
+ }
912
+ if (element.scale.x <= xLimit && element.scale.y <= yLimit) {
913
+ element.scale.x = xLimit;
914
+ element.scale.y = yLimit;
915
+ this.onEndOfTicker(tag, tickerId, element, tagToRemoveAfter2);
916
+ }
917
+ }
918
+ if (xSpeed < 1e-5 && ySpeed < 1e-5 && !(args.speedProgression && args.speedProgression.type == "linear" && args.speedProgression.amt != 0)) {
919
+ this.onEndOfTicker(tag, tickerId, element, tagToRemoveAfter2);
920
+ }
783
921
  }
784
922
  });
785
923
  if (args.speedProgression)
786
924
  updateTickerProgression(args, "speed", args.speedProgression);
787
925
  }
926
+ onEndOfTicker(tag, tickerId, _element, tagToRemoveAfter2) {
927
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
928
+ }
788
929
  };
789
- TickerRotate = __decorateClass([
930
+ ZoomTicker = __decorateClass([
790
931
  tickerDecorator()
791
- ], TickerRotate);
932
+ ], ZoomTicker);
933
+
934
+ // src/constants.ts
935
+ var Repeat = "repeat";
792
936
 
793
937
  // src/functions/ExportUtility.ts
794
938
  function createExportableElement(element) {
@@ -897,6 +1041,9 @@ function asciiArtLog() {
897
1041
  `);
898
1042
  }
899
1043
 
1044
+ // src/types/ticker/TagToRemoveAfterType.ts
1045
+ var tagToRemoveAfter = "tagToRemoveAfter";
1046
+
900
1047
  // src/managers/WindowManager.ts
901
1048
  var _GameWindowManager = class _GameWindowManager {
902
1049
  constructor() {
@@ -1079,25 +1226,25 @@ var _GameWindowManager = class _GameWindowManager {
1079
1226
  /**
1080
1227
  * Remove a canvas element from the canvas.
1081
1228
  * And remove all tickers that are not connected to any canvas element.
1082
- * @param tag The tag of the canvas element to be removed.
1229
+ * @param tags The tag of the canvas element to be removed.
1083
1230
  * @returns
1084
1231
  * @example
1085
1232
  * ```typescript
1086
1233
  * GameWindowManager.removeCanvasElement("bunny");
1087
1234
  * ```
1088
1235
  */
1089
- static removeCanvasElement(tag) {
1090
- if (typeof tag === "string") {
1091
- tag = [tag];
1236
+ static removeCanvasElement(tags) {
1237
+ if (typeof tags === "string") {
1238
+ tags = [tags];
1092
1239
  }
1093
- tag.forEach((t) => {
1094
- if (_GameWindowManager._children[t]) {
1095
- _GameWindowManager.app.stage.removeChild(_GameWindowManager._children[t]);
1096
- delete _GameWindowManager._children[t];
1240
+ tags.forEach((tag) => {
1241
+ if (_GameWindowManager._children[tag]) {
1242
+ _GameWindowManager.app.stage.removeChild(_GameWindowManager._children[tag]);
1243
+ delete _GameWindowManager._children[tag];
1244
+ _GameWindowManager.removeTickerByCanvasElement(tag);
1097
1245
  }
1098
1246
  });
1099
- _GameWindowManager.removeTickersWithoutAssociatedCanvasElement();
1100
- _GameWindowManager.childrenTagsOrder = _GameWindowManager.childrenTagsOrder.filter((t) => !tag.includes(t));
1247
+ _GameWindowManager.childrenTagsOrder = _GameWindowManager.childrenTagsOrder.filter((t) => !tags.includes(t));
1101
1248
  }
1102
1249
  /**
1103
1250
  * Get a canvas element by the tag.
@@ -1127,18 +1274,43 @@ var _GameWindowManager = class _GameWindowManager {
1127
1274
  _GameWindowManager.app.stage.removeChildren();
1128
1275
  _GameWindowManager._children = {};
1129
1276
  _GameWindowManager.childrenTagsOrder = [];
1130
- _GameWindowManager.removeTickers();
1277
+ _GameWindowManager.removeAllTickers();
1131
1278
  }
1132
1279
  /**
1133
1280
  * Edit the tag of a canvas element.
1134
1281
  * @param oldTag The old tag of the canvas element.
1135
1282
  * @param newTag The new tag of the canvas element.
1136
1283
  */
1137
- static editTagCanvasElement(oldTag, newTag) {
1284
+ static editCanvasElementTag(oldTag, newTag) {
1138
1285
  if (_GameWindowManager._children[oldTag]) {
1139
1286
  _GameWindowManager._children[newTag] = _GameWindowManager._children[oldTag];
1140
1287
  delete _GameWindowManager._children[oldTag];
1141
1288
  }
1289
+ if (_GameWindowManager._currentTickersSteps[oldTag]) {
1290
+ _GameWindowManager._currentTickersSteps[newTag] = _GameWindowManager._currentTickersSteps[oldTag];
1291
+ delete _GameWindowManager._currentTickersSteps[oldTag];
1292
+ }
1293
+ for (let id in _GameWindowManager._currentTickers) {
1294
+ let ticker = _GameWindowManager._currentTickers[id];
1295
+ if (ticker.canvasElementTags.includes(oldTag)) {
1296
+ ticker.canvasElementTags = ticker.canvasElementTags.map((t) => t === oldTag ? newTag : t);
1297
+ if (ticker.args.hasOwnProperty(tagToRemoveAfter)) {
1298
+ let tagToRemoveAfter2 = ticker.args.tagToRemoveAfter;
1299
+ if (typeof tagToRemoveAfter2 === "string") {
1300
+ tagToRemoveAfter2 = [tagToRemoveAfter2];
1301
+ }
1302
+ if (Array.isArray(tagToRemoveAfter2)) {
1303
+ ticker.args.tagToRemoveAfter = tagToRemoveAfter2.map((t) => t === oldTag ? newTag : t);
1304
+ }
1305
+ }
1306
+ }
1307
+ }
1308
+ for (let timeout in _GameWindowManager._currentTickersTimeouts) {
1309
+ let TickerTimeout = _GameWindowManager._currentTickersTimeouts[timeout];
1310
+ if (TickerTimeout.tags.includes(oldTag)) {
1311
+ TickerTimeout.tags = TickerTimeout.tags.map((t) => t === oldTag ? newTag : t);
1312
+ }
1313
+ }
1142
1314
  }
1143
1315
  /** Edit Tickers Methods */
1144
1316
  /**
@@ -1147,106 +1319,127 @@ var _GameWindowManager = class _GameWindowManager {
1147
1319
  static get currentTickers() {
1148
1320
  return _GameWindowManager._currentTickers;
1149
1321
  }
1322
+ static get currentTickersList() {
1323
+ return Object.values(_GameWindowManager._currentTickers);
1324
+ }
1325
+ static get currentTickersWithoutCreatedBySteps() {
1326
+ return Object.fromEntries(Object.entries(_GameWindowManager._currentTickers).filter(([_, ticker]) => !ticker.createdByTicketStepsId));
1327
+ }
1150
1328
  /**
1151
1329
  * The steps of the tickers
1152
1330
  */
1153
1331
  static get currentTickersSteps() {
1154
1332
  return _GameWindowManager._currentTickersSteps;
1155
1333
  }
1334
+ static generateTickerId(tickerData) {
1335
+ try {
1336
+ return sha1__default.default(JSON.stringify(tickerData)).toString() + "_" + Math.random().toString(36).substring(7);
1337
+ } catch (e) {
1338
+ throw new Error(`[Pixi'VN] Error to generate ticker id: ${e}`);
1339
+ }
1340
+ }
1156
1341
  /**
1157
- * Run a ticker.
1342
+ * Run a ticker. You can run multiple addTicker with the same tag and different tickerClasses.
1343
+ * If you run a ticker with the same tag and tickerClass, the old ticker will be removed.
1344
+ * If already exists a sequence of tickers with the same tag, it will be removed.
1158
1345
  * @param canvasEslementTag The tag of the canvas element that will use the ticker.
1159
1346
  * @param ticker The ticker class to be run.
1160
1347
  * @param args The arguments to be used in the ticker.
1161
- * @param duration The time to be used in the ticker. This number is in milliseconds. If it is undefined, the ticker will run forever.
1348
+ * @param duration The time to be used in the ticker. This number is in seconds. If it is undefined, the ticker will run forever.
1162
1349
  * @param priority The priority to be used in the ticker.
1163
1350
  * @returns
1164
1351
  * @example
1165
1352
  * ```typescript
1166
- * GameWindowManager.addTicker("alien", new TickerRotate({ speed: 0.2 }))
1353
+ * GameWindowManager.addTicker("alien", new RotateTicker({ speed: 0.2 }))
1167
1354
  * ```
1168
1355
  */
1169
1356
  static addTicker(canvasElementTag, ticker) {
1170
- let tickerName = ticker.constructor.name;
1357
+ let tickerId = ticker.id;
1171
1358
  if (typeof canvasElementTag === "string") {
1172
1359
  canvasElementTag = [canvasElementTag];
1173
1360
  }
1174
- let t = geTickerInstanceByClassName(tickerName, ticker.args, ticker.duration, ticker.priority);
1175
- if (!t) {
1176
- console.error(`[Pixi'VN] Ticker ${tickerName} not found`);
1361
+ if (!geTickerInstanceById(tickerId, ticker.args, ticker.duration, ticker.priority)) {
1362
+ console.error(`[Pixi'VN] Ticker ${tickerId} not found`);
1177
1363
  return;
1178
1364
  }
1179
- _GameWindowManager.removeAssociationBetweenTickerCanvasElement(canvasElementTag, ticker);
1180
1365
  let tickerHistory = {
1181
1366
  fn: () => {
1182
1367
  },
1183
- className: tickerName,
1184
- args: ticker.args,
1368
+ id: tickerId,
1369
+ args: createExportableElement(ticker.args),
1185
1370
  canvasElementTags: canvasElementTag,
1186
1371
  priority: ticker.priority,
1187
1372
  duration: ticker.duration
1188
1373
  };
1189
- _GameWindowManager.pushTicker(tickerHistory, t);
1190
- _GameWindowManager.removeTickersWithoutAssociatedCanvasElement();
1374
+ let id = _GameWindowManager.generateTickerId(tickerHistory);
1375
+ _GameWindowManager.pushTicker(id, tickerHistory, ticker);
1191
1376
  if (ticker.duration) {
1192
1377
  let timeout = setTimeout(() => {
1193
1378
  _GameWindowManager.removeTickerTimeoutInfo(timeout);
1194
- _GameWindowManager.nextTickerStep(canvasElementTag);
1195
- }, ticker.duration);
1196
- _GameWindowManager.addTickerTimeoutInfo(canvasElementTag, tickerName, timeout.toString());
1379
+ let tickerTimeoutInfo = _GameWindowManager._currentTickersTimeouts[timeout.toString()];
1380
+ if (tickerTimeoutInfo) {
1381
+ _GameWindowManager.removeTicker(id);
1382
+ }
1383
+ }, ticker.duration * 1e3);
1384
+ _GameWindowManager.addTickerTimeoutInfo(canvasElementTag, tickerId, timeout.toString(), true);
1197
1385
  }
1198
1386
  }
1199
- static pushTicker(tickerData, ticker) {
1200
- _GameWindowManager.removeAssociationBetweenTickerCanvasElement(tickerData.canvasElementTags, tickerData);
1201
- _GameWindowManager._currentTickers.push(tickerData);
1387
+ static pushTicker(id, tickerData, ticker) {
1388
+ _GameWindowManager.removeAssociationBetweenTickerCanvasElement(tickerData.canvasElementTags, ticker);
1389
+ _GameWindowManager._currentTickers[id] = tickerData;
1202
1390
  tickerData.fn = (t) => {
1203
- ticker == null ? void 0 : ticker.fn(t, tickerData.args, tickerData.canvasElementTags);
1391
+ let data = _GameWindowManager._currentTickers[id];
1392
+ if (data) {
1393
+ ticker == null ? void 0 : ticker.fn(t, data.args, data.canvasElementTags, id);
1394
+ }
1204
1395
  };
1205
1396
  _GameWindowManager.app.ticker.add(tickerData.fn, void 0, tickerData.priority);
1206
1397
  }
1207
1398
  /**
1208
- * Run a sequence of tickers.
1399
+ * Run a sequence of tickers. If exists a ticker steps with the same tag, it will be removed.
1209
1400
  * @param tag The tag of canvas element that will use the tickers.
1210
1401
  * @param steps The steps of the tickers.
1402
+ * @param currentStepNumber The current step number. It is used to continue the sequence of tickers.
1211
1403
  * @returns
1212
1404
  * @example
1213
1405
  * ```typescript
1214
1406
  * GameWindowManager.addTickersSteps("alien", [
1215
- * new TickerRotate({ speed: 0.1, clockwise: true }, 2000),
1216
- * Pause(500),
1217
- * new TickerRotate({ speed: 0.2, clockwise: false }, 2000),
1407
+ * new RotateTicker({ speed: 0.1, clockwise: true }, 2), // 2 seconds
1408
+ * Pause(1), // 1 second
1409
+ * new RotateTicker({ speed: 0.2, clockwise: false }, 2),
1218
1410
  * Repeat,
1219
1411
  * ])
1220
1412
  * ```
1221
1413
  */
1222
- static addTickersSteps(tag, steps) {
1414
+ static addTickersSteps(tag, steps, currentStepNumber = 0) {
1223
1415
  if (steps.length == 0) {
1224
1416
  console.warn("[Pixi'VN] The steps of the tickers is empty");
1225
1417
  return;
1226
1418
  }
1227
- let alredyExists = _GameWindowManager._currentTickersSteps[tag] !== void 0;
1419
+ _GameWindowManager.removeTickerStepByCanvasElement(tag);
1228
1420
  _GameWindowManager._currentTickersSteps[tag] = {
1229
- currentStepNumber: 0,
1230
- steps: steps.map((s) => {
1231
- if (s === Repeat) {
1232
- return s;
1421
+ currentStepNumber,
1422
+ steps: steps.map((step) => {
1423
+ if (step === Repeat) {
1424
+ return step;
1233
1425
  }
1234
- if (!s.duration) {
1235
- console.warn("[Pixi'VN] Duration is not defined, so it will be set to 1000");
1236
- s.duration = 1e3;
1426
+ if (step.hasOwnProperty("type") && step.type === "pause") {
1427
+ return step;
1237
1428
  }
1238
- if (s.hasOwnProperty("type") && s.type === PauseValueType) {
1239
- return s;
1240
- }
1241
- let tickerName = s.constructor.name;
1429
+ let tickerId = step.id;
1242
1430
  return {
1243
- ticker: tickerName,
1244
- args: s.args,
1245
- duration: s.duration
1431
+ ticker: tickerId,
1432
+ args: createExportableElement(step.args),
1433
+ duration: step.duration
1246
1434
  };
1247
1435
  })
1248
1436
  };
1249
- if (!alredyExists) {
1437
+ _GameWindowManager.runTickersSteps(tag);
1438
+ }
1439
+ static restoneTickersSteps(data) {
1440
+ for (let tag in data) {
1441
+ let steps = data[tag];
1442
+ _GameWindowManager._currentTickersSteps[tag] = steps;
1250
1443
  _GameWindowManager.runTickersSteps(tag);
1251
1444
  }
1252
1445
  }
@@ -1260,70 +1453,106 @@ var _GameWindowManager = class _GameWindowManager {
1260
1453
  return;
1261
1454
  }
1262
1455
  }
1263
- if (step.hasOwnProperty("type") && step.type === PauseValueType) {
1456
+ if (step.hasOwnProperty("type") && step.type === "pause") {
1264
1457
  let timeout = setTimeout(() => {
1458
+ let tickerTimeoutInfo = _GameWindowManager._currentTickersTimeouts[timeout.toString()];
1459
+ if (tickerTimeoutInfo) {
1460
+ tickerTimeoutInfo.tags.forEach((tag2) => {
1461
+ _GameWindowManager.nextTickerStep(tag2);
1462
+ });
1463
+ }
1265
1464
  _GameWindowManager.removeTickerTimeoutInfo(timeout);
1266
- _GameWindowManager.nextTickerStep(tag);
1267
- }, step.duration);
1268
- _GameWindowManager.addTickerTimeoutInfo(tag, "steps", timeout.toString());
1465
+ }, step.duration * 1e3);
1466
+ _GameWindowManager.addTickerTimeoutInfo(tag, "steps", timeout.toString(), false);
1269
1467
  return;
1270
1468
  }
1271
- let ticker = geTickerInstanceByClassName(step.ticker, step.args, step.duration, step.priority);
1469
+ let ticker = geTickerInstanceById(step.ticker, step.args, step.duration, step.priority);
1272
1470
  if (!ticker) {
1273
1471
  console.error(`[Pixi'VN] Ticker ${step.ticker} not found`);
1274
1472
  return;
1275
1473
  }
1276
- _GameWindowManager.addTicker(tag, ticker);
1474
+ let tickerName = ticker.id;
1475
+ let tickerHistory = {
1476
+ fn: () => {
1477
+ },
1478
+ id: tickerName,
1479
+ args: createExportableElement(ticker.args),
1480
+ canvasElementTags: [tag],
1481
+ priority: ticker.priority,
1482
+ duration: ticker.duration,
1483
+ createdByTicketStepsId: tag
1484
+ };
1485
+ let id = _GameWindowManager.generateTickerId(tickerHistory);
1486
+ _GameWindowManager.pushTicker(id, tickerHistory, ticker);
1487
+ if (ticker.duration) {
1488
+ let timeout = setTimeout(() => {
1489
+ let tickerTimeoutInfo = _GameWindowManager._currentTickersTimeouts[timeout.toString()];
1490
+ if (tickerTimeoutInfo) {
1491
+ _GameWindowManager.removeTicker(id);
1492
+ tickerTimeoutInfo.tags.forEach((tag2) => {
1493
+ _GameWindowManager.nextTickerStep(tag2);
1494
+ });
1495
+ }
1496
+ _GameWindowManager.removeTickerTimeoutInfo(timeout);
1497
+ }, ticker.duration * 1e3);
1498
+ _GameWindowManager.addTickerTimeoutInfo(tag, tickerName, timeout.toString(), false);
1499
+ }
1277
1500
  }
1278
1501
  static nextTickerStep(tag) {
1279
- if (typeof tag === "string") {
1280
- tag = [tag];
1502
+ if (_GameWindowManager._currentTickersSteps[tag]) {
1503
+ let steps = _GameWindowManager._currentTickersSteps[tag];
1504
+ if (steps.currentStepNumber + 1 < steps.steps.length) {
1505
+ steps.currentStepNumber++;
1506
+ _GameWindowManager._currentTickersSteps[tag] = steps;
1507
+ _GameWindowManager.runTickersSteps(tag);
1508
+ } else {
1509
+ _GameWindowManager.removeTickerStepByCanvasElement(tag);
1510
+ }
1281
1511
  }
1282
- tag.forEach((tag2) => {
1283
- if (_GameWindowManager._currentTickersSteps[tag2]) {
1284
- let steps = _GameWindowManager._currentTickersSteps[tag2];
1285
- if (steps.currentStepNumber + 1 < steps.steps.length) {
1286
- steps.currentStepNumber++;
1287
- _GameWindowManager._currentTickersSteps[tag2] = steps;
1288
- _GameWindowManager.runTickersSteps(tag2);
1289
- } else {
1290
- delete _GameWindowManager._currentTickersSteps[tag2];
1291
- }
1512
+ }
1513
+ static onEndOfTicker(canvasElementTags, ticker, canvasElementTagsToDelete, tickerId) {
1514
+ let tickerData = _GameWindowManager._currentTickers[tickerId];
1515
+ _GameWindowManager.removeAssociationBetweenTickerCanvasElement(canvasElementTags, ticker);
1516
+ _GameWindowManager.removeCanvasElement(canvasElementTagsToDelete);
1517
+ if (tickerData) {
1518
+ _GameWindowManager.removeTicker(tickerId);
1519
+ if (tickerData.duration == void 0 && tickerData.createdByTicketStepsId) {
1520
+ _GameWindowManager.nextTickerStep(tickerData.createdByTicketStepsId);
1292
1521
  }
1293
- });
1522
+ }
1294
1523
  }
1295
1524
  /**
1296
1525
  * Remove a connection between a canvas element and a ticker.
1297
1526
  * And remove the ticker if there is no canvas element connected to it.
1298
- * @param tag The tag of the canvas element that will use the ticker.
1527
+ * @param tags The tag of the canvas element that will use the ticker.
1299
1528
  * @param ticker The ticker class to be removed.
1300
1529
  * @example
1301
1530
  * ```typescript
1302
- * GameWindowManager.removeAssociationBetweenTickerCanvasElement("alien", TickerRotate)
1531
+ * GameWindowManager.removeAssociationBetweenTickerCanvasElement("alien", RotateTicker)
1303
1532
  * ```
1304
1533
  */
1305
- static removeAssociationBetweenTickerCanvasElement(tag, ticker) {
1306
- let tickerName;
1307
- if (ticker instanceof TickerBase) {
1308
- tickerName = ticker.constructor.name;
1534
+ static removeAssociationBetweenTickerCanvasElement(tags, ticker) {
1535
+ let tickerId;
1536
+ if (typeof ticker === "string") {
1537
+ tickerId = ticker;
1538
+ } else if (ticker instanceof TickerBase) {
1539
+ tickerId = ticker.id;
1309
1540
  } else {
1310
- tickerName = ticker.name;
1541
+ tickerId = ticker.prototype.id;
1311
1542
  }
1312
- if (typeof tag === "string") {
1313
- tag = [tag];
1543
+ if (typeof tags === "string") {
1544
+ tags = [tags];
1314
1545
  }
1315
- _GameWindowManager._currentTickers = _GameWindowManager._currentTickers.map((t) => {
1316
- if (t.className === tickerName) {
1317
- t.canvasElementTags = t.canvasElementTags.filter((e) => !tag.includes(e));
1546
+ for (let id in _GameWindowManager._currentTickers) {
1547
+ let ticker2 = _GameWindowManager._currentTickers[id];
1548
+ if (ticker2.id === tickerId) {
1549
+ _GameWindowManager._currentTickers[id].canvasElementTags = ticker2.canvasElementTags.filter((e) => !tags.includes(e));
1318
1550
  }
1319
- return t;
1320
- });
1321
- for (let timeout in _GameWindowManager.currentTickersTimeouts) {
1322
- let t = _GameWindowManager.currentTickersTimeouts[timeout].tags.filter((e) => !tag.includes(e));
1323
- if (t.length == 0) {
1324
- _GameWindowManager.removeTickerTimeoutInfo(timeout);
1325
- } else {
1326
- _GameWindowManager.currentTickersTimeouts[timeout].tags = t;
1551
+ }
1552
+ for (let timeout in _GameWindowManager._currentTickersTimeouts) {
1553
+ let TickerTimeout = _GameWindowManager._currentTickersTimeouts[timeout];
1554
+ if (TickerTimeout.ticker === tickerId && TickerTimeout.canBeDeletedBeforeEnd) {
1555
+ _GameWindowManager._currentTickersTimeouts[timeout].tags = TickerTimeout.tags.filter((t) => !tags.includes(t));
1327
1556
  }
1328
1557
  }
1329
1558
  _GameWindowManager.removeTickersWithoutAssociatedCanvasElement();
@@ -1332,49 +1561,117 @@ var _GameWindowManager = class _GameWindowManager {
1332
1561
  * Remove all tickers that are not connected to any existing canvas element.
1333
1562
  */
1334
1563
  static removeTickersWithoutAssociatedCanvasElement() {
1335
- let currentTickers = _GameWindowManager._currentTickers.map((t) => {
1336
- t.canvasElementTags = t.canvasElementTags.filter((e) => _GameWindowManager._children[e]);
1337
- return t;
1338
- });
1339
- currentTickers.filter((t) => t.canvasElementTags.length === 0).forEach((t) => {
1340
- _GameWindowManager.app.ticker.remove(t.fn);
1341
- });
1342
- currentTickers = currentTickers.filter((t) => t.canvasElementTags.length > 0);
1343
- _GameWindowManager._currentTickers = currentTickers;
1564
+ for (let id in _GameWindowManager._currentTickers) {
1565
+ let ticker = _GameWindowManager._currentTickers[id];
1566
+ ticker.canvasElementTags = ticker.canvasElementTags.filter((e) => _GameWindowManager._children[e]);
1567
+ if (ticker.canvasElementTags.length === 0) {
1568
+ _GameWindowManager.removeTicker(id);
1569
+ }
1570
+ }
1344
1571
  for (let tag in _GameWindowManager._currentTickersSteps) {
1345
1572
  if (_GameWindowManager._children[tag] === void 0) {
1346
1573
  delete _GameWindowManager._currentTickersSteps[tag];
1347
1574
  }
1348
1575
  }
1576
+ Object.entries(_GameWindowManager._currentTickersTimeouts).forEach(([timeout, { tags }]) => {
1577
+ if (tags.length === 0) {
1578
+ _GameWindowManager.removeTickerTimeout(timeout);
1579
+ }
1580
+ });
1349
1581
  }
1350
- static addTickerTimeoutInfo(tags, ticker, timeout) {
1582
+ static addTickerTimeoutInfo(tags, ticker, timeout, canBeDeletedBeforeEnd) {
1351
1583
  if (typeof tags === "string") {
1352
1584
  tags = [tags];
1353
1585
  }
1354
- _GameWindowManager.currentTickersTimeouts[timeout] = {
1586
+ _GameWindowManager._currentTickersTimeouts[timeout] = {
1355
1587
  tags,
1356
- ticker
1588
+ ticker,
1589
+ canBeDeletedBeforeEnd
1357
1590
  };
1358
1591
  }
1359
1592
  static removeTickerTimeoutInfo(timeout) {
1360
1593
  if (typeof timeout !== "string") {
1361
1594
  timeout = timeout.toString();
1362
1595
  }
1363
- if (_GameWindowManager.currentTickersTimeouts[timeout]) {
1364
- delete _GameWindowManager.currentTickersTimeouts[timeout];
1596
+ if (_GameWindowManager._currentTickersTimeouts[timeout]) {
1597
+ delete _GameWindowManager._currentTickersTimeouts[timeout];
1598
+ }
1599
+ }
1600
+ static removeTickerTimeout(timeout) {
1601
+ if (typeof timeout !== "string") {
1602
+ timeout = timeout.toString();
1603
+ }
1604
+ clearTimeout(Number(timeout));
1605
+ _GameWindowManager.removeTickerTimeoutInfo(timeout);
1606
+ }
1607
+ static removeTickerTimeoutsByTag(tag, checkCanBeDeletedBeforeEnd) {
1608
+ for (let timeout in _GameWindowManager._currentTickersTimeouts) {
1609
+ let tagsWithoutTagToRemove = _GameWindowManager._currentTickersTimeouts[timeout].tags.filter((t) => t !== tag);
1610
+ if (tagsWithoutTagToRemove.length === 0) {
1611
+ let canBeDeletedBeforeEnd = _GameWindowManager._currentTickersTimeouts[timeout].canBeDeletedBeforeEnd;
1612
+ if (!checkCanBeDeletedBeforeEnd || canBeDeletedBeforeEnd) {
1613
+ _GameWindowManager.removeTickerTimeout(timeout);
1614
+ }
1615
+ } else {
1616
+ _GameWindowManager._currentTickersTimeouts[timeout].tags = tagsWithoutTagToRemove;
1617
+ }
1365
1618
  }
1366
1619
  }
1367
1620
  /**
1368
1621
  * Remove all tickers from the canvas.
1369
1622
  */
1370
- static removeTickers() {
1623
+ static removeAllTickers() {
1371
1624
  _GameWindowManager._currentTickersSteps = {};
1372
- _GameWindowManager._currentTickers.forEach((t) => {
1373
- _GameWindowManager.app.ticker.remove(t.fn);
1625
+ Object.keys(_GameWindowManager._currentTickers).forEach((id) => {
1626
+ _GameWindowManager.removeTicker(id);
1374
1627
  });
1375
- _GameWindowManager._currentTickers = [];
1376
- for (let timeout in _GameWindowManager.currentTickersTimeouts) {
1377
- _GameWindowManager.removeTickerTimeoutInfo(timeout);
1628
+ _GameWindowManager._currentTickers = {};
1629
+ for (let timeout in _GameWindowManager._currentTickersTimeouts) {
1630
+ _GameWindowManager.removeTickerTimeout(timeout);
1631
+ }
1632
+ }
1633
+ /**
1634
+ * Remove all tickers from a canvas element.
1635
+ * @param tag The tag of the canvas element that will use the ticker.
1636
+ */
1637
+ static removeTickerByCanvasElement(tag) {
1638
+ if (typeof tag === "string") {
1639
+ tag = [tag];
1640
+ }
1641
+ tag.forEach((tag2) => {
1642
+ for (let id in _GameWindowManager._currentTickers) {
1643
+ let ticker = _GameWindowManager._currentTickers[id];
1644
+ if (ticker.canvasElementTags.includes(tag2)) {
1645
+ _GameWindowManager.removeTicker(id);
1646
+ }
1647
+ }
1648
+ if (_GameWindowManager._currentTickersSteps[tag2]) {
1649
+ delete _GameWindowManager._currentTickersSteps[tag2];
1650
+ }
1651
+ _GameWindowManager.removeTickerTimeoutsByTag(tag2, false);
1652
+ delete _GameWindowManager._currentTickersSteps[tag2];
1653
+ });
1654
+ }
1655
+ static removeTickerStepByCanvasElement(tag) {
1656
+ if (_GameWindowManager._currentTickersSteps[tag]) {
1657
+ delete _GameWindowManager._currentTickersSteps[tag];
1658
+ }
1659
+ for (let id in _GameWindowManager._currentTickers) {
1660
+ let ticker = _GameWindowManager._currentTickers[id];
1661
+ if (ticker.createdByTicketStepsId === tag) {
1662
+ _GameWindowManager.removeTicker(id);
1663
+ }
1664
+ }
1665
+ }
1666
+ static removeTicker(tickerId) {
1667
+ let ticker = _GameWindowManager._currentTickers[tickerId];
1668
+ if (ticker) {
1669
+ if (ticker.args.hasOwnProperty(tagToRemoveAfter)) {
1670
+ let tagToRemoveAfter2 = ticker.args.tagToRemoveAfter;
1671
+ _GameWindowManager.removeCanvasElement(tagToRemoveAfter2);
1672
+ }
1673
+ _GameWindowManager.app.ticker.remove(ticker.fn);
1674
+ delete _GameWindowManager._currentTickers[tickerId];
1378
1675
  }
1379
1676
  }
1380
1677
  /**
@@ -1401,7 +1698,8 @@ var _GameWindowManager = class _GameWindowManager {
1401
1698
  currentElements[tag] = exportCanvasElement(_GameWindowManager._children[tag]);
1402
1699
  }
1403
1700
  return {
1404
- currentTickers: createExportableElement(_GameWindowManager._currentTickers),
1701
+ currentTickers: createExportableElement(_GameWindowManager.currentTickersWithoutCreatedBySteps),
1702
+ currentTickersSteps: createExportableElement(_GameWindowManager._currentTickersSteps),
1405
1703
  currentElements: createExportableElement(currentElements),
1406
1704
  childrenTagsOrder: createExportableElement(_GameWindowManager.childrenTagsOrder)
1407
1705
  };
@@ -1436,15 +1734,20 @@ var _GameWindowManager = class _GameWindowManager {
1436
1734
  }
1437
1735
  if (data.hasOwnProperty("currentTickers")) {
1438
1736
  let currentTickers = data["currentTickers"];
1439
- currentTickers.forEach((t) => {
1737
+ for (let id in currentTickers) {
1738
+ let t = currentTickers[id];
1440
1739
  let tags = t.canvasElementTags;
1441
- let ticker = geTickerInstanceByClassName(t.className, t.args, t.duration, t.priority);
1740
+ let ticker = geTickerInstanceById(t.id, t.args, t.duration, t.priority);
1442
1741
  if (ticker) {
1443
1742
  _GameWindowManager.addTicker(tags, ticker);
1444
1743
  } else {
1445
- console.error(`[Pixi'VN] Ticker ${t.className} not found`);
1744
+ console.error(`[Pixi'VN] Ticker ${t.id} not found`);
1446
1745
  }
1447
- });
1746
+ }
1747
+ }
1748
+ if (data.hasOwnProperty("currentTickersSteps")) {
1749
+ let currentTickersSteps = data["currentTickersSteps"];
1750
+ _GameWindowManager.restoneTickersSteps(currentTickersSteps);
1448
1751
  }
1449
1752
  } catch (e) {
1450
1753
  console.error("[Pixi'VN] Error importing data", e);
@@ -1458,9 +1761,9 @@ _GameWindowManager._children = {};
1458
1761
  * The order of the children tags.
1459
1762
  */
1460
1763
  _GameWindowManager.childrenTagsOrder = [];
1461
- _GameWindowManager._currentTickers = [];
1764
+ _GameWindowManager._currentTickers = {};
1462
1765
  _GameWindowManager._currentTickersSteps = {};
1463
- _GameWindowManager.currentTickersTimeouts = {};
1766
+ _GameWindowManager._currentTickersTimeouts = {};
1464
1767
  var GameWindowManager = _GameWindowManager;
1465
1768
 
1466
1769
  // src/classes/CharacterBaseModel.ts