@drincs/pixi-vn 0.6.0 → 0.6.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (415) hide show
  1. package/dist/{TickerBase-RQDWNI4K.d.ts → TickerBase-3rLpDpmb.d.ts} +27 -13
  2. package/dist/{TickerBase-B5CQCJs8.d.mts → TickerBase-DKYzbzro.d.mts} +27 -13
  3. package/dist/classes/CanvasEvent.d.mts +7 -1
  4. package/dist/classes/CanvasEvent.d.ts +7 -1
  5. package/dist/classes/CanvasEvent.js +7 -0
  6. package/dist/classes/CanvasEvent.js.map +1 -1
  7. package/dist/classes/CanvasEvent.mjs +7 -0
  8. package/dist/classes/CanvasEvent.mjs.map +1 -1
  9. package/dist/classes/CharacterBaseModel.d.mts +2 -26
  10. package/dist/classes/CharacterBaseModel.d.ts +2 -26
  11. package/dist/classes/CharacterBaseModel.js +544 -241
  12. package/dist/classes/CharacterBaseModel.js.map +1 -1
  13. package/dist/classes/CharacterBaseModel.mjs +540 -241
  14. package/dist/classes/CharacterBaseModel.mjs.map +1 -1
  15. package/dist/classes/ChoiceMenuOption.d.mts +27 -17
  16. package/dist/classes/ChoiceMenuOption.d.ts +27 -17
  17. package/dist/classes/ChoiceMenuOption.js +548 -243
  18. package/dist/classes/ChoiceMenuOption.js.map +1 -1
  19. package/dist/classes/ChoiceMenuOption.mjs +544 -243
  20. package/dist/classes/ChoiceMenuOption.mjs.map +1 -1
  21. package/dist/classes/CloseLabel.d.mts +1 -1
  22. package/dist/classes/CloseLabel.d.ts +1 -1
  23. package/dist/classes/CloseLabel.js +1 -1
  24. package/dist/classes/CloseLabel.js.map +1 -1
  25. package/dist/classes/CloseLabel.mjs +1 -1
  26. package/dist/classes/CloseLabel.mjs.map +1 -1
  27. package/dist/classes/DialogueBaseModel.d.mts +3 -2
  28. package/dist/classes/DialogueBaseModel.d.ts +3 -2
  29. package/dist/classes/DialogueBaseModel.js +5 -5
  30. package/dist/classes/DialogueBaseModel.js.map +1 -1
  31. package/dist/classes/DialogueBaseModel.mjs +5 -5
  32. package/dist/classes/DialogueBaseModel.mjs.map +1 -1
  33. package/dist/classes/Label.d.mts +1 -1
  34. package/dist/classes/Label.d.ts +1 -1
  35. package/dist/classes/Label.js +1 -1
  36. package/dist/classes/Label.js.map +1 -1
  37. package/dist/classes/Label.mjs +1 -1
  38. package/dist/classes/Label.mjs.map +1 -1
  39. package/dist/classes/StoredClassModel.d.mts +2 -2
  40. package/dist/classes/StoredClassModel.d.ts +2 -2
  41. package/dist/classes/StoredClassModel.js +544 -241
  42. package/dist/classes/StoredClassModel.js.map +1 -1
  43. package/dist/classes/StoredClassModel.mjs +540 -241
  44. package/dist/classes/StoredClassModel.mjs.map +1 -1
  45. package/dist/classes/canvas/CanvasBase.d.mts +5 -1
  46. package/dist/classes/canvas/CanvasBase.d.ts +5 -1
  47. package/dist/classes/canvas/CanvasBase.js +7 -0
  48. package/dist/classes/canvas/CanvasBase.js.map +1 -1
  49. package/dist/classes/canvas/CanvasBase.mjs +7 -0
  50. package/dist/classes/canvas/CanvasBase.mjs.map +1 -1
  51. package/dist/classes/canvas/CanvasContainer.d.mts +4 -1
  52. package/dist/classes/canvas/CanvasContainer.d.ts +4 -1
  53. package/dist/classes/canvas/CanvasContainer.js +57 -37
  54. package/dist/classes/canvas/CanvasContainer.js.map +1 -1
  55. package/dist/classes/canvas/CanvasContainer.mjs +57 -38
  56. package/dist/classes/canvas/CanvasContainer.mjs.map +1 -1
  57. package/dist/classes/canvas/CanvasImage.d.mts +4 -2
  58. package/dist/classes/canvas/CanvasImage.d.ts +4 -2
  59. package/dist/classes/canvas/CanvasImage.js +33 -20
  60. package/dist/classes/canvas/CanvasImage.js.map +1 -1
  61. package/dist/classes/canvas/CanvasImage.mjs +30 -20
  62. package/dist/classes/canvas/CanvasImage.mjs.map +1 -1
  63. package/dist/classes/canvas/CanvasSprite.d.mts +6 -3
  64. package/dist/classes/canvas/CanvasSprite.d.ts +6 -3
  65. package/dist/classes/canvas/CanvasSprite.js +25 -17
  66. package/dist/classes/canvas/CanvasSprite.js.map +1 -1
  67. package/dist/classes/canvas/CanvasSprite.mjs +25 -18
  68. package/dist/classes/canvas/CanvasSprite.mjs.map +1 -1
  69. package/dist/classes/canvas/CanvasText.d.mts +6 -3
  70. package/dist/classes/canvas/CanvasText.d.ts +6 -3
  71. package/dist/classes/canvas/CanvasText.js +25 -17
  72. package/dist/classes/canvas/CanvasText.js.map +1 -1
  73. package/dist/classes/canvas/CanvasText.mjs +25 -18
  74. package/dist/classes/canvas/CanvasText.mjs.map +1 -1
  75. package/dist/classes/canvas/index.js +184 -158
  76. package/dist/classes/canvas/index.js.map +1 -1
  77. package/dist/classes/canvas/index.mjs +184 -158
  78. package/dist/classes/canvas/index.mjs.map +1 -1
  79. package/dist/classes/index.d.mts +6 -4
  80. package/dist/classes/index.d.ts +6 -4
  81. package/dist/classes/index.js +560 -248
  82. package/dist/classes/index.js.map +1 -1
  83. package/dist/classes/index.mjs +556 -248
  84. package/dist/classes/index.mjs.map +1 -1
  85. package/dist/classes/ticker/FadeAlphaTicker.d.mts +27 -0
  86. package/dist/classes/ticker/FadeAlphaTicker.d.ts +27 -0
  87. package/dist/classes/ticker/{TickerFadeAlpha.js → FadeAlphaTicker.js} +549 -248
  88. package/dist/classes/ticker/FadeAlphaTicker.js.map +1 -0
  89. package/dist/classes/ticker/{TickerRotate.mjs → FadeAlphaTicker.mjs} +571 -274
  90. package/dist/classes/ticker/FadeAlphaTicker.mjs.map +1 -0
  91. package/dist/classes/ticker/MoveTicker.d.mts +25 -0
  92. package/dist/classes/ticker/MoveTicker.d.ts +25 -0
  93. package/dist/classes/ticker/{TickerMove.js → MoveTicker.js} +544 -241
  94. package/dist/classes/ticker/MoveTicker.js.map +1 -0
  95. package/dist/classes/ticker/{TickerFadeAlpha.mjs → MoveTicker.mjs} +568 -269
  96. package/dist/classes/ticker/MoveTicker.mjs.map +1 -0
  97. package/dist/classes/ticker/RotateTicker.d.mts +27 -0
  98. package/dist/classes/ticker/RotateTicker.d.ts +27 -0
  99. package/dist/classes/ticker/{TickerRotate.js → RotateTicker.js} +544 -241
  100. package/dist/classes/ticker/RotateTicker.js.map +1 -0
  101. package/dist/classes/ticker/{TickerMove.mjs → RotateTicker.mjs} +558 -259
  102. package/dist/classes/ticker/RotateTicker.mjs.map +1 -0
  103. package/dist/classes/ticker/TickerBase.d.mts +2 -1
  104. package/dist/classes/ticker/TickerBase.d.ts +2 -1
  105. package/dist/classes/ticker/TickerBase.js +12 -6
  106. package/dist/classes/ticker/TickerBase.js.map +1 -1
  107. package/dist/classes/ticker/TickerBase.mjs +12 -6
  108. package/dist/classes/ticker/TickerBase.mjs.map +1 -1
  109. package/dist/classes/ticker/ZoomTicker.d.mts +31 -0
  110. package/dist/classes/ticker/ZoomTicker.d.ts +31 -0
  111. package/dist/classes/ticker/ZoomTicker.js +1647 -0
  112. package/dist/classes/ticker/ZoomTicker.js.map +1 -0
  113. package/dist/classes/ticker/ZoomTicker.mjs +1639 -0
  114. package/dist/classes/ticker/ZoomTicker.mjs.map +1 -0
  115. package/dist/classes/ticker/index.d.mts +11 -8
  116. package/dist/classes/ticker/index.d.ts +11 -8
  117. package/dist/classes/ticker/index.js +567 -266
  118. package/dist/classes/ticker/index.js.map +1 -1
  119. package/dist/classes/ticker/index.mjs +564 -267
  120. package/dist/classes/ticker/index.mjs.map +1 -1
  121. package/dist/constants.d.mts +12 -2
  122. package/dist/constants.d.ts +12 -2
  123. package/dist/constants.js +10 -1
  124. package/dist/constants.js.map +1 -1
  125. package/dist/constants.mjs +9 -2
  126. package/dist/constants.mjs.map +1 -1
  127. package/dist/decorators/CanvasElementDecorator.d.mts +3 -3
  128. package/dist/decorators/CanvasElementDecorator.d.ts +3 -3
  129. package/dist/decorators/CanvasElementDecorator.js +63 -43
  130. package/dist/decorators/CanvasElementDecorator.js.map +1 -1
  131. package/dist/decorators/CanvasElementDecorator.mjs +62 -42
  132. package/dist/decorators/CanvasElementDecorator.mjs.map +1 -1
  133. package/dist/decorators/CharacterDecorator.d.mts +1 -0
  134. package/dist/decorators/CharacterDecorator.d.ts +1 -0
  135. package/dist/decorators/CharacterDecorator.js +1 -1
  136. package/dist/decorators/CharacterDecorator.js.map +1 -1
  137. package/dist/decorators/CharacterDecorator.mjs +1 -1
  138. package/dist/decorators/CharacterDecorator.mjs.map +1 -1
  139. package/dist/decorators/EventDecorator.d.mts +7 -7
  140. package/dist/decorators/EventDecorator.d.ts +7 -7
  141. package/dist/decorators/EventDecorator.js +12 -11
  142. package/dist/decorators/EventDecorator.js.map +1 -1
  143. package/dist/decorators/EventDecorator.mjs +11 -10
  144. package/dist/decorators/EventDecorator.mjs.map +1 -1
  145. package/dist/decorators/LabelDecorator.d.mts +4 -3
  146. package/dist/decorators/LabelDecorator.d.ts +4 -3
  147. package/dist/decorators/LabelDecorator.js +546 -243
  148. package/dist/decorators/LabelDecorator.js.map +1 -1
  149. package/dist/decorators/LabelDecorator.mjs +542 -243
  150. package/dist/decorators/LabelDecorator.mjs.map +1 -1
  151. package/dist/decorators/TickerDecorator.d.mts +9 -6
  152. package/dist/decorators/TickerDecorator.d.ts +9 -6
  153. package/dist/decorators/TickerDecorator.js +7 -6
  154. package/dist/decorators/TickerDecorator.js.map +1 -1
  155. package/dist/decorators/TickerDecorator.mjs +7 -6
  156. package/dist/decorators/TickerDecorator.mjs.map +1 -1
  157. package/dist/decorators/index.d.mts +4 -3
  158. package/dist/decorators/index.d.ts +4 -3
  159. package/dist/decorators/index.js +550 -245
  160. package/dist/decorators/index.js.map +1 -1
  161. package/dist/decorators/index.mjs +546 -245
  162. package/dist/decorators/index.mjs.map +1 -1
  163. package/dist/functions/CanvasUtility.js +56 -37
  164. package/dist/functions/CanvasUtility.js.map +1 -1
  165. package/dist/functions/CanvasUtility.mjs +56 -37
  166. package/dist/functions/CanvasUtility.mjs.map +1 -1
  167. package/dist/functions/DialogueUtility.d.mts +7 -5
  168. package/dist/functions/DialogueUtility.d.ts +7 -5
  169. package/dist/functions/DialogueUtility.js +729 -397
  170. package/dist/functions/DialogueUtility.js.map +1 -1
  171. package/dist/functions/DialogueUtility.mjs +729 -397
  172. package/dist/functions/DialogueUtility.mjs.map +1 -1
  173. package/dist/functions/FlagsUtility.js +544 -241
  174. package/dist/functions/FlagsUtility.js.map +1 -1
  175. package/dist/functions/FlagsUtility.mjs +540 -241
  176. package/dist/functions/FlagsUtility.mjs.map +1 -1
  177. package/dist/functions/GameUtility.js +544 -241
  178. package/dist/functions/GameUtility.js.map +1 -1
  179. package/dist/functions/GameUtility.mjs +540 -241
  180. package/dist/functions/GameUtility.mjs.map +1 -1
  181. package/dist/functions/ImageUtility.d.mts +81 -8
  182. package/dist/functions/ImageUtility.d.ts +81 -8
  183. package/dist/functions/ImageUtility.js +911 -387
  184. package/dist/functions/ImageUtility.js.map +1 -1
  185. package/dist/functions/ImageUtility.mjs +899 -387
  186. package/dist/functions/ImageUtility.mjs.map +1 -1
  187. package/dist/functions/SavesUtility.d.mts +9 -5
  188. package/dist/functions/SavesUtility.d.ts +9 -5
  189. package/dist/functions/SavesUtility.js +611 -252
  190. package/dist/functions/SavesUtility.js.map +1 -1
  191. package/dist/functions/SavesUtility.mjs +611 -252
  192. package/dist/functions/SavesUtility.mjs.map +1 -1
  193. package/dist/functions/TickerUtility.d.mts +1 -1
  194. package/dist/functions/TickerUtility.d.ts +1 -1
  195. package/dist/functions/TickerUtility.js +32 -18
  196. package/dist/functions/TickerUtility.js.map +1 -1
  197. package/dist/functions/TickerUtility.mjs +32 -18
  198. package/dist/functions/TickerUtility.mjs.map +1 -1
  199. package/dist/functions/index.d.mts +18 -8
  200. package/dist/functions/index.d.ts +18 -8
  201. package/dist/functions/index.js +832 -279
  202. package/dist/functions/index.js.map +1 -1
  203. package/dist/functions/index.mjs +825 -280
  204. package/dist/functions/index.mjs.map +1 -1
  205. package/dist/index.d.mts +25 -16
  206. package/dist/index.d.ts +25 -16
  207. package/dist/index.js +1547 -290
  208. package/dist/index.js.map +1 -1
  209. package/dist/index.mjs +1538 -290
  210. package/dist/index.mjs.map +1 -1
  211. package/dist/interface/CharacterBaseModelProps.d.mts +27 -0
  212. package/dist/interface/CharacterBaseModelProps.d.ts +27 -0
  213. package/dist/interface/CharacterBaseModelProps.js +4 -0
  214. package/dist/interface/CharacterBaseModelProps.mjs +3 -0
  215. package/dist/interface/DialogueHistory.d.mts +3 -7
  216. package/dist/interface/DialogueHistory.d.ts +3 -7
  217. package/dist/interface/IHistoryStep.d.mts +12 -8
  218. package/dist/interface/IHistoryStep.d.ts +12 -8
  219. package/dist/interface/ISaveData.d.mts +8 -4
  220. package/dist/interface/ISaveData.d.ts +8 -4
  221. package/dist/interface/ITicker.d.mts +2 -1
  222. package/dist/interface/ITicker.d.ts +2 -1
  223. package/dist/interface/ITickersSteps.d.mts +14 -5
  224. package/dist/interface/ITickersSteps.d.ts +14 -5
  225. package/dist/interface/TickerHistory.d.mts +29 -0
  226. package/dist/interface/TickerHistory.d.ts +29 -0
  227. package/dist/{types/ticker/TickerMoveProps.js → interface/TickerHistory.js} +1 -1
  228. package/dist/interface/TickerHistory.mjs +3 -0
  229. package/dist/interface/TickerProgrationType.d.mts +13 -1
  230. package/dist/interface/TickerProgrationType.d.ts +13 -1
  231. package/dist/interface/TickerTimeoutHistory.d.mts +7 -0
  232. package/dist/interface/TickerTimeoutHistory.d.ts +7 -0
  233. package/dist/interface/TickerTimeoutHistory.js +4 -0
  234. package/dist/interface/TickerTimeoutHistory.mjs +3 -0
  235. package/dist/interface/canvas/ICanvasBaseMemory.d.mts +1 -1
  236. package/dist/interface/canvas/ICanvasBaseMemory.d.ts +1 -1
  237. package/dist/interface/canvas/ICanvasImageMemory.d.mts +1 -1
  238. package/dist/interface/canvas/ICanvasImageMemory.d.ts +1 -1
  239. package/dist/interface/canvas/ICanvasSpriteMemory.d.mts +0 -1
  240. package/dist/interface/canvas/ICanvasSpriteMemory.d.ts +0 -1
  241. package/dist/interface/canvas/ICanvasTextTextMemory.d.mts +0 -1
  242. package/dist/interface/canvas/ICanvasTextTextMemory.d.ts +0 -1
  243. package/dist/interface/export/ExportedCanvas.d.mts +11 -3
  244. package/dist/interface/export/ExportedCanvas.d.ts +11 -3
  245. package/dist/interface/export/ExportedStep.d.mts +7 -3
  246. package/dist/interface/export/ExportedStep.d.ts +7 -3
  247. package/dist/interface/export/index.d.mts +8 -4
  248. package/dist/interface/export/index.d.ts +8 -4
  249. package/dist/interface/index.d.mts +14 -11
  250. package/dist/interface/index.d.ts +14 -11
  251. package/dist/labels/BaseCanvasElementTestLabel.d.mts +9 -0
  252. package/dist/labels/BaseCanvasElementTestLabel.d.ts +9 -0
  253. package/dist/labels/BaseCanvasElementTestLabel.js +1888 -0
  254. package/dist/labels/BaseCanvasElementTestLabel.js.map +1 -0
  255. package/dist/labels/BaseCanvasElementTestLabel.mjs +1882 -0
  256. package/dist/labels/BaseCanvasElementTestLabel.mjs.map +1 -0
  257. package/dist/labels/CanvasEventsTestLabel.d.mts +27 -0
  258. package/dist/labels/CanvasEventsTestLabel.d.ts +27 -0
  259. package/dist/labels/CanvasEventsTestLabel.js +2822 -0
  260. package/dist/labels/CanvasEventsTestLabel.js.map +1 -0
  261. package/dist/labels/CanvasEventsTestLabel.mjs +2816 -0
  262. package/dist/labels/CanvasEventsTestLabel.mjs.map +1 -0
  263. package/dist/labels/CustomTickerCanvasElementTestLabel.d.mts +20 -0
  264. package/dist/labels/CustomTickerCanvasElementTestLabel.d.ts +20 -0
  265. package/dist/labels/CustomTickerCanvasElementTestLabel.js +2792 -0
  266. package/dist/labels/CustomTickerCanvasElementTestLabel.js.map +1 -0
  267. package/dist/labels/CustomTickerCanvasElementTestLabel.mjs +2786 -0
  268. package/dist/labels/CustomTickerCanvasElementTestLabel.mjs.map +1 -0
  269. package/dist/labels/ImagesAnimationsTestLabel.d.mts +9 -0
  270. package/dist/labels/ImagesAnimationsTestLabel.d.ts +9 -0
  271. package/dist/labels/ImagesAnimationsTestLabel.js +3378 -0
  272. package/dist/labels/ImagesAnimationsTestLabel.js.map +1 -0
  273. package/dist/labels/ImagesAnimationsTestLabel.mjs +3372 -0
  274. package/dist/labels/ImagesAnimationsTestLabel.mjs.map +1 -0
  275. package/dist/labels/MarkdownTest.d.mts +9 -0
  276. package/dist/labels/MarkdownTest.d.ts +9 -0
  277. package/dist/labels/MarkdownTest.js +2756 -0
  278. package/dist/labels/MarkdownTest.js.map +1 -0
  279. package/dist/labels/MarkdownTest.mjs +2750 -0
  280. package/dist/labels/MarkdownTest.mjs.map +1 -0
  281. package/dist/labels/StartLabel.d.mts +10 -0
  282. package/dist/labels/StartLabel.d.ts +10 -0
  283. package/dist/labels/StartLabel.js +3736 -0
  284. package/dist/labels/StartLabel.js.map +1 -0
  285. package/dist/labels/StartLabel.mjs +3729 -0
  286. package/dist/labels/StartLabel.mjs.map +1 -0
  287. package/dist/labels/TestConstant.d.mts +17 -0
  288. package/dist/labels/TestConstant.d.ts +17 -0
  289. package/dist/labels/TestConstant.js +1872 -0
  290. package/dist/labels/TestConstant.js.map +1 -0
  291. package/dist/labels/TestConstant.mjs +1856 -0
  292. package/dist/labels/TestConstant.mjs.map +1 -0
  293. package/dist/labels/TickerTestLabel.d.mts +9 -0
  294. package/dist/labels/TickerTestLabel.d.ts +9 -0
  295. package/dist/labels/TickerTestLabel.js +2675 -0
  296. package/dist/labels/TickerTestLabel.js.map +1 -0
  297. package/dist/labels/TickerTestLabel.mjs +2669 -0
  298. package/dist/labels/TickerTestLabel.mjs.map +1 -0
  299. package/dist/labels/index.d.mts +10 -0
  300. package/dist/labels/index.d.ts +10 -0
  301. package/dist/labels/index.js +3736 -0
  302. package/dist/labels/index.js.map +1 -0
  303. package/dist/labels/index.mjs +3729 -0
  304. package/dist/labels/index.mjs.map +1 -0
  305. package/dist/managers/StepManager.d.mts +21 -15
  306. package/dist/managers/StepManager.d.ts +21 -15
  307. package/dist/managers/StepManager.js +610 -251
  308. package/dist/managers/StepManager.js.map +1 -1
  309. package/dist/managers/StepManager.mjs +610 -251
  310. package/dist/managers/StepManager.mjs.map +1 -1
  311. package/dist/managers/WindowManager.d.mts +38 -24
  312. package/dist/managers/WindowManager.d.ts +38 -24
  313. package/dist/managers/WindowManager.js +356 -170
  314. package/dist/managers/WindowManager.js.map +1 -1
  315. package/dist/managers/WindowManager.mjs +352 -170
  316. package/dist/managers/WindowManager.mjs.map +1 -1
  317. package/dist/managers/index.d.mts +15 -14
  318. package/dist/managers/index.d.ts +15 -14
  319. package/dist/managers/index.js +612 -251
  320. package/dist/managers/index.js.map +1 -1
  321. package/dist/managers/index.mjs +612 -251
  322. package/dist/managers/index.mjs.map +1 -1
  323. package/dist/types/CanvasEventNamesType.d.mts +1 -1
  324. package/dist/types/CanvasEventNamesType.d.ts +1 -1
  325. package/dist/types/ChoiceMenuOptionsType.d.mts +2 -2
  326. package/dist/types/ChoiceMenuOptionsType.d.ts +2 -2
  327. package/dist/types/HistoryChoiceMenuOption.d.mts +22 -0
  328. package/dist/types/HistoryChoiceMenuOption.d.ts +22 -0
  329. package/dist/types/HistoryChoiceMenuOption.js +4 -0
  330. package/dist/types/HistoryChoiceMenuOption.mjs +3 -0
  331. package/dist/types/PauseType.d.mts +8 -4
  332. package/dist/types/PauseType.d.ts +8 -4
  333. package/dist/types/PauseType.js +0 -11
  334. package/dist/types/PauseType.js.map +1 -1
  335. package/dist/types/PauseType.mjs +0 -9
  336. package/dist/types/PauseType.mjs.map +1 -1
  337. package/dist/types/RepeatType.d.mts +1 -2
  338. package/dist/types/RepeatType.d.ts +1 -2
  339. package/dist/types/RepeatType.js +0 -4
  340. package/dist/types/RepeatType.js.map +1 -1
  341. package/dist/types/RepeatType.mjs +0 -3
  342. package/dist/types/RepeatType.mjs.map +1 -1
  343. package/dist/types/index.d.mts +5 -4
  344. package/dist/types/index.d.ts +5 -4
  345. package/dist/types/index.js +0 -15
  346. package/dist/types/index.js.map +1 -1
  347. package/dist/types/index.mjs +1 -13
  348. package/dist/types/index.mjs.map +1 -1
  349. package/dist/types/ticker/{TickerFadeAlphaProps.d.mts → FadeAlphaTickerProps.d.mts} +9 -5
  350. package/dist/types/ticker/{TickerFadeAlphaProps.d.ts → FadeAlphaTickerProps.d.ts} +9 -5
  351. package/dist/types/ticker/FadeAlphaTickerProps.js +4 -0
  352. package/dist/types/ticker/FadeAlphaTickerProps.js.map +1 -0
  353. package/dist/types/ticker/FadeAlphaTickerProps.mjs +3 -0
  354. package/dist/types/ticker/FadeAlphaTickerProps.mjs.map +1 -0
  355. package/dist/types/ticker/{TickerMoveProps.d.mts → MoveTickerProps.d.mts} +14 -5
  356. package/dist/types/ticker/{TickerMoveProps.d.ts → MoveTickerProps.d.ts} +14 -5
  357. package/dist/types/ticker/{TickerRotateProps.js → MoveTickerProps.js} +1 -1
  358. package/dist/types/ticker/MoveTickerProps.js.map +1 -0
  359. package/dist/types/ticker/MoveTickerProps.mjs +3 -0
  360. package/dist/types/ticker/MoveTickerProps.mjs.map +1 -0
  361. package/dist/types/ticker/{TickerRotateProps.d.mts → RotateTickerProps.d.mts} +10 -4
  362. package/dist/types/ticker/{TickerRotateProps.d.ts → RotateTickerProps.d.ts} +10 -4
  363. package/dist/types/ticker/RotateTickerProps.js +4 -0
  364. package/dist/types/ticker/RotateTickerProps.js.map +1 -0
  365. package/dist/types/ticker/RotateTickerProps.mjs +3 -0
  366. package/dist/types/ticker/RotateTickerProps.mjs.map +1 -0
  367. package/dist/types/ticker/TagToRemoveAfterType.d.mts +4 -0
  368. package/dist/types/ticker/TagToRemoveAfterType.d.ts +4 -0
  369. package/dist/types/ticker/TagToRemoveAfterType.js +8 -0
  370. package/dist/types/ticker/TagToRemoveAfterType.js.map +1 -0
  371. package/dist/types/ticker/TagToRemoveAfterType.mjs +6 -0
  372. package/dist/types/ticker/TagToRemoveAfterType.mjs.map +1 -0
  373. package/dist/types/ticker/ZoomTickerProps.d.mts +45 -0
  374. package/dist/types/ticker/ZoomTickerProps.d.ts +45 -0
  375. package/dist/types/ticker/ZoomTickerProps.js +4 -0
  376. package/dist/types/ticker/ZoomTickerProps.js.map +1 -0
  377. package/dist/types/ticker/ZoomTickerProps.mjs +3 -0
  378. package/dist/types/ticker/ZoomTickerProps.mjs.map +1 -0
  379. package/dist/types/ticker/index.d.mts +4 -2
  380. package/dist/types/ticker/index.d.ts +4 -2
  381. package/package.json +7 -7
  382. package/dist/classes/ticker/TickerFadeAlpha.d.mts +0 -31
  383. package/dist/classes/ticker/TickerFadeAlpha.d.ts +0 -31
  384. package/dist/classes/ticker/TickerFadeAlpha.js.map +0 -1
  385. package/dist/classes/ticker/TickerFadeAlpha.mjs.map +0 -1
  386. package/dist/classes/ticker/TickerMove.d.mts +0 -29
  387. package/dist/classes/ticker/TickerMove.d.ts +0 -29
  388. package/dist/classes/ticker/TickerMove.js.map +0 -1
  389. package/dist/classes/ticker/TickerMove.mjs.map +0 -1
  390. package/dist/classes/ticker/TickerRotate.d.mts +0 -30
  391. package/dist/classes/ticker/TickerRotate.d.ts +0 -30
  392. package/dist/classes/ticker/TickerRotate.js.map +0 -1
  393. package/dist/classes/ticker/TickerRotate.mjs.map +0 -1
  394. package/dist/functions/ErrorUtility.d.mts +0 -24
  395. package/dist/functions/ErrorUtility.d.ts +0 -24
  396. package/dist/functions/ErrorUtility.js +0 -261
  397. package/dist/functions/ErrorUtility.js.map +0 -1
  398. package/dist/functions/ErrorUtility.mjs +0 -258
  399. package/dist/functions/ErrorUtility.mjs.map +0 -1
  400. package/dist/interface/IClassWithArgsHistory.d.mts +0 -25
  401. package/dist/interface/IClassWithArgsHistory.d.ts +0 -25
  402. package/dist/interface/IClassWithArgsHistory.js +0 -4
  403. package/dist/interface/IClassWithArgsHistory.mjs +0 -3
  404. package/dist/types/ticker/TickerFadeAlphaProps.js +0 -4
  405. package/dist/types/ticker/TickerFadeAlphaProps.mjs +0 -3
  406. package/dist/types/ticker/TickerMoveProps.mjs +0 -3
  407. package/dist/types/ticker/TickerRotateProps.mjs +0 -3
  408. /package/dist/interface/{IClassWithArgsHistory.js.map → CharacterBaseModelProps.js.map} +0 -0
  409. /package/dist/interface/{IClassWithArgsHistory.mjs.map → CharacterBaseModelProps.mjs.map} +0 -0
  410. /package/dist/{types/ticker/TickerFadeAlphaProps.js.map → interface/TickerHistory.js.map} +0 -0
  411. /package/dist/{types/ticker/TickerFadeAlphaProps.mjs.map → interface/TickerHistory.mjs.map} +0 -0
  412. /package/dist/{types/ticker/TickerMoveProps.js.map → interface/TickerTimeoutHistory.js.map} +0 -0
  413. /package/dist/{types/ticker/TickerMoveProps.mjs.map → interface/TickerTimeoutHistory.mjs.map} +0 -0
  414. /package/dist/types/{ticker/TickerRotateProps.js.map → HistoryChoiceMenuOption.js.map} +0 -0
  415. /package/dist/types/{ticker/TickerRotateProps.mjs.map → HistoryChoiceMenuOption.mjs.map} +0 -0
