@drincs/pixi-vn 0.6.0 → 0.6.2

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