@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) => {
@@ -72,7 +75,7 @@ var Label = class {
72
75
  this._choiseIndex = choiseIndex;
73
76
  }
74
77
  /**
75
- * Get the id of the label
78
+ * Get the id of the label. This variable is used in the system to get the label by id, {@link getLabelById}
76
79
  */
77
80
  get id() {
78
81
  return this._id;
@@ -136,17 +139,23 @@ function exportCanvasElement(element) {
136
139
  return element.memory;
137
140
  }
138
141
  function importCanvasElement(memory) {
139
- let element = getCanvasElementInstanceByClassName(memory.className);
142
+ let element = getCanvasElementInstanceById(memory.pixivnId);
140
143
  if (element) {
141
144
  element.memory = memory;
142
145
  } else {
143
- throw new Error("[Pixi'VN] The element " + memory.className + " could not be created");
146
+ throw new Error("[Pixi'VN] The element " + memory.pixivnId + " could not be created");
144
147
  }
145
148
  return element;
146
149
  }
147
150
 
148
151
  // src/classes/canvas/CanvasContainer.ts
152
+ var CANVAS_CONTAINER_ID = "CanvasContainer";
149
153
  var CanvasContainer = class extends pixi_js.Container {
154
+ constructor(options) {
155
+ super(options);
156
+ this.pixivnId = CANVAS_CONTAINER_ID;
157
+ this.pixivnId = this.constructor.prototype.pixivnId;
158
+ }
150
159
  get memory() {
151
160
  let memory = getMemoryContainer(this);
152
161
  this.children.forEach((child) => {
@@ -162,8 +171,12 @@ var CanvasContainer = class extends pixi_js.Container {
162
171
  }
163
172
  };
164
173
  function getMemoryContainer(element) {
174
+ let className = "CanvasContainer";
175
+ if (element.hasOwnProperty("pixivnId")) {
176
+ className = element.pixivnId;
177
+ }
165
178
  return {
166
- className: "CanvasContainer",
179
+ pixivnId: className,
167
180
  elements: [],
168
181
  width: element.width,
169
182
  height: element.height,
@@ -279,40 +292,43 @@ function getTextStyle(style) {
279
292
 
280
293
  // src/decorators/EventDecorator.ts
281
294
  var registeredEvents = {};
282
- function getEventTypeByClassName(eventName) {
295
+ function getEventTypeById(eventId) {
283
296
  try {
284
- let eventType = registeredEvents[eventName];
297
+ let eventType = registeredEvents[eventId];
285
298
  if (!eventType) {
286
- console.error(`[Pixi'VN] Event ${eventName} not found`);
299
+ console.error(`[Pixi'VN] Event ${eventId} not found`);
287
300
  return;
288
301
  }
289
302
  new eventType();
290
303
  return eventType;
291
304
  } catch (e) {
292
- console.error(`[Pixi'VN] Error while getting Event ${eventName}`, e);
305
+ console.error(`[Pixi'VN] Error while getting Event ${eventId}`, e);
293
306
  return;
294
307
  }
295
308
  }
296
- function getEventInstanceByClassName(eventName) {
309
+ function getEventInstanceById(eventId) {
297
310
  try {
298
- let eventType = registeredEvents[eventName];
311
+ let eventType = registeredEvents[eventId];
299
312
  if (!eventType) {
300
- console.error(`[Pixi'VN] Event ${eventName} not found`);
313
+ console.error(`[Pixi'VN] Event ${eventId} not found`);
301
314
  return;
302
315
  }
303
316
  let event = new eventType();
304
317
  return event;
305
318
  } catch (e) {
306
- console.error(`[Pixi'VN] Error while getting Event ${eventName}`, e);
319
+ console.error(`[Pixi'VN] Error while getting Event ${eventId}`, e);
307
320
  return;
308
321
  }
309
322
  }
310
323
 
311
324
  // src/classes/canvas/CanvasSprite.ts
325
+ var CANVAS_SPRITE_ID = "CanvasSprite";
312
326
  var CanvasSprite = class _CanvasSprite extends pixi_js.Sprite {
313
- constructor() {
314
- super(...arguments);
327
+ constructor(options) {
328
+ super(options);
329
+ this.pixivnId = CANVAS_SPRITE_ID;
315
330
  this._onEvents = {};
331
+ this.pixivnId = this.constructor.prototype.pixivnId;
316
332
  }
317
333
  get memory() {
318
334
  return getMemorySprite(this);
@@ -353,9 +369,9 @@ var CanvasSprite = class _CanvasSprite extends pixi_js.Sprite {
353
369
  * ```
354
370
  */
355
371
  onEvent(event, eventClass) {
356
- let className = eventClass.name;
357
- let instance = getEventInstanceByClassName(className);
358
- this._onEvents[event] = className;
372
+ let id = eventClass.prototype.id;
373
+ let instance = getEventInstanceById(id);
374
+ this._onEvents[event] = id;
359
375
  if (instance) {
360
376
  super.on(event, () => {
361
377
  instance.fn(event, this);
@@ -384,7 +400,7 @@ var CanvasSprite = class _CanvasSprite extends pixi_js.Sprite {
384
400
  function getMemorySprite(element) {
385
401
  let temp = getMemoryContainer(element);
386
402
  return __spreadProps(__spreadValues({}, temp), {
387
- className: "CanvasSprite",
403
+ pixivnId: element.pixivnId,
388
404
  textureImage: getTextureMemory(element.texture),
389
405
  anchor: { x: element.anchor.x, y: element.anchor.y },
390
406
  roundPixels: element.roundPixels,
@@ -407,8 +423,8 @@ function setMemorySprite(element, memory) {
407
423
  }
408
424
  memory.roundPixels && (element.roundPixels = memory.roundPixels);
409
425
  for (let event in memory.onEvents) {
410
- let className = memory.onEvents[event];
411
- let instance = getEventTypeByClassName(className);
426
+ let id = memory.onEvents[event];
427
+ let instance = getEventTypeById(id);
412
428
  if (instance) {
413
429
  element.onEvent(event, instance);
414
430
  }
@@ -416,9 +432,11 @@ function setMemorySprite(element, memory) {
416
432
  }
417
433
 
418
434
  // src/classes/canvas/CanvasImage.ts
435
+ var CANVAS_IMAGE_ID = "CanvasImage";
419
436
  var CanvasImage = class _CanvasImage extends CanvasSprite {
420
437
  constructor(options, imageLink) {
421
438
  super(options);
439
+ this.pixivnId = CANVAS_IMAGE_ID;
422
440
  this.imageLink = "";
423
441
  if (imageLink) {
424
442
  this.imageLink = imageLink;
@@ -426,12 +444,13 @@ var CanvasImage = class _CanvasImage extends CanvasSprite {
426
444
  }
427
445
  get memory() {
428
446
  return __spreadProps(__spreadValues({}, getMemorySprite(this)), {
429
- className: "CanvasImage",
430
- textureImage: { image: this.imageLink }
447
+ pixivnId: this.pixivnId,
448
+ imageLink: this.imageLink
431
449
  });
432
450
  }
433
451
  set memory(memory) {
434
452
  setMemorySprite(this, memory);
453
+ this.imageLink = memory.imageLink;
435
454
  }
436
455
  static from(source, skipCache) {
437
456
  let sprite = pixi_js.Sprite.from(source, skipCache);
@@ -459,10 +478,13 @@ var CanvasImage = class _CanvasImage extends CanvasSprite {
459
478
  });
460
479
  }
461
480
  };
481
+ var CANVAS_TEXT_ID = "CanvasText";
462
482
  var CanvasText = class extends pixi_js.Text {
463
- constructor() {
464
- super(...arguments);
483
+ constructor(options) {
484
+ super(options);
485
+ this.pixivnId = CANVAS_TEXT_ID;
465
486
  this._onEvents = {};
487
+ this.pixivnId = this.constructor.prototype.pixivnId;
466
488
  }
467
489
  get memory() {
468
490
  return getMemoryText(this);
@@ -503,9 +525,9 @@ var CanvasText = class extends pixi_js.Text {
503
525
  * ```
504
526
  */
505
527
  onEvent(event, eventClass) {
506
- let className = eventClass.name;
507
- let instance = getEventInstanceByClassName(className);
508
- this._onEvents[event] = className;
528
+ let id = eventClass.prototype.id;
529
+ let instance = getEventInstanceById(id);
530
+ this._onEvents[event] = id;
509
531
  if (instance) {
510
532
  super.on(event, () => {
511
533
  instance.fn(event, this);
@@ -528,7 +550,7 @@ var CanvasText = class extends pixi_js.Text {
528
550
  function getMemoryText(element) {
529
551
  let temp = getMemoryContainer(element);
530
552
  return __spreadProps(__spreadValues({}, temp), {
531
- className: "CanvasText",
553
+ pixivnId: element.pixivnId,
532
554
  anchor: { x: element.anchor.x, y: element.anchor.y },
533
555
  text: element.text,
534
556
  resolution: element.resolution,
@@ -551,8 +573,8 @@ function setMemoryText(element, memory) {
551
573
  memory.style && (element.style = memory.style);
552
574
  memory.roundPixels && (element.roundPixels = memory.roundPixels);
553
575
  for (let event in memory.onEvents) {
554
- let className = memory.onEvents[event];
555
- let instance = getEventTypeByClassName(className);
576
+ let id = memory.onEvents[event];
577
+ let instance = getEventTypeById(id);
556
578
  if (instance) {
557
579
  element.onEvent(event, instance);
558
580
  }
@@ -561,28 +583,28 @@ function setMemoryText(element, memory) {
561
583
 
562
584
  // src/decorators/CanvasElementDecorator.ts
563
585
  var registeredCanvasElement = {};
564
- function getCanvasElementInstanceByClassName(canvasName) {
586
+ function getCanvasElementInstanceById(canvasId) {
565
587
  try {
566
- let eventType = registeredCanvasElement[canvasName];
588
+ let eventType = registeredCanvasElement[canvasId];
567
589
  if (!eventType) {
568
- if (canvasName === "CanvasContainer") {
590
+ if (canvasId === CANVAS_CONTAINER_ID) {
569
591
  eventType = CanvasContainer;
570
- } else if (canvasName === "CanvasImage") {
592
+ } else if (canvasId === CANVAS_IMAGE_ID) {
571
593
  eventType = CanvasImage;
572
- } else if (canvasName === "CanvasSprite") {
594
+ } else if (canvasId === CANVAS_SPRITE_ID) {
573
595
  eventType = CanvasSprite;
574
- } else if (canvasName === "CanvasText") {
596
+ } else if (canvasId === CANVAS_TEXT_ID) {
575
597
  eventType = CanvasText;
576
598
  }
577
599
  }
578
600
  if (!eventType) {
579
- console.error(`[Pixi'VN] CanvasElement ${canvasName} not found`);
601
+ console.error(`[Pixi'VN] CanvasElement ${canvasId} not found`);
580
602
  return;
581
603
  }
582
604
  let canvasElement = new eventType();
583
605
  return canvasElement;
584
606
  } catch (e) {
585
- console.error(`[Pixi'VN] Error while getting CanvasElement ${canvasName}`, e);
607
+ console.error(`[Pixi'VN] Error while getting CanvasElement ${canvasId}`, e);
586
608
  return;
587
609
  }
588
610
  }
@@ -595,68 +617,66 @@ function tickerDecorator(name) {
595
617
  name = target.name;
596
618
  }
597
619
  if (registeredTickers[name]) {
598
- console.warn(`[Pixi'VN] Ticker ${name} already exists, it will be overwritten`);
620
+ console.info(`[Pixi'VN] Ticker ${name} already exists, it will be overwritten`);
599
621
  }
622
+ target.prototype.id = name;
600
623
  registeredTickers[name] = target;
601
624
  };
602
625
  }
603
- function geTickerInstanceByClassName(tickerName, args, duration, priority) {
626
+ function geTickerInstanceById(tickerId, args, duration, priority) {
604
627
  try {
605
- let ticker = registeredTickers[tickerName];
628
+ let ticker = registeredTickers[tickerId];
606
629
  if (!ticker) {
607
- console.error(`[Pixi'VN] Ticker ${tickerName} not found`);
630
+ console.error(`[Pixi'VN] Ticker ${tickerId} not found`);
608
631
  return;
609
632
  }
610
633
  return new ticker(args, duration, priority);
611
634
  } catch (e) {
612
- console.error(`[Pixi'VN] Error while getting Ticker ${tickerName}`, e);
635
+ console.error(`[Pixi'VN] Error while getting Ticker ${tickerId}`, e);
613
636
  return;
614
637
  }
615
638
  }
616
639
 
617
- // src/types/PauseType.ts
618
- var PauseValueType = "pause";
619
-
620
- // src/types/RepeatType.ts
621
- var Repeat = "repeat";
622
-
623
640
  // src/classes/ticker/TickerBase.ts
624
641
  var TickerBase = class {
625
642
  /**
626
643
  * @param args The arguments that you want to pass to the ticker.
627
- * @param duration The duration of the ticker. If is undefined, the ticker will be called every frame.
628
- * @param priority The priority of the ticker. If is undefined, the priority will be UPDATE_PRIORITY.NORMAL.
644
+ * @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
645
+ * @param priority The priority of the ticker. @default UPDATE_PRIORITY.NORMAL
629
646
  */
630
647
  constructor(args, duration, priority) {
648
+ /**
649
+ * Get the id of the ticker. This variable is used in the system to get the ticker by id, {@link geTickerInstanceById}
650
+ */
651
+ this.id = "ticker_id_not_set";
631
652
  this.args = args;
632
653
  this.duration = duration;
633
654
  this.priority = priority;
655
+ this.id = this.constructor.prototype.id;
634
656
  }
635
657
  /**
636
658
  * The method that will be called every frame.
637
659
  * This method should be overridden and you can use GameWindowManager.addCanvasElement() to get the canvas element of the canvas, and edit them.
638
- * @param t The ticker that is calling this method
639
- * @param args The arguments that you passed when you added the ticker
640
- * @param tags The tags of the canvas elements that are connected to this ticker
660
+ * @param _ticker The ticker that is calling this method
661
+ * @param _args The arguments that you passed when you added the ticker
662
+ * @param _tags The tags of the canvas elements that are connected to this ticker
663
+ * @param _tickerId The id of the ticker. You can use this to get the ticker from the {@link GameWindowManager.currentTickers}
641
664
  */
642
- fn(_t, _args, _tags) {
665
+ fn(_ticker, _args, _tags, _tickerId) {
643
666
  throw new Error("[Pixi'VN] The method TickerBase.fn() must be overridden");
644
667
  }
645
668
  };
646
- var TickerFadeAlpha = class extends TickerBase {
647
- /**
648
- * The method that will be called every frame to fade the alpha of the canvas element of the canvas.
649
- * @param delta The delta time
650
- * @param args The arguments that are passed to the ticker
651
- * @param tags The tags of the canvas element that are connected to this ticker
652
- */
653
- fn(t, args, tags) {
669
+
670
+ // src/classes/ticker/FadeAlphaTicker.ts
671
+ var FadeAlphaTicker = class extends TickerBase {
672
+ fn(ticker, args, tags, tickerId) {
654
673
  let type = args.type === void 0 ? "hide" : args.type;
655
- let speed = args.speed === void 0 ? 0.1 : args.speed;
674
+ let duration = args.duration === void 0 ? 1 : args.duration;
675
+ let speed = 1 / (duration * 60);
656
676
  let limit = args.limit === void 0 ? type === "hide" ? 0 : 1 : args.limit;
657
- let removeElementAfter = args.tagToRemoveAfter || [];
658
- if (typeof removeElementAfter === "string") {
659
- removeElementAfter = [removeElementAfter];
677
+ let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
678
+ if (typeof tagToRemoveAfter2 === "string") {
679
+ tagToRemoveAfter2 = [tagToRemoveAfter2];
660
680
  }
661
681
  if (type === "hide" && limit < 0) {
662
682
  limit = 0;
@@ -677,61 +697,88 @@ var TickerFadeAlpha = class extends TickerBase {
677
697
  let element = GameWindowManager.getCanvasElement(tag);
678
698
  if (element && element instanceof pixi_js.Container) {
679
699
  if (type === "show" && element.alpha < limit) {
680
- element.alpha += speed * t.deltaTime;
700
+ element.alpha += speed * ticker.deltaTime;
681
701
  } else if (type === "hide" && element.alpha > limit) {
682
- element.alpha -= speed * t.deltaTime;
683
- } else {
702
+ element.alpha -= speed * ticker.deltaTime;
703
+ }
704
+ if (type === "show" && element.alpha >= limit) {
705
+ element.alpha = limit;
706
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
707
+ } else if (type === "hide" && element.alpha <= limit) {
684
708
  element.alpha = limit;
685
- GameWindowManager.removeAssociationBetweenTickerCanvasElement(tag, this);
686
- GameWindowManager.removeCanvasElement(removeElementAfter);
709
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
687
710
  }
688
711
  }
689
712
  });
690
713
  }
691
714
  };
692
- TickerFadeAlpha = __decorateClass([
715
+ FadeAlphaTicker = __decorateClass([
693
716
  tickerDecorator()
694
- ], TickerFadeAlpha);
717
+ ], FadeAlphaTicker);
695
718
 
696
719
  // src/functions/TickerUtility.ts
697
720
  function updateTickerProgression(args, propertyName, progression) {
698
- if (args.hasOwnProperty(propertyName) && typeof args[propertyName] !== "number") {
721
+ if (args[propertyName] === void 0 || !progression || args[propertyName] === progression.limit) {
699
722
  return;
700
723
  }
701
- if (args[propertyName] !== void 0 && progression && args[propertyName] !== progression.limit) {
724
+ if (typeof args[propertyName] === "number") {
702
725
  if (progression.type === "linear") {
703
- args[propertyName] += progression.amt;
704
- if (progression.limit !== void 0) {
705
- if (args[propertyName] > progression.limit && progression.amt > 0) {
706
- args[propertyName] = progression.limit;
707
- } else if (args[propertyName] < progression.limit && progression.amt < 0) {
708
- args[propertyName] = progression.limit;
709
- }
710
- }
726
+ args[propertyName] = getLinearProgression(args[propertyName], progression);
711
727
  } else if (progression.type === "exponential") {
712
- args[propertyName] += args[propertyName] * progression.percentage;
713
- if (progression.limit !== void 0) {
714
- if (args[propertyName] > progression.limit && progression.percentage > 0) {
715
- args[propertyName] = progression.limit;
716
- } else if (args[propertyName] < progression.limit && progression.percentage < 0) {
717
- args[propertyName] = progression.limit;
718
- }
719
- }
728
+ args[propertyName] = getExponentialProgression(args[propertyName], progression);
729
+ }
730
+ } 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") {
731
+ if (progression.type === "linear") {
732
+ args[propertyName].x = getLinearProgression(args[propertyName].x, progression);
733
+ args[propertyName].y = getLinearProgression(args[propertyName].y, progression);
734
+ } else if (progression.type === "exponential") {
735
+ args[propertyName].x = getExponentialProgression(args[propertyName].x, progression);
736
+ args[propertyName].y = getExponentialProgression(args[propertyName].y, progression);
737
+ }
738
+ }
739
+ }
740
+ function getLinearProgression(number, progression) {
741
+ if (progression.limit !== void 0) {
742
+ if (number > progression.limit && progression.amt > 0) {
743
+ return progression.limit;
744
+ } else if (number < progression.limit && progression.amt < 0) {
745
+ return progression.limit;
720
746
  }
721
747
  }
748
+ return number + progression.amt / 60;
749
+ }
750
+ function getExponentialProgression(number, progression) {
751
+ if (progression.limit !== void 0) {
752
+ if (number > progression.limit && progression.percentage > 0) {
753
+ return progression.limit;
754
+ } else if (number < progression.limit && progression.percentage < 0) {
755
+ return progression.limit;
756
+ }
757
+ }
758
+ return number + number * progression.percentage;
722
759
  }
723
760
 
724
- // src/classes/ticker/TickerMove.ts
725
- var TickerMove = class extends TickerBase {
726
- /**
727
- * The method that will be called every frame to move the canvas element of the canvas.
728
- * @param t The ticker that is calling this method
729
- * @param args The arguments that are passed to the ticker
730
- * @param tags The tags of the canvas element that are connected to this ticker
731
- */
732
- fn(t, args, tags) {
733
- let speed = args.speed === void 0 ? 0.1 : args.speed;
761
+ // src/classes/ticker/MoveTicker.ts
762
+ var MoveTicker = class extends TickerBase {
763
+ fn(ticker, args, tags, tickerId) {
764
+ let xSpeed = 1;
765
+ let ySpeed = 1;
766
+ if (args.speed) {
767
+ if (typeof args.speed === "number") {
768
+ xSpeed = args.speed;
769
+ ySpeed = args.speed;
770
+ } else {
771
+ xSpeed = args.speed.x;
772
+ ySpeed = args.speed.y;
773
+ }
774
+ }
775
+ xSpeed /= 60;
776
+ ySpeed /= 60;
734
777
  let destination = args.destination;
778
+ let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
779
+ if (typeof tagToRemoveAfter2 === "string") {
780
+ tagToRemoveAfter2 = [tagToRemoveAfter2];
781
+ }
735
782
  tags.filter((tag) => {
736
783
  var _a;
737
784
  let element = GameWindowManager.getCanvasElement(tag);
@@ -744,41 +791,42 @@ var TickerMove = class extends TickerBase {
744
791
  }).forEach((tag) => {
745
792
  let element = GameWindowManager.getCanvasElement(tag);
746
793
  if (element && element instanceof pixi_js.Container) {
747
- let xDistance = destination.x - element.x;
794
+ let xDistance = destination.x - element.x > 0 ? 1 : -1;
748
795
  if (xDistance != 0) {
749
- element.x += xDistance / speed * t.deltaTime;
796
+ element.x += xDistance * xSpeed * ticker.deltaTime;
750
797
  let newDistance = destination.x - element.x;
751
798
  if (xDistance < 0 && newDistance > 0 || xDistance > 0 && newDistance < 0) {
752
799
  element.x = destination.x;
753
800
  }
754
801
  }
755
- let yDistance = destination.y - element.y;
802
+ let yDistance = destination.y - element.y > 0 ? 1 : -1;
756
803
  if (yDistance != 0) {
757
- element.y += yDistance / speed * t.deltaTime;
804
+ element.y += yDistance * ySpeed * ticker.deltaTime;
758
805
  let newDistance = destination.y - element.y;
759
806
  if (yDistance < 0 && newDistance > 0 || yDistance > 0 && newDistance < 0) {
760
807
  element.y = destination.y;
761
808
  }
762
809
  }
810
+ if (element.x == destination.x && element.y == destination.y) {
811
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
812
+ }
763
813
  }
764
814
  });
765
815
  if (args.speedProgression)
766
816
  updateTickerProgression(args, "speed", args.speedProgression);
767
817
  }
768
818
  };
769
- TickerMove = __decorateClass([
819
+ MoveTicker = __decorateClass([
770
820
  tickerDecorator()
771
- ], TickerMove);
772
- var TickerRotate = class extends TickerBase {
773
- /**
774
- * The method that will be called every frame to rotate the canvas element of the canvas.
775
- * @param delta The delta time
776
- * @param args The arguments that are passed to the ticker
777
- * @param tags The tags of the canvas element that are connected to this ticker
778
- */
779
- fn(t, args, tags) {
780
- let speed = args.speed === void 0 ? 0.1 : args.speed;
821
+ ], MoveTicker);
822
+ var RotateTicker = class extends TickerBase {
823
+ fn(ticker, args, tags, tickerId) {
824
+ let speed = (args.speed === void 0 ? 1 : args.speed) / 60;
781
825
  let clockwise = args.clockwise === void 0 ? true : args.clockwise;
826
+ let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
827
+ if (typeof tagToRemoveAfter2 === "string") {
828
+ tagToRemoveAfter2 = [tagToRemoveAfter2];
829
+ }
782
830
  tags.filter((tag) => {
783
831
  var _a;
784
832
  let element = GameWindowManager.getCanvasElement(tag);
@@ -792,18 +840,114 @@ var TickerRotate = class extends TickerBase {
792
840
  let element = GameWindowManager.getCanvasElement(tag);
793
841
  if (element && element instanceof pixi_js.Container) {
794
842
  if (clockwise)
795
- element.rotation += speed * t.deltaTime;
843
+ element.rotation += speed * ticker.deltaTime;
796
844
  else
797
- element.rotation -= speed * t.deltaTime;
845
+ element.rotation -= speed * ticker.deltaTime;
846
+ if (speed < 1e-5 && !(args.speedProgression && args.speedProgression.type == "linear" && args.speedProgression.amt != 0)) {
847
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
848
+ }
849
+ }
850
+ });
851
+ if (args.speedProgression)
852
+ updateTickerProgression(args, "speed", args.speedProgression);
853
+ }
854
+ };
855
+ RotateTicker = __decorateClass([
856
+ tickerDecorator()
857
+ ], RotateTicker);
858
+ var ZoomTicker = class extends TickerBase {
859
+ fn(ticker, args, tags, tickerId) {
860
+ let xSpeed = 0.1;
861
+ let ySpeed = 0.1;
862
+ if (args.speed) {
863
+ if (typeof args.speed === "number") {
864
+ xSpeed = args.speed;
865
+ ySpeed = args.speed;
866
+ } else {
867
+ xSpeed = args.speed.x;
868
+ ySpeed = args.speed.y;
869
+ }
870
+ }
871
+ xSpeed /= 60;
872
+ ySpeed /= 60;
873
+ let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
874
+ if (typeof tagToRemoveAfter2 === "string") {
875
+ tagToRemoveAfter2 = [tagToRemoveAfter2];
876
+ }
877
+ let type = args.type || "zoom";
878
+ let xLimit = type === "zoom" ? Infinity : 0;
879
+ let yLimit = type === "zoom" ? Infinity : 0;
880
+ if (args.limit) {
881
+ if (typeof args.limit === "number") {
882
+ xLimit = args.limit;
883
+ yLimit = args.limit;
884
+ } else {
885
+ xLimit = args.limit.x;
886
+ yLimit = args.limit.y;
887
+ }
888
+ }
889
+ tags.filter((tag) => {
890
+ var _a;
891
+ let element = GameWindowManager.getCanvasElement(tag);
892
+ if (args.startOnlyIfHaveTexture) {
893
+ if (element && element instanceof pixi_js.Sprite && ((_a = element.texture) == null ? void 0 : _a.label) == "EMPTY") {
894
+ return false;
895
+ }
896
+ }
897
+ return true;
898
+ }).forEach((tag) => {
899
+ let element = GameWindowManager.getCanvasElement(tag);
900
+ if (element && element instanceof pixi_js.Container) {
901
+ if (type === "zoom" && (element.scale.x < xLimit || element.scale.y < yLimit)) {
902
+ element.scale.x += xSpeed * ticker.deltaTime;
903
+ element.scale.y += ySpeed * ticker.deltaTime;
904
+ } else if (type === "unzoom" && (element.scale.x > xLimit || element.scale.y > yLimit)) {
905
+ element.scale.x -= xSpeed * ticker.deltaTime;
906
+ element.scale.y -= ySpeed * ticker.deltaTime;
907
+ }
908
+ if (type === "zoom") {
909
+ if (element.scale.x > xLimit) {
910
+ element.scale.x = xLimit;
911
+ }
912
+ if (element.scale.y > yLimit) {
913
+ element.scale.y = yLimit;
914
+ }
915
+ if (element.scale.x >= xLimit && element.scale.y >= yLimit) {
916
+ element.scale.x = xLimit;
917
+ element.scale.y = yLimit;
918
+ this.onEndOfTicker(tag, tickerId, element, tagToRemoveAfter2);
919
+ }
920
+ } else if (type === "unzoom") {
921
+ if (element.scale.x < xLimit) {
922
+ element.scale.x = xLimit;
923
+ }
924
+ if (element.scale.y < yLimit) {
925
+ element.scale.y = yLimit;
926
+ }
927
+ if (element.scale.x <= xLimit && element.scale.y <= yLimit) {
928
+ element.scale.x = xLimit;
929
+ element.scale.y = yLimit;
930
+ this.onEndOfTicker(tag, tickerId, element, tagToRemoveAfter2);
931
+ }
932
+ }
933
+ if (xSpeed < 1e-5 && ySpeed < 1e-5 && !(args.speedProgression && args.speedProgression.type == "linear" && args.speedProgression.amt != 0)) {
934
+ this.onEndOfTicker(tag, tickerId, element, tagToRemoveAfter2);
935
+ }
798
936
  }
799
937
  });
800
938
  if (args.speedProgression)
801
939
  updateTickerProgression(args, "speed", args.speedProgression);
802
940
  }
941
+ onEndOfTicker(tag, tickerId, _element, tagToRemoveAfter2) {
942
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
943
+ }
803
944
  };
804
- TickerRotate = __decorateClass([
945
+ ZoomTicker = __decorateClass([
805
946
  tickerDecorator()
806
- ], TickerRotate);
947
+ ], ZoomTicker);
948
+
949
+ // src/constants.ts
950
+ var Repeat = "repeat";
807
951
 
808
952
  // src/functions/ExportUtility.ts
809
953
  function createExportableElement(element) {
@@ -827,6 +971,9 @@ function asciiArtLog() {
827
971
  `);
828
972
  }
829
973
 
974
+ // src/types/ticker/TagToRemoveAfterType.ts
975
+ var tagToRemoveAfter = "tagToRemoveAfter";
976
+
830
977
  // src/managers/WindowManager.ts
831
978
  var _GameWindowManager = class _GameWindowManager {
832
979
  constructor() {
@@ -1009,25 +1156,25 @@ var _GameWindowManager = class _GameWindowManager {
1009
1156
  /**
1010
1157
  * Remove a canvas element from the canvas.
1011
1158
  * And remove all tickers that are not connected to any canvas element.
1012
- * @param tag The tag of the canvas element to be removed.
1159
+ * @param tags The tag of the canvas element to be removed.
1013
1160
  * @returns
1014
1161
  * @example
1015
1162
  * ```typescript
1016
1163
  * GameWindowManager.removeCanvasElement("bunny");
1017
1164
  * ```
1018
1165
  */
1019
- static removeCanvasElement(tag) {
1020
- if (typeof tag === "string") {
1021
- tag = [tag];
1166
+ static removeCanvasElement(tags) {
1167
+ if (typeof tags === "string") {
1168
+ tags = [tags];
1022
1169
  }
1023
- tag.forEach((t) => {
1024
- if (_GameWindowManager._children[t]) {
1025
- _GameWindowManager.app.stage.removeChild(_GameWindowManager._children[t]);
1026
- delete _GameWindowManager._children[t];
1170
+ tags.forEach((tag) => {
1171
+ if (_GameWindowManager._children[tag]) {
1172
+ _GameWindowManager.app.stage.removeChild(_GameWindowManager._children[tag]);
1173
+ delete _GameWindowManager._children[tag];
1174
+ _GameWindowManager.removeTickerByCanvasElement(tag);
1027
1175
  }
1028
1176
  });
1029
- _GameWindowManager.removeTickersWithoutAssociatedCanvasElement();
1030
- _GameWindowManager.childrenTagsOrder = _GameWindowManager.childrenTagsOrder.filter((t) => !tag.includes(t));
1177
+ _GameWindowManager.childrenTagsOrder = _GameWindowManager.childrenTagsOrder.filter((t) => !tags.includes(t));
1031
1178
  }
1032
1179
  /**
1033
1180
  * Get a canvas element by the tag.
@@ -1057,18 +1204,43 @@ var _GameWindowManager = class _GameWindowManager {
1057
1204
  _GameWindowManager.app.stage.removeChildren();
1058
1205
  _GameWindowManager._children = {};
1059
1206
  _GameWindowManager.childrenTagsOrder = [];
1060
- _GameWindowManager.removeTickers();
1207
+ _GameWindowManager.removeAllTickers();
1061
1208
  }
1062
1209
  /**
1063
1210
  * Edit the tag of a canvas element.
1064
1211
  * @param oldTag The old tag of the canvas element.
1065
1212
  * @param newTag The new tag of the canvas element.
1066
1213
  */
1067
- static editTagCanvasElement(oldTag, newTag) {
1214
+ static editCanvasElementTag(oldTag, newTag) {
1068
1215
  if (_GameWindowManager._children[oldTag]) {
1069
1216
  _GameWindowManager._children[newTag] = _GameWindowManager._children[oldTag];
1070
1217
  delete _GameWindowManager._children[oldTag];
1071
1218
  }
1219
+ if (_GameWindowManager._currentTickersSteps[oldTag]) {
1220
+ _GameWindowManager._currentTickersSteps[newTag] = _GameWindowManager._currentTickersSteps[oldTag];
1221
+ delete _GameWindowManager._currentTickersSteps[oldTag];
1222
+ }
1223
+ for (let id in _GameWindowManager._currentTickers) {
1224
+ let ticker = _GameWindowManager._currentTickers[id];
1225
+ if (ticker.canvasElementTags.includes(oldTag)) {
1226
+ ticker.canvasElementTags = ticker.canvasElementTags.map((t) => t === oldTag ? newTag : t);
1227
+ if (ticker.args.hasOwnProperty(tagToRemoveAfter)) {
1228
+ let tagToRemoveAfter2 = ticker.args.tagToRemoveAfter;
1229
+ if (typeof tagToRemoveAfter2 === "string") {
1230
+ tagToRemoveAfter2 = [tagToRemoveAfter2];
1231
+ }
1232
+ if (Array.isArray(tagToRemoveAfter2)) {
1233
+ ticker.args.tagToRemoveAfter = tagToRemoveAfter2.map((t) => t === oldTag ? newTag : t);
1234
+ }
1235
+ }
1236
+ }
1237
+ }
1238
+ for (let timeout in _GameWindowManager._currentTickersTimeouts) {
1239
+ let TickerTimeout = _GameWindowManager._currentTickersTimeouts[timeout];
1240
+ if (TickerTimeout.tags.includes(oldTag)) {
1241
+ TickerTimeout.tags = TickerTimeout.tags.map((t) => t === oldTag ? newTag : t);
1242
+ }
1243
+ }
1072
1244
  }
1073
1245
  /** Edit Tickers Methods */
1074
1246
  /**
@@ -1077,106 +1249,127 @@ var _GameWindowManager = class _GameWindowManager {
1077
1249
  static get currentTickers() {
1078
1250
  return _GameWindowManager._currentTickers;
1079
1251
  }
1252
+ static get currentTickersList() {
1253
+ return Object.values(_GameWindowManager._currentTickers);
1254
+ }
1255
+ static get currentTickersWithoutCreatedBySteps() {
1256
+ return Object.fromEntries(Object.entries(_GameWindowManager._currentTickers).filter(([_, ticker]) => !ticker.createdByTicketStepsId));
1257
+ }
1080
1258
  /**
1081
1259
  * The steps of the tickers
1082
1260
  */
1083
1261
  static get currentTickersSteps() {
1084
1262
  return _GameWindowManager._currentTickersSteps;
1085
1263
  }
1264
+ static generateTickerId(tickerData) {
1265
+ try {
1266
+ return sha1__default.default(JSON.stringify(tickerData)).toString() + "_" + Math.random().toString(36).substring(7);
1267
+ } catch (e) {
1268
+ throw new Error(`[Pixi'VN] Error to generate ticker id: ${e}`);
1269
+ }
1270
+ }
1086
1271
  /**
1087
- * Run a ticker.
1272
+ * Run a ticker. You can run multiple addTicker with the same tag and different tickerClasses.
1273
+ * If you run a ticker with the same tag and tickerClass, the old ticker will be removed.
1274
+ * If already exists a sequence of tickers with the same tag, it will be removed.
1088
1275
  * @param canvasEslementTag The tag of the canvas element that will use the ticker.
1089
1276
  * @param ticker The ticker class to be run.
1090
1277
  * @param args The arguments to be used in the ticker.
1091
- * @param duration The time to be used in the ticker. This number is in milliseconds. If it is undefined, the ticker will run forever.
1278
+ * @param duration The time to be used in the ticker. This number is in seconds. If it is undefined, the ticker will run forever.
1092
1279
  * @param priority The priority to be used in the ticker.
1093
1280
  * @returns
1094
1281
  * @example
1095
1282
  * ```typescript
1096
- * GameWindowManager.addTicker("alien", new TickerRotate({ speed: 0.2 }))
1283
+ * GameWindowManager.addTicker("alien", new RotateTicker({ speed: 0.2 }))
1097
1284
  * ```
1098
1285
  */
1099
1286
  static addTicker(canvasElementTag, ticker) {
1100
- let tickerName = ticker.constructor.name;
1287
+ let tickerId = ticker.id;
1101
1288
  if (typeof canvasElementTag === "string") {
1102
1289
  canvasElementTag = [canvasElementTag];
1103
1290
  }
1104
- let t = geTickerInstanceByClassName(tickerName, ticker.args, ticker.duration, ticker.priority);
1105
- if (!t) {
1106
- console.error(`[Pixi'VN] Ticker ${tickerName} not found`);
1291
+ if (!geTickerInstanceById(tickerId, ticker.args, ticker.duration, ticker.priority)) {
1292
+ console.error(`[Pixi'VN] Ticker ${tickerId} not found`);
1107
1293
  return;
1108
1294
  }
1109
- _GameWindowManager.removeAssociationBetweenTickerCanvasElement(canvasElementTag, ticker);
1110
1295
  let tickerHistory = {
1111
1296
  fn: () => {
1112
1297
  },
1113
- className: tickerName,
1114
- args: ticker.args,
1298
+ id: tickerId,
1299
+ args: createExportableElement(ticker.args),
1115
1300
  canvasElementTags: canvasElementTag,
1116
1301
  priority: ticker.priority,
1117
1302
  duration: ticker.duration
1118
1303
  };
1119
- _GameWindowManager.pushTicker(tickerHistory, t);
1120
- _GameWindowManager.removeTickersWithoutAssociatedCanvasElement();
1304
+ let id = _GameWindowManager.generateTickerId(tickerHistory);
1305
+ _GameWindowManager.pushTicker(id, tickerHistory, ticker);
1121
1306
  if (ticker.duration) {
1122
1307
  let timeout = setTimeout(() => {
1123
1308
  _GameWindowManager.removeTickerTimeoutInfo(timeout);
1124
- _GameWindowManager.nextTickerStep(canvasElementTag);
1125
- }, ticker.duration);
1126
- _GameWindowManager.addTickerTimeoutInfo(canvasElementTag, tickerName, timeout.toString());
1309
+ let tickerTimeoutInfo = _GameWindowManager._currentTickersTimeouts[timeout.toString()];
1310
+ if (tickerTimeoutInfo) {
1311
+ _GameWindowManager.removeTicker(id);
1312
+ }
1313
+ }, ticker.duration * 1e3);
1314
+ _GameWindowManager.addTickerTimeoutInfo(canvasElementTag, tickerId, timeout.toString(), true);
1127
1315
  }
1128
1316
  }
1129
- static pushTicker(tickerData, ticker) {
1130
- _GameWindowManager.removeAssociationBetweenTickerCanvasElement(tickerData.canvasElementTags, tickerData);
1131
- _GameWindowManager._currentTickers.push(tickerData);
1317
+ static pushTicker(id, tickerData, ticker) {
1318
+ _GameWindowManager.removeAssociationBetweenTickerCanvasElement(tickerData.canvasElementTags, ticker);
1319
+ _GameWindowManager._currentTickers[id] = tickerData;
1132
1320
  tickerData.fn = (t) => {
1133
- ticker == null ? void 0 : ticker.fn(t, tickerData.args, tickerData.canvasElementTags);
1321
+ let data = _GameWindowManager._currentTickers[id];
1322
+ if (data) {
1323
+ ticker == null ? void 0 : ticker.fn(t, data.args, data.canvasElementTags, id);
1324
+ }
1134
1325
  };
1135
1326
  _GameWindowManager.app.ticker.add(tickerData.fn, void 0, tickerData.priority);
1136
1327
  }
1137
1328
  /**
1138
- * Run a sequence of tickers.
1329
+ * Run a sequence of tickers. If exists a ticker steps with the same tag, it will be removed.
1139
1330
  * @param tag The tag of canvas element that will use the tickers.
1140
1331
  * @param steps The steps of the tickers.
1332
+ * @param currentStepNumber The current step number. It is used to continue the sequence of tickers.
1141
1333
  * @returns
1142
1334
  * @example
1143
1335
  * ```typescript
1144
1336
  * GameWindowManager.addTickersSteps("alien", [
1145
- * new TickerRotate({ speed: 0.1, clockwise: true }, 2000),
1146
- * Pause(500),
1147
- * new TickerRotate({ speed: 0.2, clockwise: false }, 2000),
1337
+ * new RotateTicker({ speed: 0.1, clockwise: true }, 2), // 2 seconds
1338
+ * Pause(1), // 1 second
1339
+ * new RotateTicker({ speed: 0.2, clockwise: false }, 2),
1148
1340
  * Repeat,
1149
1341
  * ])
1150
1342
  * ```
1151
1343
  */
1152
- static addTickersSteps(tag, steps) {
1344
+ static addTickersSteps(tag, steps, currentStepNumber = 0) {
1153
1345
  if (steps.length == 0) {
1154
1346
  console.warn("[Pixi'VN] The steps of the tickers is empty");
1155
1347
  return;
1156
1348
  }
1157
- let alredyExists = _GameWindowManager._currentTickersSteps[tag] !== void 0;
1349
+ _GameWindowManager.removeTickerStepByCanvasElement(tag);
1158
1350
  _GameWindowManager._currentTickersSteps[tag] = {
1159
- currentStepNumber: 0,
1160
- steps: steps.map((s) => {
1161
- if (s === Repeat) {
1162
- return s;
1163
- }
1164
- if (!s.duration) {
1165
- console.warn("[Pixi'VN] Duration is not defined, so it will be set to 1000");
1166
- s.duration = 1e3;
1351
+ currentStepNumber,
1352
+ steps: steps.map((step) => {
1353
+ if (step === Repeat) {
1354
+ return step;
1167
1355
  }
1168
- if (s.hasOwnProperty("type") && s.type === PauseValueType) {
1169
- return s;
1356
+ if (step.hasOwnProperty("type") && step.type === "pause") {
1357
+ return step;
1170
1358
  }
1171
- let tickerName = s.constructor.name;
1359
+ let tickerId = step.id;
1172
1360
  return {
1173
- ticker: tickerName,
1174
- args: s.args,
1175
- duration: s.duration
1361
+ ticker: tickerId,
1362
+ args: createExportableElement(step.args),
1363
+ duration: step.duration
1176
1364
  };
1177
1365
  })
1178
1366
  };
1179
- if (!alredyExists) {
1367
+ _GameWindowManager.runTickersSteps(tag);
1368
+ }
1369
+ static restoneTickersSteps(data) {
1370
+ for (let tag in data) {
1371
+ let steps = data[tag];
1372
+ _GameWindowManager._currentTickersSteps[tag] = steps;
1180
1373
  _GameWindowManager.runTickersSteps(tag);
1181
1374
  }
1182
1375
  }
@@ -1190,70 +1383,106 @@ var _GameWindowManager = class _GameWindowManager {
1190
1383
  return;
1191
1384
  }
1192
1385
  }
1193
- if (step.hasOwnProperty("type") && step.type === PauseValueType) {
1386
+ if (step.hasOwnProperty("type") && step.type === "pause") {
1194
1387
  let timeout = setTimeout(() => {
1388
+ let tickerTimeoutInfo = _GameWindowManager._currentTickersTimeouts[timeout.toString()];
1389
+ if (tickerTimeoutInfo) {
1390
+ tickerTimeoutInfo.tags.forEach((tag2) => {
1391
+ _GameWindowManager.nextTickerStep(tag2);
1392
+ });
1393
+ }
1195
1394
  _GameWindowManager.removeTickerTimeoutInfo(timeout);
1196
- _GameWindowManager.nextTickerStep(tag);
1197
- }, step.duration);
1198
- _GameWindowManager.addTickerTimeoutInfo(tag, "steps", timeout.toString());
1395
+ }, step.duration * 1e3);
1396
+ _GameWindowManager.addTickerTimeoutInfo(tag, "steps", timeout.toString(), false);
1199
1397
  return;
1200
1398
  }
1201
- let ticker = geTickerInstanceByClassName(step.ticker, step.args, step.duration, step.priority);
1399
+ let ticker = geTickerInstanceById(step.ticker, step.args, step.duration, step.priority);
1202
1400
  if (!ticker) {
1203
1401
  console.error(`[Pixi'VN] Ticker ${step.ticker} not found`);
1204
1402
  return;
1205
1403
  }
1206
- _GameWindowManager.addTicker(tag, ticker);
1404
+ let tickerName = ticker.id;
1405
+ let tickerHistory = {
1406
+ fn: () => {
1407
+ },
1408
+ id: tickerName,
1409
+ args: createExportableElement(ticker.args),
1410
+ canvasElementTags: [tag],
1411
+ priority: ticker.priority,
1412
+ duration: ticker.duration,
1413
+ createdByTicketStepsId: tag
1414
+ };
1415
+ let id = _GameWindowManager.generateTickerId(tickerHistory);
1416
+ _GameWindowManager.pushTicker(id, tickerHistory, ticker);
1417
+ if (ticker.duration) {
1418
+ let timeout = setTimeout(() => {
1419
+ let tickerTimeoutInfo = _GameWindowManager._currentTickersTimeouts[timeout.toString()];
1420
+ if (tickerTimeoutInfo) {
1421
+ _GameWindowManager.removeTicker(id);
1422
+ tickerTimeoutInfo.tags.forEach((tag2) => {
1423
+ _GameWindowManager.nextTickerStep(tag2);
1424
+ });
1425
+ }
1426
+ _GameWindowManager.removeTickerTimeoutInfo(timeout);
1427
+ }, ticker.duration * 1e3);
1428
+ _GameWindowManager.addTickerTimeoutInfo(tag, tickerName, timeout.toString(), false);
1429
+ }
1207
1430
  }
1208
1431
  static nextTickerStep(tag) {
1209
- if (typeof tag === "string") {
1210
- tag = [tag];
1432
+ if (_GameWindowManager._currentTickersSteps[tag]) {
1433
+ let steps = _GameWindowManager._currentTickersSteps[tag];
1434
+ if (steps.currentStepNumber + 1 < steps.steps.length) {
1435
+ steps.currentStepNumber++;
1436
+ _GameWindowManager._currentTickersSteps[tag] = steps;
1437
+ _GameWindowManager.runTickersSteps(tag);
1438
+ } else {
1439
+ _GameWindowManager.removeTickerStepByCanvasElement(tag);
1440
+ }
1211
1441
  }
1212
- tag.forEach((tag2) => {
1213
- if (_GameWindowManager._currentTickersSteps[tag2]) {
1214
- let steps = _GameWindowManager._currentTickersSteps[tag2];
1215
- if (steps.currentStepNumber + 1 < steps.steps.length) {
1216
- steps.currentStepNumber++;
1217
- _GameWindowManager._currentTickersSteps[tag2] = steps;
1218
- _GameWindowManager.runTickersSteps(tag2);
1219
- } else {
1220
- delete _GameWindowManager._currentTickersSteps[tag2];
1221
- }
1442
+ }
1443
+ static onEndOfTicker(canvasElementTags, ticker, canvasElementTagsToDelete, tickerId) {
1444
+ let tickerData = _GameWindowManager._currentTickers[tickerId];
1445
+ _GameWindowManager.removeAssociationBetweenTickerCanvasElement(canvasElementTags, ticker);
1446
+ _GameWindowManager.removeCanvasElement(canvasElementTagsToDelete);
1447
+ if (tickerData) {
1448
+ _GameWindowManager.removeTicker(tickerId);
1449
+ if (tickerData.duration == void 0 && tickerData.createdByTicketStepsId) {
1450
+ _GameWindowManager.nextTickerStep(tickerData.createdByTicketStepsId);
1222
1451
  }
1223
- });
1452
+ }
1224
1453
  }
1225
1454
  /**
1226
1455
  * Remove a connection between a canvas element and a ticker.
1227
1456
  * And remove the ticker if there is no canvas element connected to it.
1228
- * @param tag The tag of the canvas element that will use the ticker.
1457
+ * @param tags The tag of the canvas element that will use the ticker.
1229
1458
  * @param ticker The ticker class to be removed.
1230
1459
  * @example
1231
1460
  * ```typescript
1232
- * GameWindowManager.removeAssociationBetweenTickerCanvasElement("alien", TickerRotate)
1461
+ * GameWindowManager.removeAssociationBetweenTickerCanvasElement("alien", RotateTicker)
1233
1462
  * ```
1234
1463
  */
1235
- static removeAssociationBetweenTickerCanvasElement(tag, ticker) {
1236
- let tickerName;
1237
- if (ticker instanceof TickerBase) {
1238
- tickerName = ticker.constructor.name;
1464
+ static removeAssociationBetweenTickerCanvasElement(tags, ticker) {
1465
+ let tickerId;
1466
+ if (typeof ticker === "string") {
1467
+ tickerId = ticker;
1468
+ } else if (ticker instanceof TickerBase) {
1469
+ tickerId = ticker.id;
1239
1470
  } else {
1240
- tickerName = ticker.name;
1471
+ tickerId = ticker.prototype.id;
1241
1472
  }
1242
- if (typeof tag === "string") {
1243
- tag = [tag];
1473
+ if (typeof tags === "string") {
1474
+ tags = [tags];
1244
1475
  }
1245
- _GameWindowManager._currentTickers = _GameWindowManager._currentTickers.map((t) => {
1246
- if (t.className === tickerName) {
1247
- t.canvasElementTags = t.canvasElementTags.filter((e) => !tag.includes(e));
1476
+ for (let id in _GameWindowManager._currentTickers) {
1477
+ let ticker2 = _GameWindowManager._currentTickers[id];
1478
+ if (ticker2.id === tickerId) {
1479
+ _GameWindowManager._currentTickers[id].canvasElementTags = ticker2.canvasElementTags.filter((e) => !tags.includes(e));
1248
1480
  }
1249
- return t;
1250
- });
1251
- for (let timeout in _GameWindowManager.currentTickersTimeouts) {
1252
- let t = _GameWindowManager.currentTickersTimeouts[timeout].tags.filter((e) => !tag.includes(e));
1253
- if (t.length == 0) {
1254
- _GameWindowManager.removeTickerTimeoutInfo(timeout);
1255
- } else {
1256
- _GameWindowManager.currentTickersTimeouts[timeout].tags = t;
1481
+ }
1482
+ for (let timeout in _GameWindowManager._currentTickersTimeouts) {
1483
+ let TickerTimeout = _GameWindowManager._currentTickersTimeouts[timeout];
1484
+ if (TickerTimeout.ticker === tickerId && TickerTimeout.canBeDeletedBeforeEnd) {
1485
+ _GameWindowManager._currentTickersTimeouts[timeout].tags = TickerTimeout.tags.filter((t) => !tags.includes(t));
1257
1486
  }
1258
1487
  }
1259
1488
  _GameWindowManager.removeTickersWithoutAssociatedCanvasElement();
@@ -1262,49 +1491,117 @@ var _GameWindowManager = class _GameWindowManager {
1262
1491
  * Remove all tickers that are not connected to any existing canvas element.
1263
1492
  */
1264
1493
  static removeTickersWithoutAssociatedCanvasElement() {
1265
- let currentTickers = _GameWindowManager._currentTickers.map((t) => {
1266
- t.canvasElementTags = t.canvasElementTags.filter((e) => _GameWindowManager._children[e]);
1267
- return t;
1268
- });
1269
- currentTickers.filter((t) => t.canvasElementTags.length === 0).forEach((t) => {
1270
- _GameWindowManager.app.ticker.remove(t.fn);
1271
- });
1272
- currentTickers = currentTickers.filter((t) => t.canvasElementTags.length > 0);
1273
- _GameWindowManager._currentTickers = currentTickers;
1494
+ for (let id in _GameWindowManager._currentTickers) {
1495
+ let ticker = _GameWindowManager._currentTickers[id];
1496
+ ticker.canvasElementTags = ticker.canvasElementTags.filter((e) => _GameWindowManager._children[e]);
1497
+ if (ticker.canvasElementTags.length === 0) {
1498
+ _GameWindowManager.removeTicker(id);
1499
+ }
1500
+ }
1274
1501
  for (let tag in _GameWindowManager._currentTickersSteps) {
1275
1502
  if (_GameWindowManager._children[tag] === void 0) {
1276
1503
  delete _GameWindowManager._currentTickersSteps[tag];
1277
1504
  }
1278
1505
  }
1506
+ Object.entries(_GameWindowManager._currentTickersTimeouts).forEach(([timeout, { tags }]) => {
1507
+ if (tags.length === 0) {
1508
+ _GameWindowManager.removeTickerTimeout(timeout);
1509
+ }
1510
+ });
1279
1511
  }
1280
- static addTickerTimeoutInfo(tags, ticker, timeout) {
1512
+ static addTickerTimeoutInfo(tags, ticker, timeout, canBeDeletedBeforeEnd) {
1281
1513
  if (typeof tags === "string") {
1282
1514
  tags = [tags];
1283
1515
  }
1284
- _GameWindowManager.currentTickersTimeouts[timeout] = {
1516
+ _GameWindowManager._currentTickersTimeouts[timeout] = {
1285
1517
  tags,
1286
- ticker
1518
+ ticker,
1519
+ canBeDeletedBeforeEnd
1287
1520
  };
1288
1521
  }
1289
1522
  static removeTickerTimeoutInfo(timeout) {
1290
1523
  if (typeof timeout !== "string") {
1291
1524
  timeout = timeout.toString();
1292
1525
  }
1293
- if (_GameWindowManager.currentTickersTimeouts[timeout]) {
1294
- delete _GameWindowManager.currentTickersTimeouts[timeout];
1526
+ if (_GameWindowManager._currentTickersTimeouts[timeout]) {
1527
+ delete _GameWindowManager._currentTickersTimeouts[timeout];
1528
+ }
1529
+ }
1530
+ static removeTickerTimeout(timeout) {
1531
+ if (typeof timeout !== "string") {
1532
+ timeout = timeout.toString();
1533
+ }
1534
+ clearTimeout(Number(timeout));
1535
+ _GameWindowManager.removeTickerTimeoutInfo(timeout);
1536
+ }
1537
+ static removeTickerTimeoutsByTag(tag, checkCanBeDeletedBeforeEnd) {
1538
+ for (let timeout in _GameWindowManager._currentTickersTimeouts) {
1539
+ let tagsWithoutTagToRemove = _GameWindowManager._currentTickersTimeouts[timeout].tags.filter((t) => t !== tag);
1540
+ if (tagsWithoutTagToRemove.length === 0) {
1541
+ let canBeDeletedBeforeEnd = _GameWindowManager._currentTickersTimeouts[timeout].canBeDeletedBeforeEnd;
1542
+ if (!checkCanBeDeletedBeforeEnd || canBeDeletedBeforeEnd) {
1543
+ _GameWindowManager.removeTickerTimeout(timeout);
1544
+ }
1545
+ } else {
1546
+ _GameWindowManager._currentTickersTimeouts[timeout].tags = tagsWithoutTagToRemove;
1547
+ }
1295
1548
  }
1296
1549
  }
1297
1550
  /**
1298
1551
  * Remove all tickers from the canvas.
1299
1552
  */
1300
- static removeTickers() {
1553
+ static removeAllTickers() {
1301
1554
  _GameWindowManager._currentTickersSteps = {};
1302
- _GameWindowManager._currentTickers.forEach((t) => {
1303
- _GameWindowManager.app.ticker.remove(t.fn);
1555
+ Object.keys(_GameWindowManager._currentTickers).forEach((id) => {
1556
+ _GameWindowManager.removeTicker(id);
1557
+ });
1558
+ _GameWindowManager._currentTickers = {};
1559
+ for (let timeout in _GameWindowManager._currentTickersTimeouts) {
1560
+ _GameWindowManager.removeTickerTimeout(timeout);
1561
+ }
1562
+ }
1563
+ /**
1564
+ * Remove all tickers from a canvas element.
1565
+ * @param tag The tag of the canvas element that will use the ticker.
1566
+ */
1567
+ static removeTickerByCanvasElement(tag) {
1568
+ if (typeof tag === "string") {
1569
+ tag = [tag];
1570
+ }
1571
+ tag.forEach((tag2) => {
1572
+ for (let id in _GameWindowManager._currentTickers) {
1573
+ let ticker = _GameWindowManager._currentTickers[id];
1574
+ if (ticker.canvasElementTags.includes(tag2)) {
1575
+ _GameWindowManager.removeTicker(id);
1576
+ }
1577
+ }
1578
+ if (_GameWindowManager._currentTickersSteps[tag2]) {
1579
+ delete _GameWindowManager._currentTickersSteps[tag2];
1580
+ }
1581
+ _GameWindowManager.removeTickerTimeoutsByTag(tag2, false);
1582
+ delete _GameWindowManager._currentTickersSteps[tag2];
1304
1583
  });
1305
- _GameWindowManager._currentTickers = [];
1306
- for (let timeout in _GameWindowManager.currentTickersTimeouts) {
1307
- _GameWindowManager.removeTickerTimeoutInfo(timeout);
1584
+ }
1585
+ static removeTickerStepByCanvasElement(tag) {
1586
+ if (_GameWindowManager._currentTickersSteps[tag]) {
1587
+ delete _GameWindowManager._currentTickersSteps[tag];
1588
+ }
1589
+ for (let id in _GameWindowManager._currentTickers) {
1590
+ let ticker = _GameWindowManager._currentTickers[id];
1591
+ if (ticker.createdByTicketStepsId === tag) {
1592
+ _GameWindowManager.removeTicker(id);
1593
+ }
1594
+ }
1595
+ }
1596
+ static removeTicker(tickerId) {
1597
+ let ticker = _GameWindowManager._currentTickers[tickerId];
1598
+ if (ticker) {
1599
+ if (ticker.args.hasOwnProperty(tagToRemoveAfter)) {
1600
+ let tagToRemoveAfter2 = ticker.args.tagToRemoveAfter;
1601
+ _GameWindowManager.removeCanvasElement(tagToRemoveAfter2);
1602
+ }
1603
+ _GameWindowManager.app.ticker.remove(ticker.fn);
1604
+ delete _GameWindowManager._currentTickers[tickerId];
1308
1605
  }
1309
1606
  }
1310
1607
  /**
@@ -1331,7 +1628,8 @@ var _GameWindowManager = class _GameWindowManager {
1331
1628
  currentElements[tag] = exportCanvasElement(_GameWindowManager._children[tag]);
1332
1629
  }
1333
1630
  return {
1334
- currentTickers: createExportableElement(_GameWindowManager._currentTickers),
1631
+ currentTickers: createExportableElement(_GameWindowManager.currentTickersWithoutCreatedBySteps),
1632
+ currentTickersSteps: createExportableElement(_GameWindowManager._currentTickersSteps),
1335
1633
  currentElements: createExportableElement(currentElements),
1336
1634
  childrenTagsOrder: createExportableElement(_GameWindowManager.childrenTagsOrder)
1337
1635
  };
@@ -1366,15 +1664,20 @@ var _GameWindowManager = class _GameWindowManager {
1366
1664
  }
1367
1665
  if (data.hasOwnProperty("currentTickers")) {
1368
1666
  let currentTickers = data["currentTickers"];
1369
- currentTickers.forEach((t) => {
1667
+ for (let id in currentTickers) {
1668
+ let t = currentTickers[id];
1370
1669
  let tags = t.canvasElementTags;
1371
- let ticker = geTickerInstanceByClassName(t.className, t.args, t.duration, t.priority);
1670
+ let ticker = geTickerInstanceById(t.id, t.args, t.duration, t.priority);
1372
1671
  if (ticker) {
1373
1672
  _GameWindowManager.addTicker(tags, ticker);
1374
1673
  } else {
1375
- console.error(`[Pixi'VN] Ticker ${t.className} not found`);
1674
+ console.error(`[Pixi'VN] Ticker ${t.id} not found`);
1376
1675
  }
1377
- });
1676
+ }
1677
+ }
1678
+ if (data.hasOwnProperty("currentTickersSteps")) {
1679
+ let currentTickersSteps = data["currentTickersSteps"];
1680
+ _GameWindowManager.restoneTickersSteps(currentTickersSteps);
1378
1681
  }
1379
1682
  } catch (e) {
1380
1683
  console.error("[Pixi'VN] Error importing data", e);
@@ -1388,16 +1691,16 @@ _GameWindowManager._children = {};
1388
1691
  * The order of the children tags.
1389
1692
  */
1390
1693
  _GameWindowManager.childrenTagsOrder = [];
1391
- _GameWindowManager._currentTickers = [];
1694
+ _GameWindowManager._currentTickers = {};
1392
1695
  _GameWindowManager._currentTickersSteps = {};
1393
- _GameWindowManager.currentTickersTimeouts = {};
1696
+ _GameWindowManager._currentTickersTimeouts = {};
1394
1697
  var GameWindowManager = _GameWindowManager;
1395
1698
 
1396
1699
  // src/decorators/LabelDecorator.ts
1397
1700
  var registeredLabels = {};
1398
1701
  function newLabel(id, steps, onStepRun) {
1399
1702
  if (registeredLabels[id]) {
1400
- console.warn(`[Pixi'VN] Label ${id} already exists, it will be overwritten`);
1703
+ console.info(`[Pixi'VN] Label ${id} already exists, it will be overwritten`);
1401
1704
  }
1402
1705
  let label = new Label(id, steps, onStepRun);
1403
1706
  registeredLabels[id] = label;