@@ -1,9 +1,13 @@
1
1
  'use strict';
2
2
 
3
3
  require('deep-diff');
4
- require('crypto-js/sha1');
4
+ var sha1 = require('crypto-js/sha1');
5
5
  var pixi_js = require('pixi.js');
6
6
 
7
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
8
+
9
+ var sha1__default = /*#__PURE__*/_interopDefault(sha1);
10
+
7
11
  var __defProp = Object.defineProperty;
8
12
  var __defProps = Object.defineProperties;
9
13
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -29,8 +33,7 @@ var __decorateClass = (decorators, target, key, kind) => {
29
33
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
30
34
  if (decorator = decorators[i])
31
35
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
32
- if (kind && result)
33
- __defProp(target, key, result);
36
+ if (kind && result) __defProp(target, key, result);
34
37
  return result;
35
38
  };
36
39
  var __async = (__this, __arguments, generator) => {
@@ -66,17 +69,23 @@ function exportCanvasElement(element) {
66
69
  return element.memory;
67
70
  }
68
71
  function importCanvasElement(memory) {
69
- let element = getCanvasElementInstanceByClassName(memory.className);
72
+ let element = getCanvasElementInstanceById(memory.pixivnId);
70
73
  if (element) {
71
74
  element.memory = memory;
72
75
  } else {
73
- throw new Error("[Pixi'VN] The element " + memory.className + " could not be created");
76
+ throw new Error("[Pixi'VN] The element " + memory.pixivnId + " could not be created");
74
77
  }
75
78
  return element;
76
79
  }
77
80
 
78
81
  // src/classes/canvas/CanvasContainer.ts
82
+ var CANVAS_CONTAINER_ID = "CanvasContainer";
79
83
  var CanvasContainer = class extends pixi_js.Container {
84
+ constructor(options) {
85
+ super(options);
86
+ this.pixivnId = CANVAS_CONTAINER_ID;
87
+ this.pixivnId = this.constructor.prototype.pixivnId;
88
+ }
80
89
  get memory() {
81
90
  let memory = getMemoryContainer(this);
82
91
  this.children.forEach((child) => {
@@ -92,8 +101,12 @@ var CanvasContainer = class extends pixi_js.Container {
92
101
  }
93
102
  };
94
103
  function getMemoryContainer(element) {
104
+ let className = "CanvasContainer";
105
+ if (element.hasOwnProperty("pixivnId")) {
106
+ className = element.pixivnId;
107
+ }
95
108
  return {
96
- className: "CanvasContainer",
109
+ pixivnId: className,
97
110
  elements: [],
98
111
  width: element.width,
99
112
  height: element.height,
@@ -209,40 +222,43 @@ function getTextStyle(style) {
209
222
 
210
223
  // src/decorators/EventDecorator.ts
211
224
  var registeredEvents = {};
212
- function getEventTypeByClassName(eventName) {
225
+ function getEventTypeById(eventId) {
213
226
  try {
214
- let eventType = registeredEvents[eventName];
227
+ let eventType = registeredEvents[eventId];
215
228
  if (!eventType) {
216
- console.error(`[Pixi'VN] Event ${eventName} not found`);
229
+ console.error(`[Pixi'VN] Event ${eventId} not found`);
217
230
  return;
218
231
  }
219
232
  new eventType();
220
233
  return eventType;
221
234
  } catch (e) {
222
- console.error(`[Pixi'VN] Error while getting Event ${eventName}`, e);
235
+ console.error(`[Pixi'VN] Error while getting Event ${eventId}`, e);
223
236
  return;
224
237
  }
225
238
  }
226
- function getEventInstanceByClassName(eventName) {
239
+ function getEventInstanceById(eventId) {
227
240
  try {
228
- let eventType = registeredEvents[eventName];
241
+ let eventType = registeredEvents[eventId];
229
242
  if (!eventType) {
230
- console.error(`[Pixi'VN] Event ${eventName} not found`);
243
+ console.error(`[Pixi'VN] Event ${eventId} not found`);
231
244
  return;
232
245
  }
233
246
  let event = new eventType();
234
247
  return event;
235
248
  } catch (e) {
236
- console.error(`[Pixi'VN] Error while getting Event ${eventName}`, e);
249
+ console.error(`[Pixi'VN] Error while getting Event ${eventId}`, e);
237
250
  return;
238
251
  }
239
252
  }
240
253
 
241
254
  // src/classes/canvas/CanvasSprite.ts
255
+ var CANVAS_SPRITE_ID = "CanvasSprite";
242
256
  var CanvasSprite = class _CanvasSprite extends pixi_js.Sprite {
243
- constructor() {
244
- super(...arguments);
257
+ constructor(options) {
258
+ super(options);
259
+ this.pixivnId = CANVAS_SPRITE_ID;
245
260
  this._onEvents = {};
261
+ this.pixivnId = this.constructor.prototype.pixivnId;
246
262
  }
247
263
  get memory() {
248
264
  return getMemorySprite(this);
@@ -283,9 +299,9 @@ var CanvasSprite = class _CanvasSprite extends pixi_js.Sprite {
283
299
  * ```
284
300
  */
285
301
  onEvent(event, eventClass) {
286
- let className = eventClass.name;
287
- let instance = getEventInstanceByClassName(className);
288
- this._onEvents[event] = className;
302
+ let id = eventClass.prototype.id;
303
+ let instance = getEventInstanceById(id);
304
+ this._onEvents[event] = id;
289
305
  if (instance) {
290
306
  super.on(event, () => {
291
307
  instance.fn(event, this);
@@ -314,7 +330,7 @@ var CanvasSprite = class _CanvasSprite extends pixi_js.Sprite {
314
330
  function getMemorySprite(element) {
315
331
  let temp = getMemoryContainer(element);
316
332
  return __spreadProps(__spreadValues({}, temp), {
317
- className: "CanvasSprite",
333
+ pixivnId: element.pixivnId,
318
334
  textureImage: getTextureMemory(element.texture),
319
335
  anchor: { x: element.anchor.x, y: element.anchor.y },
320
336
  roundPixels: element.roundPixels,
@@ -337,8 +353,8 @@ function setMemorySprite(element, memory) {
337
353
  }
338
354
  memory.roundPixels && (element.roundPixels = memory.roundPixels);
339
355
  for (let event in memory.onEvents) {
340
- let className = memory.onEvents[event];
341
- let instance = getEventTypeByClassName(className);
356
+ let id = memory.onEvents[event];
357
+ let instance = getEventTypeById(id);
342
358
  if (instance) {
343
359
  element.onEvent(event, instance);
344
360
  }
@@ -346,9 +362,11 @@ function setMemorySprite(element, memory) {
346
362
  }
347
363
 
348
364
  // src/classes/canvas/CanvasImage.ts
365
+ var CANVAS_IMAGE_ID = "CanvasImage";
349
366
  var CanvasImage = class _CanvasImage extends CanvasSprite {
350
367
  constructor(options, imageLink) {
351
368
  super(options);
369
+ this.pixivnId = CANVAS_IMAGE_ID;
352
370
  this.imageLink = "";
353
371
  if (imageLink) {
354
372
  this.imageLink = imageLink;
@@ -356,12 +374,13 @@ var CanvasImage = class _CanvasImage extends CanvasSprite {
356
374
  }
357
375
  get memory() {
358
376
  return __spreadProps(__spreadValues({}, getMemorySprite(this)), {
359
- className: "CanvasImage",
360
- textureImage: { image: this.imageLink }
377
+ pixivnId: this.pixivnId,
378
+ imageLink: this.imageLink
361
379
  });
362
380
  }
363
381
  set memory(memory) {
364
382
  setMemorySprite(this, memory);
383
+ this.imageLink = memory.imageLink;
365
384
  }
366
385
  static from(source, skipCache) {
367
386
  let sprite = pixi_js.Sprite.from(source, skipCache);
@@ -389,10 +408,13 @@ var CanvasImage = class _CanvasImage extends CanvasSprite {
389
408
  });
390
409
  }
391
410
  };
411
+ var CANVAS_TEXT_ID = "CanvasText";
392
412
  var CanvasText = class extends pixi_js.Text {
393
- constructor() {
394
- super(...arguments);
413
+ constructor(options) {
414
+ super(options);
415
+ this.pixivnId = CANVAS_TEXT_ID;
395
416
  this._onEvents = {};
417
+ this.pixivnId = this.constructor.prototype.pixivnId;
396
418
  }
397
419
  get memory() {
398
420
  return getMemoryText(this);
@@ -433,9 +455,9 @@ var CanvasText = class extends pixi_js.Text {
433
455
  * ```
434
456
  */
435
457
  onEvent(event, eventClass) {
436
- let className = eventClass.name;
437
- let instance = getEventInstanceByClassName(className);
438
- this._onEvents[event] = className;
458
+ let id = eventClass.prototype.id;
459
+ let instance = getEventInstanceById(id);
460
+ this._onEvents[event] = id;
439
461
  if (instance) {
440
462
  super.on(event, () => {
441
463
  instance.fn(event, this);
@@ -458,7 +480,7 @@ var CanvasText = class extends pixi_js.Text {
458
480
  function getMemoryText(element) {
459
481
  let temp = getMemoryContainer(element);
460
482
  return __spreadProps(__spreadValues({}, temp), {
461
- className: "CanvasText",
483
+ pixivnId: element.pixivnId,
462
484
  anchor: { x: element.anchor.x, y: element.anchor.y },
463
485
  text: element.text,
464
486
  resolution: element.resolution,
@@ -481,8 +503,8 @@ function setMemoryText(element, memory) {
481
503
  memory.style && (element.style = memory.style);
482
504
  memory.roundPixels && (element.roundPixels = memory.roundPixels);
483
505
  for (let event in memory.onEvents) {
484
- let className = memory.onEvents[event];
485
- let instance = getEventTypeByClassName(className);
506
+ let id = memory.onEvents[event];
507
+ let instance = getEventTypeById(id);
486
508
  if (instance) {
487
509
  element.onEvent(event, instance);
488
510
  }
@@ -491,28 +513,28 @@ function setMemoryText(element, memory) {
491
513
 
492
514
  // src/decorators/CanvasElementDecorator.ts
493
515
  var registeredCanvasElement = {};
494
- function getCanvasElementInstanceByClassName(canvasName) {
516
+ function getCanvasElementInstanceById(canvasId) {
495
517
  try {
496
- let eventType = registeredCanvasElement[canvasName];
518
+ let eventType = registeredCanvasElement[canvasId];
497
519
  if (!eventType) {
498
- if (canvasName === "CanvasContainer") {
520
+ if (canvasId === CANVAS_CONTAINER_ID) {
499
521
  eventType = CanvasContainer;
500
- } else if (canvasName === "CanvasImage") {
522
+ } else if (canvasId === CANVAS_IMAGE_ID) {
501
523
  eventType = CanvasImage;
502
- } else if (canvasName === "CanvasSprite") {
524
+ } else if (canvasId === CANVAS_SPRITE_ID) {
503
525
  eventType = CanvasSprite;
504
- } else if (canvasName === "CanvasText") {
526
+ } else if (canvasId === CANVAS_TEXT_ID) {
505
527
  eventType = CanvasText;
506
528
  }
507
529
  }
508
530
  if (!eventType) {
509
- console.error(`[Pixi'VN] CanvasElement ${canvasName} not found`);
531
+ console.error(`[Pixi'VN] CanvasElement ${canvasId} not found`);
510
532
  return;
511
533
  }
512
534
  let canvasElement = new eventType();
513
535
  return canvasElement;
514
536
  } catch (e) {
515
- console.error(`[Pixi'VN] Error while getting CanvasElement ${canvasName}`, e);
537
+ console.error(`[Pixi'VN] Error while getting CanvasElement ${canvasId}`, e);
516
538
  return;
517
539
  }
518
540
  }
@@ -525,68 +547,66 @@ function tickerDecorator(name) {
525
547
  name = target.name;
526
548
  }
527
549
  if (registeredTickers[name]) {
528
- console.warn(`[Pixi'VN] Ticker ${name} already exists, it will be overwritten`);
550
+ console.info(`[Pixi'VN] Ticker ${name} already exists, it will be overwritten`);
529
551
  }
552
+ target.prototype.id = name;
530
553
  registeredTickers[name] = target;
531
554
  };
532
555
  }
533
- function geTickerInstanceByClassName(tickerName, args, duration, priority) {
556
+ function geTickerInstanceById(tickerId, args, duration, priority) {
534
557
  try {
535
- let ticker = registeredTickers[tickerName];
558
+ let ticker = registeredTickers[tickerId];
536
559
  if (!ticker) {
537
- console.error(`[Pixi'VN] Ticker ${tickerName} not found`);
560
+ console.error(`[Pixi'VN] Ticker ${tickerId} not found`);
538
561
  return;
539
562
  }
540
563
  return new ticker(args, duration, priority);
541
564
  } catch (e) {
542
- console.error(`[Pixi'VN] Error while getting Ticker ${tickerName}`, e);
565
+ console.error(`[Pixi'VN] Error while getting Ticker ${tickerId}`, e);
543
566
  return;
544
567
  }
545
568
  }
546
569
 
547
- // src/types/PauseType.ts
548
- var PauseValueType = "pause";
549
-
550
- // src/types/RepeatType.ts
551
- var Repeat = "repeat";
552
-
553
570
  // src/classes/ticker/TickerBase.ts
554
571
  var TickerBase = class {
555
572
  /**
556
573
  * @param args The arguments that you want to pass to the ticker.
557
- * @param duration The duration of the ticker. If is undefined, the ticker will be called every frame.
558
- * @param priority The priority of the ticker. If is undefined, the priority will be UPDATE_PRIORITY.NORMAL.
574
+ * @param duration The duration of the ticker in seconds. If is undefined, the step will end only when the animation is finished (if the animation doesn't have a goal to reach then it won't finish). @default undefined
575
+ * @param priority The priority of the ticker. @default UPDATE_PRIORITY.NORMAL
559
576
  */
560
577
  constructor(args, duration, priority) {
578
+ /**
579
+ * Get the id of the ticker. This variable is used in the system to get the ticker by id, {@link geTickerInstanceById}
580
+ */
581
+ this.id = "ticker_id_not_set";
561
582
  this.args = args;
562
583
  this.duration = duration;
563
584
  this.priority = priority;
585
+ this.id = this.constructor.prototype.id;
564
586
  }
565
587
  /**
566
588
  * The method that will be called every frame.
567
589
  * This method should be overridden and you can use GameWindowManager.addCanvasElement() to get the canvas element of the canvas, and edit them.
568
- * @param t The ticker that is calling this method
569
- * @param args The arguments that you passed when you added the ticker
570
- * @param tags The tags of the canvas elements that are connected to this ticker
590
+ * @param _ticker The ticker that is calling this method
591
+ * @param _args The arguments that you passed when you added the ticker
592
+ * @param _tags The tags of the canvas elements that are connected to this ticker
593
+ * @param _tickerId The id of the ticker. You can use this to get the ticker from the {@link GameWindowManager.currentTickers}
571
594
  */
572
- fn(_t, _args, _tags) {
595
+ fn(_ticker, _args, _tags, _tickerId) {
573
596
  throw new Error("[Pixi'VN] The method TickerBase.fn() must be overridden");
574
597
  }
575
598
  };
576
- var TickerFadeAlpha = class extends TickerBase {
577
- /**
578
- * The method that will be called every frame to fade the alpha of the canvas element of the canvas.
579
- * @param delta The delta time
580
- * @param args The arguments that are passed to the ticker
581
- * @param tags The tags of the canvas element that are connected to this ticker
582
- */
583
- fn(t, args, tags) {
599
+
600
+ // src/classes/ticker/FadeAlphaTicker.ts
601
+ var FadeAlphaTicker = class extends TickerBase {
602
+ fn(ticker, args, tags, tickerId) {
584
603
  let type = args.type === void 0 ? "hide" : args.type;
585
- let speed = args.speed === void 0 ? 0.1 : args.speed;
604
+ let duration = args.duration === void 0 ? 1 : args.duration;
605
+ let speed = 1 / (duration * 60);
586
606
  let limit = args.limit === void 0 ? type === "hide" ? 0 : 1 : args.limit;
587
- let removeElementAfter = args.tagToRemoveAfter || [];
588
- if (typeof removeElementAfter === "string") {
589
- removeElementAfter = [removeElementAfter];
607
+ let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
608
+ if (typeof tagToRemoveAfter2 === "string") {
609
+ tagToRemoveAfter2 = [tagToRemoveAfter2];
590
610
  }
591
611
  if (type === "hide" && limit < 0) {
592
612
  limit = 0;
@@ -607,61 +627,88 @@ var TickerFadeAlpha = class extends TickerBase {
607
627
  let element = GameWindowManager.getCanvasElement(tag);
608
628
  if (element && element instanceof pixi_js.Container) {
609
629
  if (type === "show" && element.alpha < limit) {
610
- element.alpha += speed * t.deltaTime;
630
+ element.alpha += speed * ticker.deltaTime;
611
631
  } else if (type === "hide" && element.alpha > limit) {
612
- element.alpha -= speed * t.deltaTime;
613
- } else {
632
+ element.alpha -= speed * ticker.deltaTime;
633
+ }
634
+ if (type === "show" && element.alpha >= limit) {
635
+ element.alpha = limit;
636
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
637
+ } else if (type === "hide" && element.alpha <= limit) {
614
638
  element.alpha = limit;
615
- GameWindowManager.removeAssociationBetweenTickerCanvasElement(tag, this);
616
- GameWindowManager.removeCanvasElement(removeElementAfter);
639
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
617
640
  }
618
641
  }
619
642
  });
620
643
  }
621
644
  };
622
- TickerFadeAlpha = __decorateClass([
645
+ FadeAlphaTicker = __decorateClass([
623
646
  tickerDecorator()
624
- ], TickerFadeAlpha);
647
+ ], FadeAlphaTicker);
625
648
 
626
649
  // src/functions/TickerUtility.ts
627
650
  function updateTickerProgression(args, propertyName, progression) {
628
- if (args.hasOwnProperty(propertyName) && typeof args[propertyName] !== "number") {
651
+ if (args[propertyName] === void 0 || !progression || args[propertyName] === progression.limit) {
629
652
  return;
630
653
  }
631
- if (args[propertyName] !== void 0 && progression && args[propertyName] !== progression.limit) {
654
+ if (typeof args[propertyName] === "number") {
632
655
  if (progression.type === "linear") {
633
- args[propertyName] += progression.amt;
634
- if (progression.limit !== void 0) {
635
- if (args[propertyName] > progression.limit && progression.amt > 0) {
636
- args[propertyName] = progression.limit;
637
- } else if (args[propertyName] < progression.limit && progression.amt < 0) {
638
- args[propertyName] = progression.limit;
639
- }
640
- }
656
+ args[propertyName] = getLinearProgression(args[propertyName], progression);
641
657
  } else if (progression.type === "exponential") {
642
- args[propertyName] += args[propertyName] * progression.percentage;
643
- if (progression.limit !== void 0) {
644
- if (args[propertyName] > progression.limit && progression.percentage > 0) {
645
- args[propertyName] = progression.limit;
646
- } else if (args[propertyName] < progression.limit && progression.percentage < 0) {
647
- args[propertyName] = progression.limit;
648
- }
649
- }
658
+ args[propertyName] = getExponentialProgression(args[propertyName], progression);
659
+ }
660
+ } else if (args[propertyName] !== void 0 && typeof args[propertyName] === "object" && args[propertyName].haveOwnProperty("x") && args[propertyName].haveOwnProperty("y") && typeof args[propertyName].x === "number" && typeof args[propertyName].y === "number") {
661
+ if (progression.type === "linear") {
662
+ args[propertyName].x = getLinearProgression(args[propertyName].x, progression);
663
+ args[propertyName].y = getLinearProgression(args[propertyName].y, progression);
664
+ } else if (progression.type === "exponential") {
665
+ args[propertyName].x = getExponentialProgression(args[propertyName].x, progression);
666
+ args[propertyName].y = getExponentialProgression(args[propertyName].y, progression);
667
+ }
668
+ }
669
+ }
670
+ function getLinearProgression(number, progression) {
671
+ if (progression.limit !== void 0) {
672
+ if (number > progression.limit && progression.amt > 0) {
673
+ return progression.limit;
674
+ } else if (number < progression.limit && progression.amt < 0) {
675
+ return progression.limit;
650
676
  }
651
677
  }
678
+ return number + progression.amt / 60;
679
+ }
680
+ function getExponentialProgression(number, progression) {
681
+ if (progression.limit !== void 0) {
682
+ if (number > progression.limit && progression.percentage > 0) {
683
+ return progression.limit;
684
+ } else if (number < progression.limit && progression.percentage < 0) {
685
+ return progression.limit;
686
+ }
687
+ }
688
+ return number + number * progression.percentage;
652
689
  }
653
690
 
654
- // src/classes/ticker/TickerMove.ts
655
- var TickerMove = class extends TickerBase {
656
- /**
657
- * The method that will be called every frame to move the canvas element of the canvas.
658
- * @param t The ticker that is calling this method
659
- * @param args The arguments that are passed to the ticker
660
- * @param tags The tags of the canvas element that are connected to this ticker
661
- */
662
- fn(t, args, tags) {
663
- let speed = args.speed === void 0 ? 0.1 : args.speed;
691
+ // src/classes/ticker/MoveTicker.ts
692
+ var MoveTicker = class extends TickerBase {
693
+ fn(ticker, args, tags, tickerId) {
694
+ let xSpeed = 1;
695
+ let ySpeed = 1;
696
+ if (args.speed) {
697
+ if (typeof args.speed === "number") {
698
+ xSpeed = args.speed;
699
+ ySpeed = args.speed;
700
+ } else {
701
+ xSpeed = args.speed.x;
702
+ ySpeed = args.speed.y;
703
+ }
704
+ }
705
+ xSpeed /= 60;
706
+ ySpeed /= 60;
664
707
  let destination = args.destination;
708
+ let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
709
+ if (typeof tagToRemoveAfter2 === "string") {
710
+ tagToRemoveAfter2 = [tagToRemoveAfter2];
711
+ }
665
712
  tags.filter((tag) => {
666
713
  var _a;
667
714
  let element = GameWindowManager.getCanvasElement(tag);
@@ -674,41 +721,42 @@ var TickerMove = class extends TickerBase {
674
721
  }).forEach((tag) => {
675
722
  let element = GameWindowManager.getCanvasElement(tag);
676
723
  if (element && element instanceof pixi_js.Container) {
677
- let xDistance = destination.x - element.x;
724
+ let xDistance = destination.x - element.x > 0 ? 1 : -1;
678
725
  if (xDistance != 0) {
679
- element.x += xDistance / speed * t.deltaTime;
726
+ element.x += xDistance * xSpeed * ticker.deltaTime;
680
727
  let newDistance = destination.x - element.x;
681
728
  if (xDistance < 0 && newDistance > 0 || xDistance > 0 && newDistance < 0) {
682
729
  element.x = destination.x;
683
730
  }
684
731
  }
685
- let yDistance = destination.y - element.y;
732
+ let yDistance = destination.y - element.y > 0 ? 1 : -1;
686
733
  if (yDistance != 0) {
687
- element.y += yDistance / speed * t.deltaTime;
734
+ element.y += yDistance * ySpeed * ticker.deltaTime;
688
735
  let newDistance = destination.y - element.y;
689
736
  if (yDistance < 0 && newDistance > 0 || yDistance > 0 && newDistance < 0) {
690
737
  element.y = destination.y;
691
738
  }
692
739
  }
740
+ if (element.x == destination.x && element.y == destination.y) {
741
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
742
+ }
693
743
  }
694
744
  });
695
745
  if (args.speedProgression)
696
746
  updateTickerProgression(args, "speed", args.speedProgression);
697
747
  }
698
748
  };
699
- TickerMove = __decorateClass([
749
+ MoveTicker = __decorateClass([
700
750
  tickerDecorator()
701
- ], TickerMove);
702
- var TickerRotate = class extends TickerBase {
703
- /**
704
- * The method that will be called every frame to rotate the canvas element of the canvas.
705
- * @param delta The delta time
706
- * @param args The arguments that are passed to the ticker
707
- * @param tags The tags of the canvas element that are connected to this ticker
708
- */
709
- fn(t, args, tags) {
710
- let speed = args.speed === void 0 ? 0.1 : args.speed;
751
+ ], MoveTicker);
752
+ var RotateTicker = class extends TickerBase {
753
+ fn(ticker, args, tags, tickerId) {
754
+ let speed = (args.speed === void 0 ? 1 : args.speed) / 60;
711
755
  let clockwise = args.clockwise === void 0 ? true : args.clockwise;
756
+ let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
757
+ if (typeof tagToRemoveAfter2 === "string") {
758
+ tagToRemoveAfter2 = [tagToRemoveAfter2];
759
+ }
712
760
  tags.filter((tag) => {
713
761
  var _a;
714
762
  let element = GameWindowManager.getCanvasElement(tag);
@@ -722,18 +770,114 @@ var TickerRotate = class extends TickerBase {
722
770
  let element = GameWindowManager.getCanvasElement(tag);
723
771
  if (element && element instanceof pixi_js.Container) {
724
772
  if (clockwise)
725
- element.rotation += speed * t.deltaTime;
773
+ element.rotation += speed * ticker.deltaTime;
726
774
  else
727
- element.rotation -= speed * t.deltaTime;
775
+ element.rotation -= speed * ticker.deltaTime;
776
+ if (speed < 1e-5 && !(args.speedProgression && args.speedProgression.type == "linear" && args.speedProgression.amt != 0)) {
777
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
778
+ }
779
+ }
780
+ });
781
+ if (args.speedProgression)
782
+ updateTickerProgression(args, "speed", args.speedProgression);
783
+ }
784
+ };
785
+ RotateTicker = __decorateClass([
786
+ tickerDecorator()
787
+ ], RotateTicker);
788
+ var ZoomTicker = class extends TickerBase {
789
+ fn(ticker, args, tags, tickerId) {
790
+ let xSpeed = 0.1;
791
+ let ySpeed = 0.1;
792
+ if (args.speed) {
793
+ if (typeof args.speed === "number") {
794
+ xSpeed = args.speed;
795
+ ySpeed = args.speed;
796
+ } else {
797
+ xSpeed = args.speed.x;
798
+ ySpeed = args.speed.y;
799
+ }
800
+ }
801
+ xSpeed /= 60;
802
+ ySpeed /= 60;
803
+ let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
804
+ if (typeof tagToRemoveAfter2 === "string") {
805
+ tagToRemoveAfter2 = [tagToRemoveAfter2];
806
+ }
807
+ let type = args.type || "zoom";
808
+ let xLimit = type === "zoom" ? Infinity : 0;
809
+ let yLimit = type === "zoom" ? Infinity : 0;
810
+ if (args.limit) {
811
+ if (typeof args.limit === "number") {
812
+ xLimit = args.limit;
813
+ yLimit = args.limit;
814
+ } else {
815
+ xLimit = args.limit.x;
816
+ yLimit = args.limit.y;
817
+ }
818
+ }
819
+ tags.filter((tag) => {
820
+ var _a;
821
+ let element = GameWindowManager.getCanvasElement(tag);
822
+ if (args.startOnlyIfHaveTexture) {
823
+ if (element && element instanceof pixi_js.Sprite && ((_a = element.texture) == null ? void 0 : _a.label) == "EMPTY") {
824
+ return false;
825
+ }
826
+ }
827
+ return true;
828
+ }).forEach((tag) => {
829
+ let element = GameWindowManager.getCanvasElement(tag);
830
+ if (element && element instanceof pixi_js.Container) {
831
+ if (type === "zoom" && (element.scale.x < xLimit || element.scale.y < yLimit)) {
832
+ element.scale.x += xSpeed * ticker.deltaTime;
833
+ element.scale.y += ySpeed * ticker.deltaTime;
834
+ } else if (type === "unzoom" && (element.scale.x > xLimit || element.scale.y > yLimit)) {
835
+ element.scale.x -= xSpeed * ticker.deltaTime;
836
+ element.scale.y -= ySpeed * ticker.deltaTime;
837
+ }
838
+ if (type === "zoom") {
839
+ if (element.scale.x > xLimit) {
840
+ element.scale.x = xLimit;
841
+ }
842
+ if (element.scale.y > yLimit) {
843
+ element.scale.y = yLimit;
844
+ }
845
+ if (element.scale.x >= xLimit && element.scale.y >= yLimit) {
846
+ element.scale.x = xLimit;
847
+ element.scale.y = yLimit;
848
+ this.onEndOfTicker(tag, tickerId, element, tagToRemoveAfter2);
849
+ }
850
+ } else if (type === "unzoom") {
851
+ if (element.scale.x < xLimit) {
852
+ element.scale.x = xLimit;
853
+ }
854
+ if (element.scale.y < yLimit) {
855
+ element.scale.y = yLimit;
856
+ }
857
+ if (element.scale.x <= xLimit && element.scale.y <= yLimit) {
858
+ element.scale.x = xLimit;
859
+ element.scale.y = yLimit;
860
+ this.onEndOfTicker(tag, tickerId, element, tagToRemoveAfter2);
861
+ }
862
+ }
863
+ if (xSpeed < 1e-5 && ySpeed < 1e-5 && !(args.speedProgression && args.speedProgression.type == "linear" && args.speedProgression.amt != 0)) {
864
+ this.onEndOfTicker(tag, tickerId, element, tagToRemoveAfter2);
865
+ }
728
866
  }
729
867
  });
730
868
  if (args.speedProgression)
731
869
  updateTickerProgression(args, "speed", args.speedProgression);
732
870
  }
871
+ onEndOfTicker(tag, tickerId, _element, tagToRemoveAfter2) {
872
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
873
+ }
733
874
  };
734
- TickerRotate = __decorateClass([
875
+ ZoomTicker = __decorateClass([
735
876
  tickerDecorator()
736
- ], TickerRotate);
877
+ ], ZoomTicker);
878
+
879
+ // src/constants.ts
880
+ var Repeat = "repeat";
737
881
 
738
882
  // src/functions/ExportUtility.ts
739
883
  function createExportableElement(element) {
@@ -842,6 +986,9 @@ function asciiArtLog() {
842
986
  `);
843
987
  }
844
988
 
989
+ // src/types/ticker/TagToRemoveAfterType.ts
990
+ var tagToRemoveAfter = "tagToRemoveAfter";
991
+
845
992
  // src/managers/WindowManager.ts
846
993
  var _GameWindowManager = class _GameWindowManager {
847
994
  constructor() {
@@ -1024,25 +1171,25 @@ var _GameWindowManager = class _GameWindowManager {
1024
1171
  /**
1025
1172
  * Remove a canvas element from the canvas.
1026
1173
  * And remove all tickers that are not connected to any canvas element.
1027
- * @param tag The tag of the canvas element to be removed.
1174
+ * @param tags The tag of the canvas element to be removed.
1028
1175
  * @returns
1029
1176
  * @example
1030
1177
  * ```typescript
1031
1178
  * GameWindowManager.removeCanvasElement("bunny");
1032
1179
  * ```
1033
1180
  */
1034
- static removeCanvasElement(tag) {
1035
- if (typeof tag === "string") {
1036
- tag = [tag];
1181
+ static removeCanvasElement(tags) {
1182
+ if (typeof tags === "string") {
1183
+ tags = [tags];
1037
1184
  }
1038
- tag.forEach((t) => {
1039
- if (_GameWindowManager._children[t]) {
1040
- _GameWindowManager.app.stage.removeChild(_GameWindowManager._children[t]);
1041
- delete _GameWindowManager._children[t];
1185
+ tags.forEach((tag) => {
1186
+ if (_GameWindowManager._children[tag]) {
1187
+ _GameWindowManager.app.stage.removeChild(_GameWindowManager._children[tag]);
1188
+ delete _GameWindowManager._children[tag];
1189
+ _GameWindowManager.removeTickerByCanvasElement(tag);
1042
1190
  }
1043
1191
  });
1044
- _GameWindowManager.removeTickersWithoutAssociatedCanvasElement();
1045
- _GameWindowManager.childrenTagsOrder = _GameWindowManager.childrenTagsOrder.filter((t) => !tag.includes(t));
1192
+ _GameWindowManager.childrenTagsOrder = _GameWindowManager.childrenTagsOrder.filter((t) => !tags.includes(t));
1046
1193
  }
1047
1194
  /**
1048
1195
  * Get a canvas element by the tag.
@@ -1072,18 +1219,43 @@ var _GameWindowManager = class _GameWindowManager {
1072
1219
  _GameWindowManager.app.stage.removeChildren();
1073
1220
  _GameWindowManager._children = {};
1074
1221
  _GameWindowManager.childrenTagsOrder = [];
1075
- _GameWindowManager.removeTickers();
1222
+ _GameWindowManager.removeAllTickers();
1076
1223
  }
1077
1224
  /**
1078
1225
  * Edit the tag of a canvas element.
1079
1226
  * @param oldTag The old tag of the canvas element.
1080
1227
  * @param newTag The new tag of the canvas element.
1081
1228
  */
1082
- static editTagCanvasElement(oldTag, newTag) {
1229
+ static editCanvasElementTag(oldTag, newTag) {
1083
1230
  if (_GameWindowManager._children[oldTag]) {
1084
1231
  _GameWindowManager._children[newTag] = _GameWindowManager._children[oldTag];
1085
1232
  delete _GameWindowManager._children[oldTag];
1086
1233
  }
1234
+ if (_GameWindowManager._currentTickersSteps[oldTag]) {
1235
+ _GameWindowManager._currentTickersSteps[newTag] = _GameWindowManager._currentTickersSteps[oldTag];
1236
+ delete _GameWindowManager._currentTickersSteps[oldTag];
1237
+ }
1238
+ for (let id in _GameWindowManager._currentTickers) {
1239
+ let ticker = _GameWindowManager._currentTickers[id];
1240
+ if (ticker.canvasElementTags.includes(oldTag)) {
1241
+ ticker.canvasElementTags = ticker.canvasElementTags.map((t) => t === oldTag ? newTag : t);
1242
+ if (ticker.args.hasOwnProperty(tagToRemoveAfter)) {
1243
+ let tagToRemoveAfter2 = ticker.args.tagToRemoveAfter;
1244
+ if (typeof tagToRemoveAfter2 === "string") {
1245
+ tagToRemoveAfter2 = [tagToRemoveAfter2];
1246
+ }
1247
+ if (Array.isArray(tagToRemoveAfter2)) {
1248
+ ticker.args.tagToRemoveAfter = tagToRemoveAfter2.map((t) => t === oldTag ? newTag : t);
1249
+ }
1250
+ }
1251
+ }
1252
+ }
1253
+ for (let timeout in _GameWindowManager._currentTickersTimeouts) {
1254
+ let TickerTimeout = _GameWindowManager._currentTickersTimeouts[timeout];
1255
+ if (TickerTimeout.tags.includes(oldTag)) {
1256
+ TickerTimeout.tags = TickerTimeout.tags.map((t) => t === oldTag ? newTag : t);
1257
+ }
1258
+ }
1087
1259
  }
1088
1260
  /** Edit Tickers Methods */
1089
1261
  /**
@@ -1092,106 +1264,127 @@ var _GameWindowManager = class _GameWindowManager {
1092
1264
  static get currentTickers() {
1093
1265
  return _GameWindowManager._currentTickers;
1094
1266
  }
1267
+ static get currentTickersList() {
1268
+ return Object.values(_GameWindowManager._currentTickers);
1269
+ }
1270
+ static get currentTickersWithoutCreatedBySteps() {
1271
+ return Object.fromEntries(Object.entries(_GameWindowManager._currentTickers).filter(([_, ticker]) => !ticker.createdByTicketStepsId));
1272
+ }
1095
1273
  /**
1096
1274
  * The steps of the tickers
1097
1275
  */
1098
1276
  static get currentTickersSteps() {
1099
1277
  return _GameWindowManager._currentTickersSteps;
1100
1278
  }
1279
+ static generateTickerId(tickerData) {
1280
+ try {
1281
+ return sha1__default.default(JSON.stringify(tickerData)).toString() + "_" + Math.random().toString(36).substring(7);
1282
+ } catch (e) {
1283
+ throw new Error(`[Pixi'VN] Error to generate ticker id: ${e}`);
1284
+ }
1285
+ }
1101
1286
  /**
1102
- * Run a ticker.
1287
+ * Run a ticker. You can run multiple addTicker with the same tag and different tickerClasses.
1288
+ * If you run a ticker with the same tag and tickerClass, the old ticker will be removed.
1289
+ * If already exists a sequence of tickers with the same tag, it will be removed.
1103
1290
  * @param canvasEslementTag The tag of the canvas element that will use the ticker.
1104
1291
  * @param ticker The ticker class to be run.
1105
1292
  * @param args The arguments to be used in the ticker.
1106
- * @param duration The time to be used in the ticker. This number is in milliseconds. If it is undefined, the ticker will run forever.
1293
+ * @param duration The time to be used in the ticker. This number is in seconds. If it is undefined, the ticker will run forever.
1107
1294
  * @param priority The priority to be used in the ticker.
1108
1295
  * @returns
1109
1296
  * @example
1110
1297
  * ```typescript
1111
- * GameWindowManager.addTicker("alien", new TickerRotate({ speed: 0.2 }))
1298
+ * GameWindowManager.addTicker("alien", new RotateTicker({ speed: 0.2 }))
1112
1299
  * ```
1113
1300
  */
1114
1301
  static addTicker(canvasElementTag, ticker) {
1115
- let tickerName = ticker.constructor.name;
1302
+ let tickerId = ticker.id;
1116
1303
  if (typeof canvasElementTag === "string") {
1117
1304
  canvasElementTag = [canvasElementTag];
1118
1305
  }
1119
- let t = geTickerInstanceByClassName(tickerName, ticker.args, ticker.duration, ticker.priority);
1120
- if (!t) {
1121
- console.error(`[Pixi'VN] Ticker ${tickerName} not found`);
1306
+ if (!geTickerInstanceById(tickerId, ticker.args, ticker.duration, ticker.priority)) {
1307
+ console.error(`[Pixi'VN] Ticker ${tickerId} not found`);
1122
1308
  return;
1123
1309
  }
1124
- _GameWindowManager.removeAssociationBetweenTickerCanvasElement(canvasElementTag, ticker);
1125
1310
  let tickerHistory = {
1126
1311
  fn: () => {
1127
1312
  },
1128
- className: tickerName,
1129
- args: ticker.args,
1313
+ id: tickerId,
1314
+ args: createExportableElement(ticker.args),
1130
1315
  canvasElementTags: canvasElementTag,
1131
1316
  priority: ticker.priority,
1132
1317
  duration: ticker.duration
1133
1318
  };
1134
- _GameWindowManager.pushTicker(tickerHistory, t);
1135
- _GameWindowManager.removeTickersWithoutAssociatedCanvasElement();
1319
+ let id = _GameWindowManager.generateTickerId(tickerHistory);
1320
+ _GameWindowManager.pushTicker(id, tickerHistory, ticker);
1136
1321
  if (ticker.duration) {
1137
1322
  let timeout = setTimeout(() => {
1138
1323
  _GameWindowManager.removeTickerTimeoutInfo(timeout);
1139
- _GameWindowManager.nextTickerStep(canvasElementTag);
1140
- }, ticker.duration);
1141
- _GameWindowManager.addTickerTimeoutInfo(canvasElementTag, tickerName, timeout.toString());
1324
+ let tickerTimeoutInfo = _GameWindowManager._currentTickersTimeouts[timeout.toString()];
1325
+ if (tickerTimeoutInfo) {
1326
+ _GameWindowManager.removeTicker(id);
1327
+ }
1328
+ }, ticker.duration * 1e3);
1329
+ _GameWindowManager.addTickerTimeoutInfo(canvasElementTag, tickerId, timeout.toString(), true);
1142
1330
  }
1143
1331
  }
1144
- static pushTicker(tickerData, ticker) {
1145
- _GameWindowManager.removeAssociationBetweenTickerCanvasElement(tickerData.canvasElementTags, tickerData);
1146
- _GameWindowManager._currentTickers.push(tickerData);
1332
+ static pushTicker(id, tickerData, ticker) {
1333
+ _GameWindowManager.removeAssociationBetweenTickerCanvasElement(tickerData.canvasElementTags, ticker);
1334
+ _GameWindowManager._currentTickers[id] = tickerData;
1147
1335
  tickerData.fn = (t) => {
1148
- ticker == null ? void 0 : ticker.fn(t, tickerData.args, tickerData.canvasElementTags);
1336
+ let data = _GameWindowManager._currentTickers[id];
1337
+ if (data) {
1338
+ ticker == null ? void 0 : ticker.fn(t, data.args, data.canvasElementTags, id);
1339
+ }
1149
1340
  };
1150
1341
  _GameWindowManager.app.ticker.add(tickerData.fn, void 0, tickerData.priority);
1151
1342
  }
1152
1343
  /**
1153
- * Run a sequence of tickers.
1344
+ * Run a sequence of tickers. If exists a ticker steps with the same tag, it will be removed.
1154
1345
  * @param tag The tag of canvas element that will use the tickers.
1155
1346
  * @param steps The steps of the tickers.
1347
+ * @param currentStepNumber The current step number. It is used to continue the sequence of tickers.
1156
1348
  * @returns
1157
1349
  * @example
1158
1350
  * ```typescript
1159
1351
  * GameWindowManager.addTickersSteps("alien", [
1160
- * new TickerRotate({ speed: 0.1, clockwise: true }, 2000),
1161
- * Pause(500),
1162
- * new TickerRotate({ speed: 0.2, clockwise: false }, 2000),
1352
+ * new RotateTicker({ speed: 0.1, clockwise: true }, 2), // 2 seconds
1353
+ * Pause(1), // 1 second
1354
+ * new RotateTicker({ speed: 0.2, clockwise: false }, 2),
1163
1355
  * Repeat,
1164
1356
  * ])
1165
1357
  * ```
1166
1358
  */
1167
- static addTickersSteps(tag, steps) {
1359
+ static addTickersSteps(tag, steps, currentStepNumber = 0) {
1168
1360
  if (steps.length == 0) {
1169
1361
  console.warn("[Pixi'VN] The steps of the tickers is empty");
1170
1362
  return;
1171
1363
  }
1172
- let alredyExists = _GameWindowManager._currentTickersSteps[tag] !== void 0;
1364
+ _GameWindowManager.removeTickerStepByCanvasElement(tag);
1173
1365
  _GameWindowManager._currentTickersSteps[tag] = {
1174
- currentStepNumber: 0,
1175
- steps: steps.map((s) => {
1176
- if (s === Repeat) {
1177
- return s;
1366
+ currentStepNumber,
1367
+ steps: steps.map((step) => {
1368
+ if (step === Repeat) {
1369
+ return step;
1178
1370
  }
1179
- if (!s.duration) {
1180
- console.warn("[Pixi'VN] Duration is not defined, so it will be set to 1000");
1181
- s.duration = 1e3;
1371
+ if (step.hasOwnProperty("type") && step.type === "pause") {
1372
+ return step;
1182
1373
  }
1183
- if (s.hasOwnProperty("type") && s.type === PauseValueType) {
1184
- return s;
1185
- }
1186
- let tickerName = s.constructor.name;
1374
+ let tickerId = step.id;
1187
1375
  return {
1188
- ticker: tickerName,
1189
- args: s.args,
1190
- duration: s.duration
1376
+ ticker: tickerId,
1377
+ args: createExportableElement(step.args),
1378
+ duration: step.duration
1191
1379
  };
1192
1380
  })
1193
1381
  };
1194
- if (!alredyExists) {
1382
+ _GameWindowManager.runTickersSteps(tag);
1383
+ }
1384
+ static restoneTickersSteps(data) {
1385
+ for (let tag in data) {
1386
+ let steps = data[tag];
1387
+ _GameWindowManager._currentTickersSteps[tag] = steps;
1195
1388
  _GameWindowManager.runTickersSteps(tag);
1196
1389
  }
1197
1390
  }
@@ -1205,70 +1398,106 @@ var _GameWindowManager = class _GameWindowManager {
1205
1398
  return;
1206
1399
  }
1207
1400
  }
1208
- if (step.hasOwnProperty("type") && step.type === PauseValueType) {
1401
+ if (step.hasOwnProperty("type") && step.type === "pause") {
1209
1402
  let timeout = setTimeout(() => {
1403
+ let tickerTimeoutInfo = _GameWindowManager._currentTickersTimeouts[timeout.toString()];
1404
+ if (tickerTimeoutInfo) {
1405
+ tickerTimeoutInfo.tags.forEach((tag2) => {
1406
+ _GameWindowManager.nextTickerStep(tag2);
1407
+ });
1408
+ }
1210
1409
  _GameWindowManager.removeTickerTimeoutInfo(timeout);
1211
- _GameWindowManager.nextTickerStep(tag);
1212
- }, step.duration);
1213
- _GameWindowManager.addTickerTimeoutInfo(tag, "steps", timeout.toString());
1410
+ }, step.duration * 1e3);
1411
+ _GameWindowManager.addTickerTimeoutInfo(tag, "steps", timeout.toString(), false);
1214
1412
  return;
1215
1413
  }
1216
- let ticker = geTickerInstanceByClassName(step.ticker, step.args, step.duration, step.priority);
1414
+ let ticker = geTickerInstanceById(step.ticker, step.args, step.duration, step.priority);
1217
1415
  if (!ticker) {
1218
1416
  console.error(`[Pixi'VN] Ticker ${step.ticker} not found`);
1219
1417
  return;
1220
1418
  }
1221
- _GameWindowManager.addTicker(tag, ticker);
1419
+ let tickerName = ticker.id;
1420
+ let tickerHistory = {
1421
+ fn: () => {
1422
+ },
1423
+ id: tickerName,
1424
+ args: createExportableElement(ticker.args),
1425
+ canvasElementTags: [tag],
1426
+ priority: ticker.priority,
1427
+ duration: ticker.duration,
1428
+ createdByTicketStepsId: tag
1429
+ };
1430
+ let id = _GameWindowManager.generateTickerId(tickerHistory);
1431
+ _GameWindowManager.pushTicker(id, tickerHistory, ticker);
1432
+ if (ticker.duration) {
1433
+ let timeout = setTimeout(() => {
1434
+ let tickerTimeoutInfo = _GameWindowManager._currentTickersTimeouts[timeout.toString()];
1435
+ if (tickerTimeoutInfo) {
1436
+ _GameWindowManager.removeTicker(id);
1437
+ tickerTimeoutInfo.tags.forEach((tag2) => {
1438
+ _GameWindowManager.nextTickerStep(tag2);
1439
+ });
1440
+ }
1441
+ _GameWindowManager.removeTickerTimeoutInfo(timeout);
1442
+ }, ticker.duration * 1e3);
1443
+ _GameWindowManager.addTickerTimeoutInfo(tag, tickerName, timeout.toString(), false);
1444
+ }
1222
1445
  }
1223
1446
  static nextTickerStep(tag) {
1224
- if (typeof tag === "string") {
1225
- tag = [tag];
1447
+ if (_GameWindowManager._currentTickersSteps[tag]) {
1448
+ let steps = _GameWindowManager._currentTickersSteps[tag];
1449
+ if (steps.currentStepNumber + 1 < steps.steps.length) {
1450
+ steps.currentStepNumber++;
1451
+ _GameWindowManager._currentTickersSteps[tag] = steps;
1452
+ _GameWindowManager.runTickersSteps(tag);
1453
+ } else {
1454
+ _GameWindowManager.removeTickerStepByCanvasElement(tag);
1455
+ }
1226
1456
  }
1227
- tag.forEach((tag2) => {
1228
- if (_GameWindowManager._currentTickersSteps[tag2]) {
1229
- let steps = _GameWindowManager._currentTickersSteps[tag2];
1230
- if (steps.currentStepNumber + 1 < steps.steps.length) {
1231
- steps.currentStepNumber++;
1232
- _GameWindowManager._currentTickersSteps[tag2] = steps;
1233
- _GameWindowManager.runTickersSteps(tag2);
1234
- } else {
1235
- delete _GameWindowManager._currentTickersSteps[tag2];
1236
- }
1457
+ }
1458
+ static onEndOfTicker(canvasElementTags, ticker, canvasElementTagsToDelete, tickerId) {
1459
+ let tickerData = _GameWindowManager._currentTickers[tickerId];
1460
+ _GameWindowManager.removeAssociationBetweenTickerCanvasElement(canvasElementTags, ticker);
1461
+ _GameWindowManager.removeCanvasElement(canvasElementTagsToDelete);
1462
+ if (tickerData) {
1463
+ _GameWindowManager.removeTicker(tickerId);
1464
+ if (tickerData.duration == void 0 && tickerData.createdByTicketStepsId) {
1465
+ _GameWindowManager.nextTickerStep(tickerData.createdByTicketStepsId);
1237
1466
  }
1238
- });
1467
+ }
1239
1468
  }
1240
1469
  /**
1241
1470
  * Remove a connection between a canvas element and a ticker.
1242
1471
  * And remove the ticker if there is no canvas element connected to it.
1243
- * @param tag The tag of the canvas element that will use the ticker.
1472
+ * @param tags The tag of the canvas element that will use the ticker.
1244
1473
  * @param ticker The ticker class to be removed.
1245
1474
  * @example
1246
1475
  * ```typescript
1247
- * GameWindowManager.removeAssociationBetweenTickerCanvasElement("alien", TickerRotate)
1476
+ * GameWindowManager.removeAssociationBetweenTickerCanvasElement("alien", RotateTicker)
1248
1477
  * ```
1249
1478
  */
1250
- static removeAssociationBetweenTickerCanvasElement(tag, ticker) {
1251
- let tickerName;
1252
- if (ticker instanceof TickerBase) {
1253
- tickerName = ticker.constructor.name;
1479
+ static removeAssociationBetweenTickerCanvasElement(tags, ticker) {
1480
+ let tickerId;
1481
+ if (typeof ticker === "string") {
1482
+ tickerId = ticker;
1483
+ } else if (ticker instanceof TickerBase) {
1484
+ tickerId = ticker.id;
1254
1485
  } else {
1255
- tickerName = ticker.name;
1486
+ tickerId = ticker.prototype.id;
1256
1487
  }
1257
- if (typeof tag === "string") {
1258
- tag = [tag];
1488
+ if (typeof tags === "string") {
1489
+ tags = [tags];
1259
1490
  }
1260
- _GameWindowManager._currentTickers = _GameWindowManager._currentTickers.map((t) => {
1261
- if (t.className === tickerName) {
1262
- t.canvasElementTags = t.canvasElementTags.filter((e) => !tag.includes(e));
1491
+ for (let id in _GameWindowManager._currentTickers) {
1492
+ let ticker2 = _GameWindowManager._currentTickers[id];
1493
+ if (ticker2.id === tickerId) {
1494
+ _GameWindowManager._currentTickers[id].canvasElementTags = ticker2.canvasElementTags.filter((e) => !tags.includes(e));
1263
1495
  }
1264
- return t;
1265
- });
1266
- for (let timeout in _GameWindowManager.currentTickersTimeouts) {
1267
- let t = _GameWindowManager.currentTickersTimeouts[timeout].tags.filter((e) => !tag.includes(e));
1268
- if (t.length == 0) {
1269
- _GameWindowManager.removeTickerTimeoutInfo(timeout);
1270
- } else {
1271
- _GameWindowManager.currentTickersTimeouts[timeout].tags = t;
1496
+ }
1497
+ for (let timeout in _GameWindowManager._currentTickersTimeouts) {
1498
+ let TickerTimeout = _GameWindowManager._currentTickersTimeouts[timeout];
1499
+ if (TickerTimeout.ticker === tickerId && TickerTimeout.canBeDeletedBeforeEnd) {
1500
+ _GameWindowManager._currentTickersTimeouts[timeout].tags = TickerTimeout.tags.filter((t) => !tags.includes(t));
1272
1501
  }
1273
1502
  }
1274
1503
  _GameWindowManager.removeTickersWithoutAssociatedCanvasElement();
@@ -1277,49 +1506,117 @@ var _GameWindowManager = class _GameWindowManager {
1277
1506
  * Remove all tickers that are not connected to any existing canvas element.
1278
1507
  */
1279
1508
  static removeTickersWithoutAssociatedCanvasElement() {
1280
- let currentTickers = _GameWindowManager._currentTickers.map((t) => {
1281
- t.canvasElementTags = t.canvasElementTags.filter((e) => _GameWindowManager._children[e]);
1282
- return t;
1283
- });
1284
- currentTickers.filter((t) => t.canvasElementTags.length === 0).forEach((t) => {
1285
- _GameWindowManager.app.ticker.remove(t.fn);
1286
- });
1287
- currentTickers = currentTickers.filter((t) => t.canvasElementTags.length > 0);
1288
- _GameWindowManager._currentTickers = currentTickers;
1509
+ for (let id in _GameWindowManager._currentTickers) {
1510
+ let ticker = _GameWindowManager._currentTickers[id];
1511
+ ticker.canvasElementTags = ticker.canvasElementTags.filter((e) => _GameWindowManager._children[e]);
1512
+ if (ticker.canvasElementTags.length === 0) {
1513
+ _GameWindowManager.removeTicker(id);
1514
+ }
1515
+ }
1289
1516
  for (let tag in _GameWindowManager._currentTickersSteps) {
1290
1517
  if (_GameWindowManager._children[tag] === void 0) {
1291
1518
  delete _GameWindowManager._currentTickersSteps[tag];
1292
1519
  }
1293
1520
  }
1521
+ Object.entries(_GameWindowManager._currentTickersTimeouts).forEach(([timeout, { tags }]) => {
1522
+ if (tags.length === 0) {
1523
+ _GameWindowManager.removeTickerTimeout(timeout);
1524
+ }
1525
+ });
1294
1526
  }
1295
- static addTickerTimeoutInfo(tags, ticker, timeout) {
1527
+ static addTickerTimeoutInfo(tags, ticker, timeout, canBeDeletedBeforeEnd) {
1296
1528
  if (typeof tags === "string") {
1297
1529
  tags = [tags];
1298
1530
  }
1299
- _GameWindowManager.currentTickersTimeouts[timeout] = {
1531
+ _GameWindowManager._currentTickersTimeouts[timeout] = {
1300
1532
  tags,
1301
- ticker
1533
+ ticker,
1534
+ canBeDeletedBeforeEnd
1302
1535
  };
1303
1536
  }
1304
1537
  static removeTickerTimeoutInfo(timeout) {
1305
1538
  if (typeof timeout !== "string") {
1306
1539
  timeout = timeout.toString();
1307
1540
  }
1308
- if (_GameWindowManager.currentTickersTimeouts[timeout]) {
1309
- delete _GameWindowManager.currentTickersTimeouts[timeout];
1541
+ if (_GameWindowManager._currentTickersTimeouts[timeout]) {
1542
+ delete _GameWindowManager._currentTickersTimeouts[timeout];
1543
+ }
1544
+ }
1545
+ static removeTickerTimeout(timeout) {
1546
+ if (typeof timeout !== "string") {
1547
+ timeout = timeout.toString();
1548
+ }
1549
+ clearTimeout(Number(timeout));
1550
+ _GameWindowManager.removeTickerTimeoutInfo(timeout);
1551
+ }
1552
+ static removeTickerTimeoutsByTag(tag, checkCanBeDeletedBeforeEnd) {
1553
+ for (let timeout in _GameWindowManager._currentTickersTimeouts) {
1554
+ let tagsWithoutTagToRemove = _GameWindowManager._currentTickersTimeouts[timeout].tags.filter((t) => t !== tag);
1555
+ if (tagsWithoutTagToRemove.length === 0) {
1556
+ let canBeDeletedBeforeEnd = _GameWindowManager._currentTickersTimeouts[timeout].canBeDeletedBeforeEnd;
1557
+ if (!checkCanBeDeletedBeforeEnd || canBeDeletedBeforeEnd) {
1558
+ _GameWindowManager.removeTickerTimeout(timeout);
1559
+ }
1560
+ } else {
1561
+ _GameWindowManager._currentTickersTimeouts[timeout].tags = tagsWithoutTagToRemove;
1562
+ }
1310
1563
  }
1311
1564
  }
1312
1565
  /**
1313
1566
  * Remove all tickers from the canvas.
1314
1567
  */
1315
- static removeTickers() {
1568
+ static removeAllTickers() {
1316
1569
  _GameWindowManager._currentTickersSteps = {};
1317
- _GameWindowManager._currentTickers.forEach((t) => {
1318
- _GameWindowManager.app.ticker.remove(t.fn);
1570
+ Object.keys(_GameWindowManager._currentTickers).forEach((id) => {
1571
+ _GameWindowManager.removeTicker(id);
1319
1572
  });
1320
- _GameWindowManager._currentTickers = [];
1321
- for (let timeout in _GameWindowManager.currentTickersTimeouts) {
1322
- _GameWindowManager.removeTickerTimeoutInfo(timeout);
1573
+ _GameWindowManager._currentTickers = {};
1574
+ for (let timeout in _GameWindowManager._currentTickersTimeouts) {
1575
+ _GameWindowManager.removeTickerTimeout(timeout);
1576
+ }
1577
+ }
1578
+ /**
1579
+ * Remove all tickers from a canvas element.
1580
+ * @param tag The tag of the canvas element that will use the ticker.
1581
+ */
1582
+ static removeTickerByCanvasElement(tag) {
1583
+ if (typeof tag === "string") {
1584
+ tag = [tag];
1585
+ }
1586
+ tag.forEach((tag2) => {
1587
+ for (let id in _GameWindowManager._currentTickers) {
1588
+ let ticker = _GameWindowManager._currentTickers[id];
1589
+ if (ticker.canvasElementTags.includes(tag2)) {
1590
+ _GameWindowManager.removeTicker(id);
1591
+ }
1592
+ }
1593
+ if (_GameWindowManager._currentTickersSteps[tag2]) {
1594
+ delete _GameWindowManager._currentTickersSteps[tag2];
1595
+ }
1596
+ _GameWindowManager.removeTickerTimeoutsByTag(tag2, false);
1597
+ delete _GameWindowManager._currentTickersSteps[tag2];
1598
+ });
1599
+ }
1600
+ static removeTickerStepByCanvasElement(tag) {
1601
+ if (_GameWindowManager._currentTickersSteps[tag]) {
1602
+ delete _GameWindowManager._currentTickersSteps[tag];
1603
+ }
1604
+ for (let id in _GameWindowManager._currentTickers) {
1605
+ let ticker = _GameWindowManager._currentTickers[id];
1606
+ if (ticker.createdByTicketStepsId === tag) {
1607
+ _GameWindowManager.removeTicker(id);
1608
+ }
1609
+ }
1610
+ }
1611
+ static removeTicker(tickerId) {
1612
+ let ticker = _GameWindowManager._currentTickers[tickerId];
1613
+ if (ticker) {
1614
+ if (ticker.args.hasOwnProperty(tagToRemoveAfter)) {
1615
+ let tagToRemoveAfter2 = ticker.args.tagToRemoveAfter;
1616
+ _GameWindowManager.removeCanvasElement(tagToRemoveAfter2);
1617
+ }
1618
+ _GameWindowManager.app.ticker.remove(ticker.fn);
1619
+ delete _GameWindowManager._currentTickers[tickerId];
1323
1620
  }
1324
1621
  }
1325
1622
  /**
@@ -1346,7 +1643,8 @@ var _GameWindowManager = class _GameWindowManager {
1346
1643
  currentElements[tag] = exportCanvasElement(_GameWindowManager._children[tag]);
1347
1644
  }
1348
1645
  return {
1349
- currentTickers: createExportableElement(_GameWindowManager._currentTickers),
1646
+ currentTickers: createExportableElement(_GameWindowManager.currentTickersWithoutCreatedBySteps),
1647
+ currentTickersSteps: createExportableElement(_GameWindowManager._currentTickersSteps),
1350
1648
  currentElements: createExportableElement(currentElements),
1351
1649
  childrenTagsOrder: createExportableElement(_GameWindowManager.childrenTagsOrder)
1352
1650
  };
@@ -1381,15 +1679,20 @@ var _GameWindowManager = class _GameWindowManager {
1381
1679
  }
1382
1680
  if (data.hasOwnProperty("currentTickers")) {
1383
1681
  let currentTickers = data["currentTickers"];
1384
- currentTickers.forEach((t) => {
1682
+ for (let id in currentTickers) {
1683
+ let t = currentTickers[id];
1385
1684
  let tags = t.canvasElementTags;
1386
- let ticker = geTickerInstanceByClassName(t.className, t.args, t.duration, t.priority);
1685
+ let ticker = geTickerInstanceById(t.id, t.args, t.duration, t.priority);
1387
1686
  if (ticker) {
1388
1687
  _GameWindowManager.addTicker(tags, ticker);
1389
1688
  } else {
1390
- console.error(`[Pixi'VN] Ticker ${t.className} not found`);
1689
+ console.error(`[Pixi'VN] Ticker ${t.id} not found`);
1391
1690
  }
1392
- });
1691
+ }
1692
+ }
1693
+ if (data.hasOwnProperty("currentTickersSteps")) {
1694
+ let currentTickersSteps = data["currentTickersSteps"];
1695
+ _GameWindowManager.restoneTickersSteps(currentTickersSteps);
1393
1696
  }
1394
1697
  } catch (e) {
1395
1698
  console.error("[Pixi'VN] Error importing data", e);
@@ -1403,9 +1706,9 @@ _GameWindowManager._children = {};
1403
1706
  * The order of the children tags.
1404
1707
  */
1405
1708
  _GameWindowManager.childrenTagsOrder = [];
1406
- _GameWindowManager._currentTickers = [];
1709
+ _GameWindowManager._currentTickers = {};
1407
1710
  _GameWindowManager._currentTickersSteps = {};
1408
- _GameWindowManager.currentTickersTimeouts = {};
1711
+ _GameWindowManager._currentTickersTimeouts = {};
1409
1712
  var GameWindowManager = _GameWindowManager;
1410
1713
 
1411
1714
  // src/classes/StoredClassModel.ts