@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,6 +1,6 @@
1
1
  import { Sprite, Container, Assets, Texture, Application, Text } from 'pixi.js';
2
2
  import 'deep-diff';
3
- import 'crypto-js/sha1';
3
+ import sha1 from 'crypto-js/sha1';
4
4
 
5
5
  var __defProp = Object.defineProperty;
6
6
  var __defProps = Object.defineProperties;
@@ -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) => {
@@ -51,138 +50,6 @@ var __async = (__this, __arguments, generator) => {
51
50
  step((generator = generator.apply(__this, __arguments)).next());
52
51
  });
53
52
  };
54
-
55
- // src/decorators/CanvasElementDecorator.ts
56
- var registeredCanvasElement = {};
57
- function getCanvasElementInstanceByClassName(canvasName) {
58
- try {
59
- let eventType = registeredCanvasElement[canvasName];
60
- if (!eventType) {
61
- if (canvasName === "CanvasContainer") {
62
- eventType = CanvasContainer;
63
- } else if (canvasName === "CanvasImage") {
64
- eventType = CanvasImage;
65
- } else if (canvasName === "CanvasSprite") {
66
- eventType = CanvasSprite;
67
- } else if (canvasName === "CanvasText") {
68
- eventType = CanvasText;
69
- }
70
- }
71
- if (!eventType) {
72
- console.error(`[Pixi'VN] CanvasElement ${canvasName} not found`);
73
- return;
74
- }
75
- let canvasElement = new eventType();
76
- return canvasElement;
77
- } catch (e) {
78
- console.error(`[Pixi'VN] Error while getting CanvasElement ${canvasName}`, e);
79
- return;
80
- }
81
- }
82
-
83
- // src/functions/CanvasUtility.ts
84
- function getTextureMemory(texture) {
85
- let sourceTexture = texture.source;
86
- let textureMemory = {
87
- image: sourceTexture.label
88
- };
89
- return textureMemory;
90
- }
91
- function exportCanvasElement(element) {
92
- return element.memory;
93
- }
94
- function importCanvasElement(memory) {
95
- let element = getCanvasElementInstanceByClassName(memory.className);
96
- if (element) {
97
- element.memory = memory;
98
- } else {
99
- throw new Error("[Pixi'VN] The element " + memory.className + " could not be created");
100
- }
101
- return element;
102
- }
103
-
104
- // src/classes/canvas/CanvasContainer.ts
105
- var CanvasContainer = class extends Container {
106
- get memory() {
107
- let memory = getMemoryContainer(this);
108
- this.children.forEach((child) => {
109
- memory.elements.push(exportCanvasElement(child));
110
- });
111
- return memory;
112
- }
113
- set memory(value) {
114
- setMemoryContainer(this, value);
115
- value.elements.forEach((child) => {
116
- this.addChild(importCanvasElement(child));
117
- });
118
- }
119
- };
120
- function getMemoryContainer(element) {
121
- return {
122
- className: "CanvasContainer",
123
- elements: [],
124
- width: element.width,
125
- height: element.height,
126
- isRenderGroup: element.isRenderGroup,
127
- blendMode: element.blendMode,
128
- tint: element.tint,
129
- alpha: element.alpha,
130
- angle: element.angle,
131
- renderable: element.renderable,
132
- rotation: element.rotation,
133
- scale: { x: element.scale.x, y: element.scale.y },
134
- pivot: { x: element.pivot.x, y: element.pivot.y },
135
- position: { x: element.position.x, y: element.position.y },
136
- skew: { x: element.skew.x, y: element.skew.y },
137
- visible: element.visible,
138
- culled: element.culled,
139
- x: element.x,
140
- y: element.y,
141
- boundsArea: element.boundsArea,
142
- cursor: element.cursor,
143
- eventMode: element.eventMode,
144
- interactive: element.interactive,
145
- interactiveChildren: element.interactiveChildren,
146
- hitArea: element.hitArea
147
- };
148
- }
149
- function setMemoryContainer(element, memory) {
150
- memory.width && (element.width = memory.width);
151
- memory.height && (element.height = memory.height);
152
- memory.isRenderGroup && (element.isRenderGroup = memory.isRenderGroup);
153
- memory.blendMode && (element.blendMode = memory.blendMode);
154
- memory.tint && (element.tint = memory.tint);
155
- memory.alpha && (element.alpha = memory.alpha);
156
- memory.angle && (element.angle = memory.angle);
157
- memory.renderable && (element.renderable = memory.renderable);
158
- memory.rotation && (element.rotation = memory.rotation);
159
- if (memory.scale) {
160
- if (typeof memory.scale === "number") {
161
- element.scale.set(memory.scale, memory.scale);
162
- } else {
163
- element.scale.set(memory.scale.x, memory.scale.y);
164
- }
165
- }
166
- if (memory.pivot) {
167
- if (typeof memory.pivot === "number") {
168
- element.pivot.set(memory.pivot, memory.pivot);
169
- } else {
170
- element.pivot.set(memory.pivot.x, memory.pivot.y);
171
- }
172
- }
173
- memory.position && element.position.set(memory.position.x, memory.position.y);
174
- memory.skew && element.skew.set(memory.skew.x, memory.skew.y);
175
- memory.visible && (element.visible = memory.visible);
176
- memory.culled && (element.culled = memory.culled);
177
- memory.x && (element.x = memory.x);
178
- memory.y && (element.y = memory.y);
179
- memory.boundsArea && (element.boundsArea = memory.boundsArea);
180
- memory.cursor && (element.cursor = memory.cursor);
181
- memory.eventMode && (element.eventMode = memory.eventMode);
182
- memory.interactive && (element.interactive = memory.interactive);
183
- memory.interactiveChildren && (element.interactiveChildren = memory.interactiveChildren);
184
- memory.hitArea && (element.hitArea = memory.hitArea);
185
- }
186
53
  function getTexture(imageUrl) {
187
54
  return __async(this, null, function* () {
188
55
  if (Assets.cache.has(imageUrl)) {
@@ -235,40 +102,43 @@ function getTextStyle(style) {
235
102
 
236
103
  // src/decorators/EventDecorator.ts
237
104
  var registeredEvents = {};
238
- function getEventTypeByClassName(eventName) {
105
+ function getEventTypeById(eventId) {
239
106
  try {
240
- let eventType = registeredEvents[eventName];
107
+ let eventType = registeredEvents[eventId];
241
108
  if (!eventType) {
242
- console.error(`[Pixi'VN] Event ${eventName} not found`);
109
+ console.error(`[Pixi'VN] Event ${eventId} not found`);
243
110
  return;
244
111
  }
245
112
  new eventType();
246
113
  return eventType;
247
114
  } catch (e) {
248
- console.error(`[Pixi'VN] Error while getting Event ${eventName}`, e);
115
+ console.error(`[Pixi'VN] Error while getting Event ${eventId}`, e);
249
116
  return;
250
117
  }
251
118
  }
252
- function getEventInstanceByClassName(eventName) {
119
+ function getEventInstanceById(eventId) {
253
120
  try {
254
- let eventType = registeredEvents[eventName];
121
+ let eventType = registeredEvents[eventId];
255
122
  if (!eventType) {
256
- console.error(`[Pixi'VN] Event ${eventName} not found`);
123
+ console.error(`[Pixi'VN] Event ${eventId} not found`);
257
124
  return;
258
125
  }
259
126
  let event = new eventType();
260
127
  return event;
261
128
  } catch (e) {
262
- console.error(`[Pixi'VN] Error while getting Event ${eventName}`, e);
129
+ console.error(`[Pixi'VN] Error while getting Event ${eventId}`, e);
263
130
  return;
264
131
  }
265
132
  }
266
133
 
267
134
  // src/classes/canvas/CanvasSprite.ts
135
+ var CANVAS_SPRITE_ID = "CanvasSprite";
268
136
  var CanvasSprite = class _CanvasSprite extends Sprite {
269
- constructor() {
270
- super(...arguments);
137
+ constructor(options) {
138
+ super(options);
139
+ this.pixivnId = CANVAS_SPRITE_ID;
271
140
  this._onEvents = {};
141
+ this.pixivnId = this.constructor.prototype.pixivnId;
272
142
  }
273
143
  get memory() {
274
144
  return getMemorySprite(this);
@@ -309,9 +179,9 @@ var CanvasSprite = class _CanvasSprite extends Sprite {
309
179
  * ```
310
180
  */
311
181
  onEvent(event, eventClass) {
312
- let className = eventClass.name;
313
- let instance = getEventInstanceByClassName(className);
314
- this._onEvents[event] = className;
182
+ let id = eventClass.prototype.id;
183
+ let instance = getEventInstanceById(id);
184
+ this._onEvents[event] = id;
315
185
  if (instance) {
316
186
  super.on(event, () => {
317
187
  instance.fn(event, this);
@@ -340,7 +210,7 @@ var CanvasSprite = class _CanvasSprite extends Sprite {
340
210
  function getMemorySprite(element) {
341
211
  let temp = getMemoryContainer(element);
342
212
  return __spreadProps(__spreadValues({}, temp), {
343
- className: "CanvasSprite",
213
+ pixivnId: element.pixivnId,
344
214
  textureImage: getTextureMemory(element.texture),
345
215
  anchor: { x: element.anchor.x, y: element.anchor.y },
346
216
  roundPixels: element.roundPixels,
@@ -363,8 +233,8 @@ function setMemorySprite(element, memory) {
363
233
  }
364
234
  memory.roundPixels && (element.roundPixels = memory.roundPixels);
365
235
  for (let event in memory.onEvents) {
366
- let className = memory.onEvents[event];
367
- let instance = getEventTypeByClassName(className);
236
+ let id = memory.onEvents[event];
237
+ let instance = getEventTypeById(id);
368
238
  if (instance) {
369
239
  element.onEvent(event, instance);
370
240
  }
@@ -372,9 +242,11 @@ function setMemorySprite(element, memory) {
372
242
  }
373
243
 
374
244
  // src/classes/canvas/CanvasImage.ts
245
+ var CANVAS_IMAGE_ID = "CanvasImage";
375
246
  var CanvasImage = class _CanvasImage extends CanvasSprite {
376
247
  constructor(options, imageLink) {
377
248
  super(options);
249
+ this.pixivnId = CANVAS_IMAGE_ID;
378
250
  this.imageLink = "";
379
251
  if (imageLink) {
380
252
  this.imageLink = imageLink;
@@ -382,12 +254,13 @@ var CanvasImage = class _CanvasImage extends CanvasSprite {
382
254
  }
383
255
  get memory() {
384
256
  return __spreadProps(__spreadValues({}, getMemorySprite(this)), {
385
- className: "CanvasImage",
386
- textureImage: { image: this.imageLink }
257
+ pixivnId: this.pixivnId,
258
+ imageLink: this.imageLink
387
259
  });
388
260
  }
389
261
  set memory(memory) {
390
262
  setMemorySprite(this, memory);
263
+ this.imageLink = memory.imageLink;
391
264
  }
392
265
  static from(source, skipCache) {
393
266
  let sprite = Sprite.from(source, skipCache);
@@ -415,10 +288,13 @@ var CanvasImage = class _CanvasImage extends CanvasSprite {
415
288
  });
416
289
  }
417
290
  };
291
+ var CANVAS_TEXT_ID = "CanvasText";
418
292
  var CanvasText = class extends Text {
419
- constructor() {
420
- super(...arguments);
293
+ constructor(options) {
294
+ super(options);
295
+ this.pixivnId = CANVAS_TEXT_ID;
421
296
  this._onEvents = {};
297
+ this.pixivnId = this.constructor.prototype.pixivnId;
422
298
  }
423
299
  get memory() {
424
300
  return getMemoryText(this);
@@ -459,9 +335,9 @@ var CanvasText = class extends Text {
459
335
  * ```
460
336
  */
461
337
  onEvent(event, eventClass) {
462
- let className = eventClass.name;
463
- let instance = getEventInstanceByClassName(className);
464
- this._onEvents[event] = className;
338
+ let id = eventClass.prototype.id;
339
+ let instance = getEventInstanceById(id);
340
+ this._onEvents[event] = id;
465
341
  if (instance) {
466
342
  super.on(event, () => {
467
343
  instance.fn(event, this);
@@ -484,7 +360,7 @@ var CanvasText = class extends Text {
484
360
  function getMemoryText(element) {
485
361
  let temp = getMemoryContainer(element);
486
362
  return __spreadProps(__spreadValues({}, temp), {
487
- className: "CanvasText",
363
+ pixivnId: element.pixivnId,
488
364
  anchor: { x: element.anchor.x, y: element.anchor.y },
489
365
  text: element.text,
490
366
  resolution: element.resolution,
@@ -507,55 +383,206 @@ function setMemoryText(element, memory) {
507
383
  memory.style && (element.style = memory.style);
508
384
  memory.roundPixels && (element.roundPixels = memory.roundPixels);
509
385
  for (let event in memory.onEvents) {
510
- let className = memory.onEvents[event];
511
- let instance = getEventTypeByClassName(className);
386
+ let id = memory.onEvents[event];
387
+ let instance = getEventTypeById(id);
512
388
  if (instance) {
513
389
  element.onEvent(event, instance);
514
390
  }
515
391
  }
516
392
  }
517
393
 
394
+ // src/decorators/CanvasElementDecorator.ts
395
+ var registeredCanvasElement = {};
396
+ function getCanvasElementInstanceById(canvasId) {
397
+ try {
398
+ let eventType = registeredCanvasElement[canvasId];
399
+ if (!eventType) {
400
+ if (canvasId === CANVAS_CONTAINER_ID) {
401
+ eventType = CanvasContainer;
402
+ } else if (canvasId === CANVAS_IMAGE_ID) {
403
+ eventType = CanvasImage;
404
+ } else if (canvasId === CANVAS_SPRITE_ID) {
405
+ eventType = CanvasSprite;
406
+ } else if (canvasId === CANVAS_TEXT_ID) {
407
+ eventType = CanvasText;
408
+ }
409
+ }
410
+ if (!eventType) {
411
+ console.error(`[Pixi'VN] CanvasElement ${canvasId} not found`);
412
+ return;
413
+ }
414
+ let canvasElement = new eventType();
415
+ return canvasElement;
416
+ } catch (e) {
417
+ console.error(`[Pixi'VN] Error while getting CanvasElement ${canvasId}`, e);
418
+ return;
419
+ }
420
+ }
421
+
422
+ // src/functions/CanvasUtility.ts
423
+ function getTextureMemory(texture) {
424
+ let sourceTexture = texture.source;
425
+ let textureMemory = {
426
+ image: sourceTexture.label
427
+ };
428
+ return textureMemory;
429
+ }
430
+ function exportCanvasElement(element) {
431
+ return element.memory;
432
+ }
433
+ function importCanvasElement(memory) {
434
+ let element = getCanvasElementInstanceById(memory.pixivnId);
435
+ if (element) {
436
+ element.memory = memory;
437
+ } else {
438
+ throw new Error("[Pixi'VN] The element " + memory.pixivnId + " could not be created");
439
+ }
440
+ return element;
441
+ }
442
+
443
+ // src/classes/canvas/CanvasContainer.ts
444
+ var CANVAS_CONTAINER_ID = "CanvasContainer";
445
+ var CanvasContainer = class extends Container {
446
+ constructor(options) {
447
+ super(options);
448
+ this.pixivnId = CANVAS_CONTAINER_ID;
449
+ this.pixivnId = this.constructor.prototype.pixivnId;
450
+ }
451
+ get memory() {
452
+ let memory = getMemoryContainer(this);
453
+ this.children.forEach((child) => {
454
+ memory.elements.push(exportCanvasElement(child));
455
+ });
456
+ return memory;
457
+ }
458
+ set memory(value) {
459
+ setMemoryContainer(this, value);
460
+ value.elements.forEach((child) => {
461
+ this.addChild(importCanvasElement(child));
462
+ });
463
+ }
464
+ };
465
+ function getMemoryContainer(element) {
466
+ let className = "CanvasContainer";
467
+ if (element.hasOwnProperty("pixivnId")) {
468
+ className = element.pixivnId;
469
+ }
470
+ return {
471
+ pixivnId: className,
472
+ elements: [],
473
+ width: element.width,
474
+ height: element.height,
475
+ isRenderGroup: element.isRenderGroup,
476
+ blendMode: element.blendMode,
477
+ tint: element.tint,
478
+ alpha: element.alpha,
479
+ angle: element.angle,
480
+ renderable: element.renderable,
481
+ rotation: element.rotation,
482
+ scale: { x: element.scale.x, y: element.scale.y },
483
+ pivot: { x: element.pivot.x, y: element.pivot.y },
484
+ position: { x: element.position.x, y: element.position.y },
485
+ skew: { x: element.skew.x, y: element.skew.y },
486
+ visible: element.visible,
487
+ culled: element.culled,
488
+ x: element.x,
489
+ y: element.y,
490
+ boundsArea: element.boundsArea,
491
+ cursor: element.cursor,
492
+ eventMode: element.eventMode,
493
+ interactive: element.interactive,
494
+ interactiveChildren: element.interactiveChildren,
495
+ hitArea: element.hitArea
496
+ };
497
+ }
498
+ function setMemoryContainer(element, memory) {
499
+ memory.width && (element.width = memory.width);
500
+ memory.height && (element.height = memory.height);
501
+ memory.isRenderGroup && (element.isRenderGroup = memory.isRenderGroup);
502
+ memory.blendMode && (element.blendMode = memory.blendMode);
503
+ memory.tint && (element.tint = memory.tint);
504
+ memory.alpha && (element.alpha = memory.alpha);
505
+ memory.angle && (element.angle = memory.angle);
506
+ memory.renderable && (element.renderable = memory.renderable);
507
+ memory.rotation && (element.rotation = memory.rotation);
508
+ if (memory.scale) {
509
+ if (typeof memory.scale === "number") {
510
+ element.scale.set(memory.scale, memory.scale);
511
+ } else {
512
+ element.scale.set(memory.scale.x, memory.scale.y);
513
+ }
514
+ }
515
+ if (memory.pivot) {
516
+ if (typeof memory.pivot === "number") {
517
+ element.pivot.set(memory.pivot, memory.pivot);
518
+ } else {
519
+ element.pivot.set(memory.pivot.x, memory.pivot.y);
520
+ }
521
+ }
522
+ memory.position && element.position.set(memory.position.x, memory.position.y);
523
+ memory.skew && element.skew.set(memory.skew.x, memory.skew.y);
524
+ memory.visible && (element.visible = memory.visible);
525
+ memory.culled && (element.culled = memory.culled);
526
+ memory.x && (element.x = memory.x);
527
+ memory.y && (element.y = memory.y);
528
+ memory.boundsArea && (element.boundsArea = memory.boundsArea);
529
+ memory.cursor && (element.cursor = memory.cursor);
530
+ memory.eventMode && (element.eventMode = memory.eventMode);
531
+ memory.interactive && (element.interactive = memory.interactive);
532
+ memory.interactiveChildren && (element.interactiveChildren = memory.interactiveChildren);
533
+ memory.hitArea && (element.hitArea = memory.hitArea);
534
+ }
535
+
536
+ // src/constants.ts
537
+ var Repeat = "repeat";
538
+ function Pause(duration) {
539
+ return {
540
+ type: "pause",
541
+ duration
542
+ };
543
+ }
544
+
545
+ // src/functions/ExportUtility.ts
546
+ function createExportableElement(element) {
547
+ try {
548
+ let elementString = JSON.stringify(element);
549
+ return JSON.parse(elementString);
550
+ } catch (e) {
551
+ console.error("[Pixi'VN] Error creating exportable element", e);
552
+ throw new Error("[Pixi'VN] Error creating exportable element");
553
+ }
554
+ }
555
+
518
556
  // src/classes/ticker/TickerBase.ts
519
557
  var TickerBase = class {
520
558
  /**
521
559
  * @param args The arguments that you want to pass to the ticker.
522
- * @param duration The duration of the ticker. If is undefined, the ticker will be called every frame.
523
- * @param priority The priority of the ticker. If is undefined, the priority will be UPDATE_PRIORITY.NORMAL.
560
+ * @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
561
+ * @param priority The priority of the ticker. @default UPDATE_PRIORITY.NORMAL
524
562
  */
525
563
  constructor(args, duration, priority) {
564
+ /**
565
+ * Get the id of the ticker. This variable is used in the system to get the ticker by id, {@link geTickerInstanceById}
566
+ */
567
+ this.id = "ticker_id_not_set";
526
568
  this.args = args;
527
569
  this.duration = duration;
528
570
  this.priority = priority;
571
+ this.id = this.constructor.prototype.id;
529
572
  }
530
573
  /**
531
574
  * The method that will be called every frame.
532
575
  * This method should be overridden and you can use GameWindowManager.addCanvasElement() to get the canvas element of the canvas, and edit them.
533
- * @param t The ticker that is calling this method
534
- * @param args The arguments that you passed when you added the ticker
535
- * @param tags The tags of the canvas elements that are connected to this ticker
576
+ * @param _ticker The ticker that is calling this method
577
+ * @param _args The arguments that you passed when you added the ticker
578
+ * @param _tags The tags of the canvas elements that are connected to this ticker
579
+ * @param _tickerId The id of the ticker. You can use this to get the ticker from the {@link GameWindowManager.currentTickers}
536
580
  */
537
- fn(_t, _args, _tags) {
581
+ fn(_ticker, _args, _tags, _tickerId) {
538
582
  throw new Error("[Pixi'VN] The method TickerBase.fn() must be overridden");
539
583
  }
540
584
  };
541
585
 
542
- // src/types/PauseType.ts
543
- var PauseValueType = "pause";
544
-
545
- // src/types/RepeatType.ts
546
- var Repeat = "repeat";
547
-
548
- // src/functions/ExportUtility.ts
549
- function createExportableElement(element) {
550
- try {
551
- let elementString = JSON.stringify(element);
552
- return JSON.parse(elementString);
553
- } catch (e) {
554
- console.error("[Pixi'VN] Error creating exportable element", e);
555
- throw new Error("[Pixi'VN] Error creating exportable element");
556
- }
557
- }
558
-
559
586
  // src/decorators/TickerDecorator.ts
560
587
  var registeredTickers = {};
561
588
  function tickerDecorator(name) {
@@ -564,21 +591,22 @@ function tickerDecorator(name) {
564
591
  name = target.name;
565
592
  }
566
593
  if (registeredTickers[name]) {
567
- console.warn(`[Pixi'VN] Ticker ${name} already exists, it will be overwritten`);
594
+ console.info(`[Pixi'VN] Ticker ${name} already exists, it will be overwritten`);
568
595
  }
596
+ target.prototype.id = name;
569
597
  registeredTickers[name] = target;
570
598
  };
571
599
  }
572
- function geTickerInstanceByClassName(tickerName, args, duration, priority) {
600
+ function geTickerInstanceById(tickerId, args, duration, priority) {
573
601
  try {
574
- let ticker = registeredTickers[tickerName];
602
+ let ticker = registeredTickers[tickerId];
575
603
  if (!ticker) {
576
- console.error(`[Pixi'VN] Ticker ${tickerName} not found`);
604
+ console.error(`[Pixi'VN] Ticker ${tickerId} not found`);
577
605
  return;
578
606
  }
579
607
  return new ticker(args, duration, priority);
580
608
  } catch (e) {
581
- console.error(`[Pixi'VN] Error while getting Ticker ${tickerName}`, e);
609
+ console.error(`[Pixi'VN] Error while getting Ticker ${tickerId}`, e);
582
610
  return;
583
611
  }
584
612
  }
@@ -594,6 +622,9 @@ function asciiArtLog() {
594
622
  `);
595
623
  }
596
624
 
625
+ // src/types/ticker/TagToRemoveAfterType.ts
626
+ var tagToRemoveAfter = "tagToRemoveAfter";
627
+
597
628
  // src/managers/WindowManager.ts
598
629
  var _GameWindowManager = class _GameWindowManager {
599
630
  constructor() {
@@ -776,25 +807,25 @@ var _GameWindowManager = class _GameWindowManager {
776
807
  /**
777
808
  * Remove a canvas element from the canvas.
778
809
  * And remove all tickers that are not connected to any canvas element.
779
- * @param tag The tag of the canvas element to be removed.
810
+ * @param tags The tag of the canvas element to be removed.
780
811
  * @returns
781
812
  * @example
782
813
  * ```typescript
783
814
  * GameWindowManager.removeCanvasElement("bunny");
784
815
  * ```
785
816
  */
786
- static removeCanvasElement(tag) {
787
- if (typeof tag === "string") {
788
- tag = [tag];
817
+ static removeCanvasElement(tags) {
818
+ if (typeof tags === "string") {
819
+ tags = [tags];
789
820
  }
790
- tag.forEach((t) => {
791
- if (_GameWindowManager._children[t]) {
792
- _GameWindowManager.app.stage.removeChild(_GameWindowManager._children[t]);
793
- delete _GameWindowManager._children[t];
821
+ tags.forEach((tag) => {
822
+ if (_GameWindowManager._children[tag]) {
823
+ _GameWindowManager.app.stage.removeChild(_GameWindowManager._children[tag]);
824
+ delete _GameWindowManager._children[tag];
825
+ _GameWindowManager.removeTickerByCanvasElement(tag);
794
826
  }
795
827
  });
796
- _GameWindowManager.removeTickersWithoutAssociatedCanvasElement();
797
- _GameWindowManager.childrenTagsOrder = _GameWindowManager.childrenTagsOrder.filter((t) => !tag.includes(t));
828
+ _GameWindowManager.childrenTagsOrder = _GameWindowManager.childrenTagsOrder.filter((t) => !tags.includes(t));
798
829
  }
799
830
  /**
800
831
  * Get a canvas element by the tag.
@@ -824,18 +855,43 @@ var _GameWindowManager = class _GameWindowManager {
824
855
  _GameWindowManager.app.stage.removeChildren();
825
856
  _GameWindowManager._children = {};
826
857
  _GameWindowManager.childrenTagsOrder = [];
827
- _GameWindowManager.removeTickers();
858
+ _GameWindowManager.removeAllTickers();
828
859
  }
829
860
  /**
830
861
  * Edit the tag of a canvas element.
831
862
  * @param oldTag The old tag of the canvas element.
832
863
  * @param newTag The new tag of the canvas element.
833
864
  */
834
- static editTagCanvasElement(oldTag, newTag) {
865
+ static editCanvasElementTag(oldTag, newTag) {
835
866
  if (_GameWindowManager._children[oldTag]) {
836
867
  _GameWindowManager._children[newTag] = _GameWindowManager._children[oldTag];
837
868
  delete _GameWindowManager._children[oldTag];
838
869
  }
870
+ if (_GameWindowManager._currentTickersSteps[oldTag]) {
871
+ _GameWindowManager._currentTickersSteps[newTag] = _GameWindowManager._currentTickersSteps[oldTag];
872
+ delete _GameWindowManager._currentTickersSteps[oldTag];
873
+ }
874
+ for (let id in _GameWindowManager._currentTickers) {
875
+ let ticker = _GameWindowManager._currentTickers[id];
876
+ if (ticker.canvasElementTags.includes(oldTag)) {
877
+ ticker.canvasElementTags = ticker.canvasElementTags.map((t) => t === oldTag ? newTag : t);
878
+ if (ticker.args.hasOwnProperty(tagToRemoveAfter)) {
879
+ let tagToRemoveAfter2 = ticker.args.tagToRemoveAfter;
880
+ if (typeof tagToRemoveAfter2 === "string") {
881
+ tagToRemoveAfter2 = [tagToRemoveAfter2];
882
+ }
883
+ if (Array.isArray(tagToRemoveAfter2)) {
884
+ ticker.args.tagToRemoveAfter = tagToRemoveAfter2.map((t) => t === oldTag ? newTag : t);
885
+ }
886
+ }
887
+ }
888
+ }
889
+ for (let timeout in _GameWindowManager._currentTickersTimeouts) {
890
+ let TickerTimeout = _GameWindowManager._currentTickersTimeouts[timeout];
891
+ if (TickerTimeout.tags.includes(oldTag)) {
892
+ TickerTimeout.tags = TickerTimeout.tags.map((t) => t === oldTag ? newTag : t);
893
+ }
894
+ }
839
895
  }
840
896
  /** Edit Tickers Methods */
841
897
  /**
@@ -844,106 +900,127 @@ var _GameWindowManager = class _GameWindowManager {
844
900
  static get currentTickers() {
845
901
  return _GameWindowManager._currentTickers;
846
902
  }
903
+ static get currentTickersList() {
904
+ return Object.values(_GameWindowManager._currentTickers);
905
+ }
906
+ static get currentTickersWithoutCreatedBySteps() {
907
+ return Object.fromEntries(Object.entries(_GameWindowManager._currentTickers).filter(([_, ticker]) => !ticker.createdByTicketStepsId));
908
+ }
847
909
  /**
848
910
  * The steps of the tickers
849
911
  */
850
912
  static get currentTickersSteps() {
851
913
  return _GameWindowManager._currentTickersSteps;
852
914
  }
915
+ static generateTickerId(tickerData) {
916
+ try {
917
+ return sha1(JSON.stringify(tickerData)).toString() + "_" + Math.random().toString(36).substring(7);
918
+ } catch (e) {
919
+ throw new Error(`[Pixi'VN] Error to generate ticker id: ${e}`);
920
+ }
921
+ }
853
922
  /**
854
- * Run a ticker.
923
+ * Run a ticker. You can run multiple addTicker with the same tag and different tickerClasses.
924
+ * If you run a ticker with the same tag and tickerClass, the old ticker will be removed.
925
+ * If already exists a sequence of tickers with the same tag, it will be removed.
855
926
  * @param canvasEslementTag The tag of the canvas element that will use the ticker.
856
927
  * @param ticker The ticker class to be run.
857
928
  * @param args The arguments to be used in the ticker.
858
- * @param duration The time to be used in the ticker. This number is in milliseconds. If it is undefined, the ticker will run forever.
929
+ * @param duration The time to be used in the ticker. This number is in seconds. If it is undefined, the ticker will run forever.
859
930
  * @param priority The priority to be used in the ticker.
860
931
  * @returns
861
932
  * @example
862
933
  * ```typescript
863
- * GameWindowManager.addTicker("alien", new TickerRotate({ speed: 0.2 }))
934
+ * GameWindowManager.addTicker("alien", new RotateTicker({ speed: 0.2 }))
864
935
  * ```
865
936
  */
866
937
  static addTicker(canvasElementTag, ticker) {
867
- let tickerName = ticker.constructor.name;
938
+ let tickerId = ticker.id;
868
939
  if (typeof canvasElementTag === "string") {
869
940
  canvasElementTag = [canvasElementTag];
870
941
  }
871
- let t = geTickerInstanceByClassName(tickerName, ticker.args, ticker.duration, ticker.priority);
872
- if (!t) {
873
- console.error(`[Pixi'VN] Ticker ${tickerName} not found`);
942
+ if (!geTickerInstanceById(tickerId, ticker.args, ticker.duration, ticker.priority)) {
943
+ console.error(`[Pixi'VN] Ticker ${tickerId} not found`);
874
944
  return;
875
945
  }
876
- _GameWindowManager.removeAssociationBetweenTickerCanvasElement(canvasElementTag, ticker);
877
946
  let tickerHistory = {
878
947
  fn: () => {
879
948
  },
880
- className: tickerName,
881
- args: ticker.args,
949
+ id: tickerId,
950
+ args: createExportableElement(ticker.args),
882
951
  canvasElementTags: canvasElementTag,
883
952
  priority: ticker.priority,
884
953
  duration: ticker.duration
885
954
  };
886
- _GameWindowManager.pushTicker(tickerHistory, t);
887
- _GameWindowManager.removeTickersWithoutAssociatedCanvasElement();
955
+ let id = _GameWindowManager.generateTickerId(tickerHistory);
956
+ _GameWindowManager.pushTicker(id, tickerHistory, ticker);
888
957
  if (ticker.duration) {
889
958
  let timeout = setTimeout(() => {
890
959
  _GameWindowManager.removeTickerTimeoutInfo(timeout);
891
- _GameWindowManager.nextTickerStep(canvasElementTag);
892
- }, ticker.duration);
893
- _GameWindowManager.addTickerTimeoutInfo(canvasElementTag, tickerName, timeout.toString());
960
+ let tickerTimeoutInfo = _GameWindowManager._currentTickersTimeouts[timeout.toString()];
961
+ if (tickerTimeoutInfo) {
962
+ _GameWindowManager.removeTicker(id);
963
+ }
964
+ }, ticker.duration * 1e3);
965
+ _GameWindowManager.addTickerTimeoutInfo(canvasElementTag, tickerId, timeout.toString(), true);
894
966
  }
895
967
  }
896
- static pushTicker(tickerData, ticker) {
897
- _GameWindowManager.removeAssociationBetweenTickerCanvasElement(tickerData.canvasElementTags, tickerData);
898
- _GameWindowManager._currentTickers.push(tickerData);
968
+ static pushTicker(id, tickerData, ticker) {
969
+ _GameWindowManager.removeAssociationBetweenTickerCanvasElement(tickerData.canvasElementTags, ticker);
970
+ _GameWindowManager._currentTickers[id] = tickerData;
899
971
  tickerData.fn = (t) => {
900
- ticker == null ? void 0 : ticker.fn(t, tickerData.args, tickerData.canvasElementTags);
972
+ let data = _GameWindowManager._currentTickers[id];
973
+ if (data) {
974
+ ticker == null ? void 0 : ticker.fn(t, data.args, data.canvasElementTags, id);
975
+ }
901
976
  };
902
977
  _GameWindowManager.app.ticker.add(tickerData.fn, void 0, tickerData.priority);
903
978
  }
904
979
  /**
905
- * Run a sequence of tickers.
980
+ * Run a sequence of tickers. If exists a ticker steps with the same tag, it will be removed.
906
981
  * @param tag The tag of canvas element that will use the tickers.
907
982
  * @param steps The steps of the tickers.
983
+ * @param currentStepNumber The current step number. It is used to continue the sequence of tickers.
908
984
  * @returns
909
985
  * @example
910
986
  * ```typescript
911
987
  * GameWindowManager.addTickersSteps("alien", [
912
- * new TickerRotate({ speed: 0.1, clockwise: true }, 2000),
913
- * Pause(500),
914
- * new TickerRotate({ speed: 0.2, clockwise: false }, 2000),
988
+ * new RotateTicker({ speed: 0.1, clockwise: true }, 2), // 2 seconds
989
+ * Pause(1), // 1 second
990
+ * new RotateTicker({ speed: 0.2, clockwise: false }, 2),
915
991
  * Repeat,
916
992
  * ])
917
993
  * ```
918
994
  */
919
- static addTickersSteps(tag, steps) {
995
+ static addTickersSteps(tag, steps, currentStepNumber = 0) {
920
996
  if (steps.length == 0) {
921
997
  console.warn("[Pixi'VN] The steps of the tickers is empty");
922
998
  return;
923
999
  }
924
- let alredyExists = _GameWindowManager._currentTickersSteps[tag] !== void 0;
1000
+ _GameWindowManager.removeTickerStepByCanvasElement(tag);
925
1001
  _GameWindowManager._currentTickersSteps[tag] = {
926
- currentStepNumber: 0,
927
- steps: steps.map((s) => {
928
- if (s === Repeat) {
929
- return s;
930
- }
931
- if (!s.duration) {
932
- console.warn("[Pixi'VN] Duration is not defined, so it will be set to 1000");
933
- s.duration = 1e3;
1002
+ currentStepNumber,
1003
+ steps: steps.map((step) => {
1004
+ if (step === Repeat) {
1005
+ return step;
934
1006
  }
935
- if (s.hasOwnProperty("type") && s.type === PauseValueType) {
936
- return s;
1007
+ if (step.hasOwnProperty("type") && step.type === "pause") {
1008
+ return step;
937
1009
  }
938
- let tickerName = s.constructor.name;
1010
+ let tickerId = step.id;
939
1011
  return {
940
- ticker: tickerName,
941
- args: s.args,
942
- duration: s.duration
1012
+ ticker: tickerId,
1013
+ args: createExportableElement(step.args),
1014
+ duration: step.duration
943
1015
  };
944
1016
  })
945
1017
  };
946
- if (!alredyExists) {
1018
+ _GameWindowManager.runTickersSteps(tag);
1019
+ }
1020
+ static restoneTickersSteps(data) {
1021
+ for (let tag in data) {
1022
+ let steps = data[tag];
1023
+ _GameWindowManager._currentTickersSteps[tag] = steps;
947
1024
  _GameWindowManager.runTickersSteps(tag);
948
1025
  }
949
1026
  }
@@ -957,70 +1034,106 @@ var _GameWindowManager = class _GameWindowManager {
957
1034
  return;
958
1035
  }
959
1036
  }
960
- if (step.hasOwnProperty("type") && step.type === PauseValueType) {
1037
+ if (step.hasOwnProperty("type") && step.type === "pause") {
961
1038
  let timeout = setTimeout(() => {
1039
+ let tickerTimeoutInfo = _GameWindowManager._currentTickersTimeouts[timeout.toString()];
1040
+ if (tickerTimeoutInfo) {
1041
+ tickerTimeoutInfo.tags.forEach((tag2) => {
1042
+ _GameWindowManager.nextTickerStep(tag2);
1043
+ });
1044
+ }
962
1045
  _GameWindowManager.removeTickerTimeoutInfo(timeout);
963
- _GameWindowManager.nextTickerStep(tag);
964
- }, step.duration);
965
- _GameWindowManager.addTickerTimeoutInfo(tag, "steps", timeout.toString());
1046
+ }, step.duration * 1e3);
1047
+ _GameWindowManager.addTickerTimeoutInfo(tag, "steps", timeout.toString(), false);
966
1048
  return;
967
1049
  }
968
- let ticker = geTickerInstanceByClassName(step.ticker, step.args, step.duration, step.priority);
1050
+ let ticker = geTickerInstanceById(step.ticker, step.args, step.duration, step.priority);
969
1051
  if (!ticker) {
970
1052
  console.error(`[Pixi'VN] Ticker ${step.ticker} not found`);
971
1053
  return;
972
1054
  }
973
- _GameWindowManager.addTicker(tag, ticker);
1055
+ let tickerName = ticker.id;
1056
+ let tickerHistory = {
1057
+ fn: () => {
1058
+ },
1059
+ id: tickerName,
1060
+ args: createExportableElement(ticker.args),
1061
+ canvasElementTags: [tag],
1062
+ priority: ticker.priority,
1063
+ duration: ticker.duration,
1064
+ createdByTicketStepsId: tag
1065
+ };
1066
+ let id = _GameWindowManager.generateTickerId(tickerHistory);
1067
+ _GameWindowManager.pushTicker(id, tickerHistory, ticker);
1068
+ if (ticker.duration) {
1069
+ let timeout = setTimeout(() => {
1070
+ let tickerTimeoutInfo = _GameWindowManager._currentTickersTimeouts[timeout.toString()];
1071
+ if (tickerTimeoutInfo) {
1072
+ _GameWindowManager.removeTicker(id);
1073
+ tickerTimeoutInfo.tags.forEach((tag2) => {
1074
+ _GameWindowManager.nextTickerStep(tag2);
1075
+ });
1076
+ }
1077
+ _GameWindowManager.removeTickerTimeoutInfo(timeout);
1078
+ }, ticker.duration * 1e3);
1079
+ _GameWindowManager.addTickerTimeoutInfo(tag, tickerName, timeout.toString(), false);
1080
+ }
974
1081
  }
975
1082
  static nextTickerStep(tag) {
976
- if (typeof tag === "string") {
977
- tag = [tag];
1083
+ if (_GameWindowManager._currentTickersSteps[tag]) {
1084
+ let steps = _GameWindowManager._currentTickersSteps[tag];
1085
+ if (steps.currentStepNumber + 1 < steps.steps.length) {
1086
+ steps.currentStepNumber++;
1087
+ _GameWindowManager._currentTickersSteps[tag] = steps;
1088
+ _GameWindowManager.runTickersSteps(tag);
1089
+ } else {
1090
+ _GameWindowManager.removeTickerStepByCanvasElement(tag);
1091
+ }
978
1092
  }
979
- tag.forEach((tag2) => {
980
- if (_GameWindowManager._currentTickersSteps[tag2]) {
981
- let steps = _GameWindowManager._currentTickersSteps[tag2];
982
- if (steps.currentStepNumber + 1 < steps.steps.length) {
983
- steps.currentStepNumber++;
984
- _GameWindowManager._currentTickersSteps[tag2] = steps;
985
- _GameWindowManager.runTickersSteps(tag2);
986
- } else {
987
- delete _GameWindowManager._currentTickersSteps[tag2];
988
- }
1093
+ }
1094
+ static onEndOfTicker(canvasElementTags, ticker, canvasElementTagsToDelete, tickerId) {
1095
+ let tickerData = _GameWindowManager._currentTickers[tickerId];
1096
+ _GameWindowManager.removeAssociationBetweenTickerCanvasElement(canvasElementTags, ticker);
1097
+ _GameWindowManager.removeCanvasElement(canvasElementTagsToDelete);
1098
+ if (tickerData) {
1099
+ _GameWindowManager.removeTicker(tickerId);
1100
+ if (tickerData.duration == void 0 && tickerData.createdByTicketStepsId) {
1101
+ _GameWindowManager.nextTickerStep(tickerData.createdByTicketStepsId);
989
1102
  }
990
- });
1103
+ }
991
1104
  }
992
1105
  /**
993
1106
  * Remove a connection between a canvas element and a ticker.
994
1107
  * And remove the ticker if there is no canvas element connected to it.
995
- * @param tag The tag of the canvas element that will use the ticker.
1108
+ * @param tags The tag of the canvas element that will use the ticker.
996
1109
  * @param ticker The ticker class to be removed.
997
1110
  * @example
998
1111
  * ```typescript
999
- * GameWindowManager.removeAssociationBetweenTickerCanvasElement("alien", TickerRotate)
1112
+ * GameWindowManager.removeAssociationBetweenTickerCanvasElement("alien", RotateTicker)
1000
1113
  * ```
1001
1114
  */
1002
- static removeAssociationBetweenTickerCanvasElement(tag, ticker) {
1003
- let tickerName;
1004
- if (ticker instanceof TickerBase) {
1005
- tickerName = ticker.constructor.name;
1115
+ static removeAssociationBetweenTickerCanvasElement(tags, ticker) {
1116
+ let tickerId;
1117
+ if (typeof ticker === "string") {
1118
+ tickerId = ticker;
1119
+ } else if (ticker instanceof TickerBase) {
1120
+ tickerId = ticker.id;
1006
1121
  } else {
1007
- tickerName = ticker.name;
1122
+ tickerId = ticker.prototype.id;
1008
1123
  }
1009
- if (typeof tag === "string") {
1010
- tag = [tag];
1124
+ if (typeof tags === "string") {
1125
+ tags = [tags];
1011
1126
  }
1012
- _GameWindowManager._currentTickers = _GameWindowManager._currentTickers.map((t) => {
1013
- if (t.className === tickerName) {
1014
- t.canvasElementTags = t.canvasElementTags.filter((e) => !tag.includes(e));
1127
+ for (let id in _GameWindowManager._currentTickers) {
1128
+ let ticker2 = _GameWindowManager._currentTickers[id];
1129
+ if (ticker2.id === tickerId) {
1130
+ _GameWindowManager._currentTickers[id].canvasElementTags = ticker2.canvasElementTags.filter((e) => !tags.includes(e));
1015
1131
  }
1016
- return t;
1017
- });
1018
- for (let timeout in _GameWindowManager.currentTickersTimeouts) {
1019
- let t = _GameWindowManager.currentTickersTimeouts[timeout].tags.filter((e) => !tag.includes(e));
1020
- if (t.length == 0) {
1021
- _GameWindowManager.removeTickerTimeoutInfo(timeout);
1022
- } else {
1023
- _GameWindowManager.currentTickersTimeouts[timeout].tags = t;
1132
+ }
1133
+ for (let timeout in _GameWindowManager._currentTickersTimeouts) {
1134
+ let TickerTimeout = _GameWindowManager._currentTickersTimeouts[timeout];
1135
+ if (TickerTimeout.ticker === tickerId && TickerTimeout.canBeDeletedBeforeEnd) {
1136
+ _GameWindowManager._currentTickersTimeouts[timeout].tags = TickerTimeout.tags.filter((t) => !tags.includes(t));
1024
1137
  }
1025
1138
  }
1026
1139
  _GameWindowManager.removeTickersWithoutAssociatedCanvasElement();
@@ -1029,49 +1142,117 @@ var _GameWindowManager = class _GameWindowManager {
1029
1142
  * Remove all tickers that are not connected to any existing canvas element.
1030
1143
  */
1031
1144
  static removeTickersWithoutAssociatedCanvasElement() {
1032
- let currentTickers = _GameWindowManager._currentTickers.map((t) => {
1033
- t.canvasElementTags = t.canvasElementTags.filter((e) => _GameWindowManager._children[e]);
1034
- return t;
1035
- });
1036
- currentTickers.filter((t) => t.canvasElementTags.length === 0).forEach((t) => {
1037
- _GameWindowManager.app.ticker.remove(t.fn);
1038
- });
1039
- currentTickers = currentTickers.filter((t) => t.canvasElementTags.length > 0);
1040
- _GameWindowManager._currentTickers = currentTickers;
1145
+ for (let id in _GameWindowManager._currentTickers) {
1146
+ let ticker = _GameWindowManager._currentTickers[id];
1147
+ ticker.canvasElementTags = ticker.canvasElementTags.filter((e) => _GameWindowManager._children[e]);
1148
+ if (ticker.canvasElementTags.length === 0) {
1149
+ _GameWindowManager.removeTicker(id);
1150
+ }
1151
+ }
1041
1152
  for (let tag in _GameWindowManager._currentTickersSteps) {
1042
1153
  if (_GameWindowManager._children[tag] === void 0) {
1043
1154
  delete _GameWindowManager._currentTickersSteps[tag];
1044
1155
  }
1045
1156
  }
1157
+ Object.entries(_GameWindowManager._currentTickersTimeouts).forEach(([timeout, { tags }]) => {
1158
+ if (tags.length === 0) {
1159
+ _GameWindowManager.removeTickerTimeout(timeout);
1160
+ }
1161
+ });
1046
1162
  }
1047
- static addTickerTimeoutInfo(tags, ticker, timeout) {
1163
+ static addTickerTimeoutInfo(tags, ticker, timeout, canBeDeletedBeforeEnd) {
1048
1164
  if (typeof tags === "string") {
1049
1165
  tags = [tags];
1050
1166
  }
1051
- _GameWindowManager.currentTickersTimeouts[timeout] = {
1167
+ _GameWindowManager._currentTickersTimeouts[timeout] = {
1052
1168
  tags,
1053
- ticker
1169
+ ticker,
1170
+ canBeDeletedBeforeEnd
1054
1171
  };
1055
1172
  }
1056
1173
  static removeTickerTimeoutInfo(timeout) {
1057
1174
  if (typeof timeout !== "string") {
1058
1175
  timeout = timeout.toString();
1059
1176
  }
1060
- if (_GameWindowManager.currentTickersTimeouts[timeout]) {
1061
- delete _GameWindowManager.currentTickersTimeouts[timeout];
1177
+ if (_GameWindowManager._currentTickersTimeouts[timeout]) {
1178
+ delete _GameWindowManager._currentTickersTimeouts[timeout];
1179
+ }
1180
+ }
1181
+ static removeTickerTimeout(timeout) {
1182
+ if (typeof timeout !== "string") {
1183
+ timeout = timeout.toString();
1184
+ }
1185
+ clearTimeout(Number(timeout));
1186
+ _GameWindowManager.removeTickerTimeoutInfo(timeout);
1187
+ }
1188
+ static removeTickerTimeoutsByTag(tag, checkCanBeDeletedBeforeEnd) {
1189
+ for (let timeout in _GameWindowManager._currentTickersTimeouts) {
1190
+ let tagsWithoutTagToRemove = _GameWindowManager._currentTickersTimeouts[timeout].tags.filter((t) => t !== tag);
1191
+ if (tagsWithoutTagToRemove.length === 0) {
1192
+ let canBeDeletedBeforeEnd = _GameWindowManager._currentTickersTimeouts[timeout].canBeDeletedBeforeEnd;
1193
+ if (!checkCanBeDeletedBeforeEnd || canBeDeletedBeforeEnd) {
1194
+ _GameWindowManager.removeTickerTimeout(timeout);
1195
+ }
1196
+ } else {
1197
+ _GameWindowManager._currentTickersTimeouts[timeout].tags = tagsWithoutTagToRemove;
1198
+ }
1062
1199
  }
1063
1200
  }
1064
1201
  /**
1065
1202
  * Remove all tickers from the canvas.
1066
1203
  */
1067
- static removeTickers() {
1204
+ static removeAllTickers() {
1068
1205
  _GameWindowManager._currentTickersSteps = {};
1069
- _GameWindowManager._currentTickers.forEach((t) => {
1070
- _GameWindowManager.app.ticker.remove(t.fn);
1206
+ Object.keys(_GameWindowManager._currentTickers).forEach((id) => {
1207
+ _GameWindowManager.removeTicker(id);
1071
1208
  });
1072
- _GameWindowManager._currentTickers = [];
1073
- for (let timeout in _GameWindowManager.currentTickersTimeouts) {
1074
- _GameWindowManager.removeTickerTimeoutInfo(timeout);
1209
+ _GameWindowManager._currentTickers = {};
1210
+ for (let timeout in _GameWindowManager._currentTickersTimeouts) {
1211
+ _GameWindowManager.removeTickerTimeout(timeout);
1212
+ }
1213
+ }
1214
+ /**
1215
+ * Remove all tickers from a canvas element.
1216
+ * @param tag The tag of the canvas element that will use the ticker.
1217
+ */
1218
+ static removeTickerByCanvasElement(tag) {
1219
+ if (typeof tag === "string") {
1220
+ tag = [tag];
1221
+ }
1222
+ tag.forEach((tag2) => {
1223
+ for (let id in _GameWindowManager._currentTickers) {
1224
+ let ticker = _GameWindowManager._currentTickers[id];
1225
+ if (ticker.canvasElementTags.includes(tag2)) {
1226
+ _GameWindowManager.removeTicker(id);
1227
+ }
1228
+ }
1229
+ if (_GameWindowManager._currentTickersSteps[tag2]) {
1230
+ delete _GameWindowManager._currentTickersSteps[tag2];
1231
+ }
1232
+ _GameWindowManager.removeTickerTimeoutsByTag(tag2, false);
1233
+ delete _GameWindowManager._currentTickersSteps[tag2];
1234
+ });
1235
+ }
1236
+ static removeTickerStepByCanvasElement(tag) {
1237
+ if (_GameWindowManager._currentTickersSteps[tag]) {
1238
+ delete _GameWindowManager._currentTickersSteps[tag];
1239
+ }
1240
+ for (let id in _GameWindowManager._currentTickers) {
1241
+ let ticker = _GameWindowManager._currentTickers[id];
1242
+ if (ticker.createdByTicketStepsId === tag) {
1243
+ _GameWindowManager.removeTicker(id);
1244
+ }
1245
+ }
1246
+ }
1247
+ static removeTicker(tickerId) {
1248
+ let ticker = _GameWindowManager._currentTickers[tickerId];
1249
+ if (ticker) {
1250
+ if (ticker.args.hasOwnProperty(tagToRemoveAfter)) {
1251
+ let tagToRemoveAfter2 = ticker.args.tagToRemoveAfter;
1252
+ _GameWindowManager.removeCanvasElement(tagToRemoveAfter2);
1253
+ }
1254
+ _GameWindowManager.app.ticker.remove(ticker.fn);
1255
+ delete _GameWindowManager._currentTickers[tickerId];
1075
1256
  }
1076
1257
  }
1077
1258
  /**
@@ -1098,7 +1279,8 @@ var _GameWindowManager = class _GameWindowManager {
1098
1279
  currentElements[tag] = exportCanvasElement(_GameWindowManager._children[tag]);
1099
1280
  }
1100
1281
  return {
1101
- currentTickers: createExportableElement(_GameWindowManager._currentTickers),
1282
+ currentTickers: createExportableElement(_GameWindowManager.currentTickersWithoutCreatedBySteps),
1283
+ currentTickersSteps: createExportableElement(_GameWindowManager._currentTickersSteps),
1102
1284
  currentElements: createExportableElement(currentElements),
1103
1285
  childrenTagsOrder: createExportableElement(_GameWindowManager.childrenTagsOrder)
1104
1286
  };
@@ -1133,15 +1315,20 @@ var _GameWindowManager = class _GameWindowManager {
1133
1315
  }
1134
1316
  if (data.hasOwnProperty("currentTickers")) {
1135
1317
  let currentTickers = data["currentTickers"];
1136
- currentTickers.forEach((t) => {
1318
+ for (let id in currentTickers) {
1319
+ let t = currentTickers[id];
1137
1320
  let tags = t.canvasElementTags;
1138
- let ticker = geTickerInstanceByClassName(t.className, t.args, t.duration, t.priority);
1321
+ let ticker = geTickerInstanceById(t.id, t.args, t.duration, t.priority);
1139
1322
  if (ticker) {
1140
1323
  _GameWindowManager.addTicker(tags, ticker);
1141
1324
  } else {
1142
- console.error(`[Pixi'VN] Ticker ${t.className} not found`);
1325
+ console.error(`[Pixi'VN] Ticker ${t.id} not found`);
1143
1326
  }
1144
- });
1327
+ }
1328
+ }
1329
+ if (data.hasOwnProperty("currentTickersSteps")) {
1330
+ let currentTickersSteps = data["currentTickersSteps"];
1331
+ _GameWindowManager.restoneTickersSteps(currentTickersSteps);
1145
1332
  }
1146
1333
  } catch (e) {
1147
1334
  console.error("[Pixi'VN] Error importing data", e);
@@ -1155,26 +1342,21 @@ _GameWindowManager._children = {};
1155
1342
  * The order of the children tags.
1156
1343
  */
1157
1344
  _GameWindowManager.childrenTagsOrder = [];
1158
- _GameWindowManager._currentTickers = [];
1345
+ _GameWindowManager._currentTickers = {};
1159
1346
  _GameWindowManager._currentTickersSteps = {};
1160
- _GameWindowManager.currentTickersTimeouts = {};
1347
+ _GameWindowManager._currentTickersTimeouts = {};
1161
1348
  var GameWindowManager = _GameWindowManager;
1162
1349
 
1163
- // src/classes/ticker/TickerFadeAlpha.ts
1164
- var TickerFadeAlpha = class extends TickerBase {
1165
- /**
1166
- * The method that will be called every frame to fade the alpha of the canvas element of the canvas.
1167
- * @param delta The delta time
1168
- * @param args The arguments that are passed to the ticker
1169
- * @param tags The tags of the canvas element that are connected to this ticker
1170
- */
1171
- fn(t, args, tags) {
1350
+ // src/classes/ticker/FadeAlphaTicker.ts
1351
+ var FadeAlphaTicker = class extends TickerBase {
1352
+ fn(ticker, args, tags, tickerId) {
1172
1353
  let type = args.type === void 0 ? "hide" : args.type;
1173
- let speed = args.speed === void 0 ? 0.1 : args.speed;
1354
+ let duration = args.duration === void 0 ? 1 : args.duration;
1355
+ let speed = 1 / (duration * 60);
1174
1356
  let limit = args.limit === void 0 ? type === "hide" ? 0 : 1 : args.limit;
1175
- let removeElementAfter = args.tagToRemoveAfter || [];
1176
- if (typeof removeElementAfter === "string") {
1177
- removeElementAfter = [removeElementAfter];
1357
+ let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
1358
+ if (typeof tagToRemoveAfter2 === "string") {
1359
+ tagToRemoveAfter2 = [tagToRemoveAfter2];
1178
1360
  }
1179
1361
  if (type === "hide" && limit < 0) {
1180
1362
  limit = 0;
@@ -1195,61 +1377,88 @@ var TickerFadeAlpha = class extends TickerBase {
1195
1377
  let element = GameWindowManager.getCanvasElement(tag);
1196
1378
  if (element && element instanceof Container) {
1197
1379
  if (type === "show" && element.alpha < limit) {
1198
- element.alpha += speed * t.deltaTime;
1380
+ element.alpha += speed * ticker.deltaTime;
1199
1381
  } else if (type === "hide" && element.alpha > limit) {
1200
- element.alpha -= speed * t.deltaTime;
1201
- } else {
1382
+ element.alpha -= speed * ticker.deltaTime;
1383
+ }
1384
+ if (type === "show" && element.alpha >= limit) {
1385
+ element.alpha = limit;
1386
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
1387
+ } else if (type === "hide" && element.alpha <= limit) {
1202
1388
  element.alpha = limit;
1203
- GameWindowManager.removeAssociationBetweenTickerCanvasElement(tag, this);
1204
- GameWindowManager.removeCanvasElement(removeElementAfter);
1389
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
1205
1390
  }
1206
1391
  }
1207
1392
  });
1208
1393
  }
1209
1394
  };
1210
- TickerFadeAlpha = __decorateClass([
1395
+ FadeAlphaTicker = __decorateClass([
1211
1396
  tickerDecorator()
1212
- ], TickerFadeAlpha);
1397
+ ], FadeAlphaTicker);
1213
1398
 
1214
1399
  // src/functions/TickerUtility.ts
1215
1400
  function updateTickerProgression(args, propertyName, progression) {
1216
- if (args.hasOwnProperty(propertyName) && typeof args[propertyName] !== "number") {
1401
+ if (args[propertyName] === void 0 || !progression || args[propertyName] === progression.limit) {
1217
1402
  return;
1218
1403
  }
1219
- if (args[propertyName] !== void 0 && progression && args[propertyName] !== progression.limit) {
1404
+ if (typeof args[propertyName] === "number") {
1220
1405
  if (progression.type === "linear") {
1221
- args[propertyName] += progression.amt;
1222
- if (progression.limit !== void 0) {
1223
- if (args[propertyName] > progression.limit && progression.amt > 0) {
1224
- args[propertyName] = progression.limit;
1225
- } else if (args[propertyName] < progression.limit && progression.amt < 0) {
1226
- args[propertyName] = progression.limit;
1227
- }
1228
- }
1406
+ args[propertyName] = getLinearProgression(args[propertyName], progression);
1229
1407
  } else if (progression.type === "exponential") {
1230
- args[propertyName] += args[propertyName] * progression.percentage;
1231
- if (progression.limit !== void 0) {
1232
- if (args[propertyName] > progression.limit && progression.percentage > 0) {
1233
- args[propertyName] = progression.limit;
1234
- } else if (args[propertyName] < progression.limit && progression.percentage < 0) {
1235
- args[propertyName] = progression.limit;
1236
- }
1237
- }
1408
+ args[propertyName] = getExponentialProgression(args[propertyName], progression);
1409
+ }
1410
+ } 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") {
1411
+ if (progression.type === "linear") {
1412
+ args[propertyName].x = getLinearProgression(args[propertyName].x, progression);
1413
+ args[propertyName].y = getLinearProgression(args[propertyName].y, progression);
1414
+ } else if (progression.type === "exponential") {
1415
+ args[propertyName].x = getExponentialProgression(args[propertyName].x, progression);
1416
+ args[propertyName].y = getExponentialProgression(args[propertyName].y, progression);
1238
1417
  }
1239
1418
  }
1240
1419
  }
1420
+ function getLinearProgression(number, progression) {
1421
+ if (progression.limit !== void 0) {
1422
+ if (number > progression.limit && progression.amt > 0) {
1423
+ return progression.limit;
1424
+ } else if (number < progression.limit && progression.amt < 0) {
1425
+ return progression.limit;
1426
+ }
1427
+ }
1428
+ return number + progression.amt / 60;
1429
+ }
1430
+ function getExponentialProgression(number, progression) {
1431
+ if (progression.limit !== void 0) {
1432
+ if (number > progression.limit && progression.percentage > 0) {
1433
+ return progression.limit;
1434
+ } else if (number < progression.limit && progression.percentage < 0) {
1435
+ return progression.limit;
1436
+ }
1437
+ }
1438
+ return number + number * progression.percentage;
1439
+ }
1241
1440
 
1242
- // src/classes/ticker/TickerMove.ts
1243
- var TickerMove = class extends TickerBase {
1244
- /**
1245
- * The method that will be called every frame to move the canvas element of the canvas.
1246
- * @param t The ticker that is calling this method
1247
- * @param args The arguments that are passed to the ticker
1248
- * @param tags The tags of the canvas element that are connected to this ticker
1249
- */
1250
- fn(t, args, tags) {
1251
- let speed = args.speed === void 0 ? 0.1 : args.speed;
1441
+ // src/classes/ticker/MoveTicker.ts
1442
+ var MoveTicker = class extends TickerBase {
1443
+ fn(ticker, args, tags, tickerId) {
1444
+ let xSpeed = 1;
1445
+ let ySpeed = 1;
1446
+ if (args.speed) {
1447
+ if (typeof args.speed === "number") {
1448
+ xSpeed = args.speed;
1449
+ ySpeed = args.speed;
1450
+ } else {
1451
+ xSpeed = args.speed.x;
1452
+ ySpeed = args.speed.y;
1453
+ }
1454
+ }
1455
+ xSpeed /= 60;
1456
+ ySpeed /= 60;
1252
1457
  let destination = args.destination;
1458
+ let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
1459
+ if (typeof tagToRemoveAfter2 === "string") {
1460
+ tagToRemoveAfter2 = [tagToRemoveAfter2];
1461
+ }
1253
1462
  tags.filter((tag) => {
1254
1463
  var _a;
1255
1464
  let element = GameWindowManager.getCanvasElement(tag);
@@ -1262,41 +1471,42 @@ var TickerMove = class extends TickerBase {
1262
1471
  }).forEach((tag) => {
1263
1472
  let element = GameWindowManager.getCanvasElement(tag);
1264
1473
  if (element && element instanceof Container) {
1265
- let xDistance = destination.x - element.x;
1474
+ let xDistance = destination.x - element.x > 0 ? 1 : -1;
1266
1475
  if (xDistance != 0) {
1267
- element.x += xDistance / speed * t.deltaTime;
1476
+ element.x += xDistance * xSpeed * ticker.deltaTime;
1268
1477
  let newDistance = destination.x - element.x;
1269
1478
  if (xDistance < 0 && newDistance > 0 || xDistance > 0 && newDistance < 0) {
1270
1479
  element.x = destination.x;
1271
1480
  }
1272
1481
  }
1273
- let yDistance = destination.y - element.y;
1482
+ let yDistance = destination.y - element.y > 0 ? 1 : -1;
1274
1483
  if (yDistance != 0) {
1275
- element.y += yDistance / speed * t.deltaTime;
1484
+ element.y += yDistance * ySpeed * ticker.deltaTime;
1276
1485
  let newDistance = destination.y - element.y;
1277
1486
  if (yDistance < 0 && newDistance > 0 || yDistance > 0 && newDistance < 0) {
1278
1487
  element.y = destination.y;
1279
1488
  }
1280
1489
  }
1490
+ if (element.x == destination.x && element.y == destination.y) {
1491
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
1492
+ }
1281
1493
  }
1282
1494
  });
1283
1495
  if (args.speedProgression)
1284
1496
  updateTickerProgression(args, "speed", args.speedProgression);
1285
1497
  }
1286
1498
  };
1287
- TickerMove = __decorateClass([
1499
+ MoveTicker = __decorateClass([
1288
1500
  tickerDecorator()
1289
- ], TickerMove);
1290
- var TickerRotate = class extends TickerBase {
1291
- /**
1292
- * The method that will be called every frame to rotate the canvas element of the canvas.
1293
- * @param delta The delta time
1294
- * @param args The arguments that are passed to the ticker
1295
- * @param tags The tags of the canvas element that are connected to this ticker
1296
- */
1297
- fn(t, args, tags) {
1298
- let speed = args.speed === void 0 ? 0.1 : args.speed;
1501
+ ], MoveTicker);
1502
+ var RotateTicker = class extends TickerBase {
1503
+ fn(ticker, args, tags, tickerId) {
1504
+ let speed = (args.speed === void 0 ? 1 : args.speed) / 60;
1299
1505
  let clockwise = args.clockwise === void 0 ? true : args.clockwise;
1506
+ let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
1507
+ if (typeof tagToRemoveAfter2 === "string") {
1508
+ tagToRemoveAfter2 = [tagToRemoveAfter2];
1509
+ }
1300
1510
  tags.filter((tag) => {
1301
1511
  var _a;
1302
1512
  let element = GameWindowManager.getCanvasElement(tag);
@@ -1310,18 +1520,123 @@ var TickerRotate = class extends TickerBase {
1310
1520
  let element = GameWindowManager.getCanvasElement(tag);
1311
1521
  if (element && element instanceof Container) {
1312
1522
  if (clockwise)
1313
- element.rotation += speed * t.deltaTime;
1523
+ element.rotation += speed * ticker.deltaTime;
1314
1524
  else
1315
- element.rotation -= speed * t.deltaTime;
1525
+ element.rotation -= speed * ticker.deltaTime;
1526
+ if (speed < 1e-5 && !(args.speedProgression && args.speedProgression.type == "linear" && args.speedProgression.amt != 0)) {
1527
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
1528
+ }
1529
+ }
1530
+ });
1531
+ if (args.speedProgression)
1532
+ updateTickerProgression(args, "speed", args.speedProgression);
1533
+ }
1534
+ };
1535
+ RotateTicker = __decorateClass([
1536
+ tickerDecorator()
1537
+ ], RotateTicker);
1538
+ var ZoomTicker = class extends TickerBase {
1539
+ fn(ticker, args, tags, tickerId) {
1540
+ let xSpeed = 0.1;
1541
+ let ySpeed = 0.1;
1542
+ if (args.speed) {
1543
+ if (typeof args.speed === "number") {
1544
+ xSpeed = args.speed;
1545
+ ySpeed = args.speed;
1546
+ } else {
1547
+ xSpeed = args.speed.x;
1548
+ ySpeed = args.speed.y;
1549
+ }
1550
+ }
1551
+ xSpeed /= 60;
1552
+ ySpeed /= 60;
1553
+ let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
1554
+ if (typeof tagToRemoveAfter2 === "string") {
1555
+ tagToRemoveAfter2 = [tagToRemoveAfter2];
1556
+ }
1557
+ let type = args.type || "zoom";
1558
+ let xLimit = type === "zoom" ? Infinity : 0;
1559
+ let yLimit = type === "zoom" ? Infinity : 0;
1560
+ if (args.limit) {
1561
+ if (typeof args.limit === "number") {
1562
+ xLimit = args.limit;
1563
+ yLimit = args.limit;
1564
+ } else {
1565
+ xLimit = args.limit.x;
1566
+ yLimit = args.limit.y;
1567
+ }
1568
+ }
1569
+ tags.filter((tag) => {
1570
+ var _a;
1571
+ let element = GameWindowManager.getCanvasElement(tag);
1572
+ if (args.startOnlyIfHaveTexture) {
1573
+ if (element && element instanceof Sprite && ((_a = element.texture) == null ? void 0 : _a.label) == "EMPTY") {
1574
+ return false;
1575
+ }
1576
+ }
1577
+ return true;
1578
+ }).forEach((tag) => {
1579
+ let element = GameWindowManager.getCanvasElement(tag);
1580
+ if (element && element instanceof Container) {
1581
+ if (type === "zoom" && (element.scale.x < xLimit || element.scale.y < yLimit)) {
1582
+ element.scale.x += xSpeed * ticker.deltaTime;
1583
+ element.scale.y += ySpeed * ticker.deltaTime;
1584
+ } else if (type === "unzoom" && (element.scale.x > xLimit || element.scale.y > yLimit)) {
1585
+ element.scale.x -= xSpeed * ticker.deltaTime;
1586
+ element.scale.y -= ySpeed * ticker.deltaTime;
1587
+ }
1588
+ if (type === "zoom") {
1589
+ if (element.scale.x > xLimit) {
1590
+ element.scale.x = xLimit;
1591
+ }
1592
+ if (element.scale.y > yLimit) {
1593
+ element.scale.y = yLimit;
1594
+ }
1595
+ if (element.scale.x >= xLimit && element.scale.y >= yLimit) {
1596
+ element.scale.x = xLimit;
1597
+ element.scale.y = yLimit;
1598
+ this.onEndOfTicker(tag, tickerId, element, tagToRemoveAfter2);
1599
+ }
1600
+ } else if (type === "unzoom") {
1601
+ if (element.scale.x < xLimit) {
1602
+ element.scale.x = xLimit;
1603
+ }
1604
+ if (element.scale.y < yLimit) {
1605
+ element.scale.y = yLimit;
1606
+ }
1607
+ if (element.scale.x <= xLimit && element.scale.y <= yLimit) {
1608
+ element.scale.x = xLimit;
1609
+ element.scale.y = yLimit;
1610
+ this.onEndOfTicker(tag, tickerId, element, tagToRemoveAfter2);
1611
+ }
1612
+ }
1613
+ if (xSpeed < 1e-5 && ySpeed < 1e-5 && !(args.speedProgression && args.speedProgression.type == "linear" && args.speedProgression.amt != 0)) {
1614
+ this.onEndOfTicker(tag, tickerId, element, tagToRemoveAfter2);
1615
+ }
1316
1616
  }
1317
1617
  });
1318
1618
  if (args.speedProgression)
1319
1619
  updateTickerProgression(args, "speed", args.speedProgression);
1320
1620
  }
1621
+ onEndOfTicker(tag, tickerId, _element, tagToRemoveAfter2) {
1622
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
1623
+ }
1321
1624
  };
1322
- TickerRotate = __decorateClass([
1625
+ ZoomTicker = __decorateClass([
1323
1626
  tickerDecorator()
1324
- ], TickerRotate);
1627
+ ], ZoomTicker);
1628
+ var ZoomInOutTicker = class extends ZoomTicker {
1629
+ constructor(props, duration, priority) {
1630
+ super(props, duration, priority);
1631
+ }
1632
+ onEndOfTicker(tag, tickerId, element, tagToRemoveAfter2) {
1633
+ if (element.children.length > 0) {
1634
+ let elementChild = element.children[0];
1635
+ GameWindowManager.addCanvasElement(tag, elementChild);
1636
+ }
1637
+ super.onEndOfTicker(tag, tickerId, element, tagToRemoveAfter2);
1638
+ }
1639
+ };
1325
1640
 
1326
1641
  // src/functions/ImageUtility.ts
1327
1642
  function addImage(tag, imageUrl) {
@@ -1330,7 +1645,7 @@ function addImage(tag, imageUrl) {
1330
1645
  GameWindowManager.addCanvasElement(tag, image);
1331
1646
  return image;
1332
1647
  }
1333
- function loadImages(canvasImages) {
1648
+ function loadImage(canvasImages) {
1334
1649
  return __async(this, null, function* () {
1335
1650
  if (!Array.isArray(canvasImages)) {
1336
1651
  return [canvasImages];
@@ -1351,37 +1666,234 @@ function loadImages(canvasImages) {
1351
1666
  });
1352
1667
  });
1353
1668
  }
1669
+ function showImage(tag, imageUrl) {
1670
+ return __async(this, null, function* () {
1671
+ let image = addImage(tag, imageUrl);
1672
+ yield image.load();
1673
+ return image;
1674
+ });
1675
+ }
1354
1676
  function removeCanvasElement(tag) {
1355
1677
  GameWindowManager.removeCanvasElement(tag);
1356
1678
  }
1357
- function showWithDissolveTransition(tag, image, speed, priority) {
1358
- return __async(this, null, function* () {
1359
- let specialTag = void 0;
1679
+ function showWithDissolveTransition(_0, _1) {
1680
+ return __async(this, arguments, function* (tag, image, props = {}, priority) {
1681
+ var _a;
1682
+ let oldCanvasTag = void 0;
1360
1683
  if (GameWindowManager.getCanvasElement(tag)) {
1361
- specialTag = tag + "_temp_disolve";
1362
- GameWindowManager.editTagCanvasElement(tag, specialTag);
1684
+ oldCanvasTag = tag + "_temp_disolve";
1685
+ GameWindowManager.editCanvasElementTag(tag, oldCanvasTag);
1363
1686
  }
1364
1687
  let canvasElement;
1365
1688
  if (typeof image === "string") {
1366
1689
  canvasElement = addImage(tag, image);
1367
1690
  } else {
1368
1691
  canvasElement = image;
1692
+ GameWindowManager.addCanvasElement(tag, canvasElement);
1693
+ }
1694
+ if (canvasElement instanceof CanvasImage && ((_a = canvasElement.texture) == null ? void 0 : _a.label) == "EMPTY") {
1695
+ yield canvasElement.load();
1369
1696
  }
1370
1697
  canvasElement.alpha = 0;
1371
- let effect = new TickerFadeAlpha({
1372
- speed,
1698
+ let effect = new FadeAlphaTicker(__spreadProps(__spreadValues({}, props), {
1373
1699
  type: "show",
1374
- tagToRemoveAfter: specialTag,
1700
+ tagToRemoveAfter: oldCanvasTag,
1375
1701
  startOnlyIfHaveTexture: true
1376
- }, 1e4, priority);
1702
+ }), 10, priority);
1377
1703
  GameWindowManager.addTicker(tag, effect);
1378
- if (canvasElement instanceof CanvasImage) {
1379
- return canvasElement.load();
1704
+ return;
1705
+ });
1706
+ }
1707
+ function removeWithDissolveTransition(tag, props = {}, priority) {
1708
+ if (typeof tag === "string") {
1709
+ tag = [tag];
1710
+ }
1711
+ let effect = new FadeAlphaTicker(__spreadProps(__spreadValues({}, props), {
1712
+ type: "hide",
1713
+ tagToRemoveAfter: tag,
1714
+ startOnlyIfHaveTexture: true
1715
+ }), 10, priority);
1716
+ GameWindowManager.addTicker(tag, effect);
1717
+ }
1718
+ function showWithFadeTransition(_0, _1) {
1719
+ return __async(this, arguments, function* (tag, image, props = {}, priority) {
1720
+ var _a;
1721
+ if (!GameWindowManager.getCanvasElement(tag)) {
1722
+ return showWithDissolveTransition(tag, image, props, priority);
1723
+ }
1724
+ let oldCanvasTag = tag + "_temp_fade";
1725
+ GameWindowManager.editCanvasElementTag(tag, oldCanvasTag);
1726
+ let canvasElement;
1727
+ if (typeof image === "string") {
1728
+ canvasElement = addImage(tag, image);
1729
+ } else {
1730
+ canvasElement = image;
1731
+ GameWindowManager.addCanvasElement(tag, canvasElement);
1380
1732
  }
1733
+ if (canvasElement instanceof CanvasImage && ((_a = canvasElement.texture) == null ? void 0 : _a.label) == "EMPTY") {
1734
+ yield canvasElement.load();
1735
+ }
1736
+ canvasElement.alpha = 0;
1737
+ GameWindowManager.addTickersSteps(oldCanvasTag, [
1738
+ new FadeAlphaTicker(__spreadProps(__spreadValues({}, props), {
1739
+ type: "hide",
1740
+ startOnlyIfHaveTexture: true
1741
+ }))
1742
+ ]);
1743
+ GameWindowManager.addTickersSteps(tag, [
1744
+ Pause(props.duration || 1),
1745
+ new FadeAlphaTicker(__spreadProps(__spreadValues({}, props), {
1746
+ type: "show",
1747
+ startOnlyIfHaveTexture: true
1748
+ }))
1749
+ ]);
1750
+ });
1751
+ }
1752
+ function removeWithFadeTransition(tag, props = {}, priority) {
1753
+ return removeWithDissolveTransition(tag, props, priority);
1754
+ }
1755
+ function moveIn(_0, _1) {
1756
+ return __async(this, arguments, function* (tag, image, props = { direction: "right" }, priority) {
1757
+ var _a;
1758
+ let canvasElement;
1759
+ if (typeof image === "string") {
1760
+ canvasElement = addImage(tag, image);
1761
+ } else {
1762
+ canvasElement = image;
1763
+ GameWindowManager.addCanvasElement(tag, canvasElement);
1764
+ }
1765
+ if (canvasElement instanceof CanvasImage && ((_a = canvasElement.texture) == null ? void 0 : _a.label) == "EMPTY") {
1766
+ yield canvasElement.load();
1767
+ }
1768
+ let destination = { x: canvasElement.x, y: canvasElement.y };
1769
+ if (props.direction == "up") {
1770
+ canvasElement.y = GameWindowManager.canvasHeight + canvasElement.height;
1771
+ } else if (props.direction == "down") {
1772
+ canvasElement.y = -canvasElement.height;
1773
+ } else if (props.direction == "left") {
1774
+ canvasElement.x = GameWindowManager.canvasWidth + canvasElement.width;
1775
+ } else if (props.direction == "right") {
1776
+ canvasElement.x = -canvasElement.width;
1777
+ }
1778
+ let effect = new MoveTicker(__spreadProps(__spreadValues({}, props), {
1779
+ destination,
1780
+ startOnlyIfHaveTexture: true
1781
+ }), priority);
1782
+ GameWindowManager.addTicker(tag, effect);
1783
+ });
1784
+ }
1785
+ function moveOut(tag, props = { direction: "right" }, priority) {
1786
+ let canvasElement = GameWindowManager.getCanvasElement(tag);
1787
+ if (!canvasElement) {
1788
+ console.warn("[Pixi'VN] The canvas element is not found.");
1381
1789
  return;
1790
+ }
1791
+ let destination = { x: canvasElement.x, y: canvasElement.y };
1792
+ if (props.direction == "up") {
1793
+ destination.y = -canvasElement.height;
1794
+ } else if (props.direction == "down") {
1795
+ destination.y = GameWindowManager.canvasHeight + canvasElement.height;
1796
+ } else if (props.direction == "left") {
1797
+ destination.x = -canvasElement.width;
1798
+ } else if (props.direction == "right") {
1799
+ destination.x = GameWindowManager.canvasWidth + canvasElement.width;
1800
+ }
1801
+ let effect = new MoveTicker(__spreadProps(__spreadValues({}, props), {
1802
+ destination,
1803
+ startOnlyIfHaveTexture: true,
1804
+ tagToRemoveAfter: tag
1805
+ }), priority);
1806
+ GameWindowManager.addTicker(tag, effect);
1807
+ }
1808
+ function zoomIn(_0, _1) {
1809
+ return __async(this, arguments, function* (tag, image, props = { direction: "right" }, priority) {
1810
+ var _a;
1811
+ let canvasElement;
1812
+ if (typeof image === "string") {
1813
+ canvasElement = new CanvasImage({}, image);
1814
+ } else {
1815
+ canvasElement = image;
1816
+ }
1817
+ if (canvasElement instanceof CanvasImage && ((_a = canvasElement.texture) == null ? void 0 : _a.label) == "EMPTY") {
1818
+ yield canvasElement.load();
1819
+ }
1820
+ let container = new CanvasContainer();
1821
+ container.addChild(canvasElement);
1822
+ container.height = GameWindowManager.canvasHeight;
1823
+ container.width = GameWindowManager.canvasWidth;
1824
+ GameWindowManager.addCanvasElement(tag, container);
1825
+ if (props.direction == "up") {
1826
+ container.pivot.y = GameWindowManager.canvasHeight;
1827
+ container.pivot.x = GameWindowManager.canvasWidth / 2;
1828
+ container.y = GameWindowManager.canvasHeight;
1829
+ container.x = GameWindowManager.canvasWidth / 2;
1830
+ } else if (props.direction == "down") {
1831
+ container.pivot.y = 0;
1832
+ container.pivot.x = GameWindowManager.canvasWidth / 2;
1833
+ container.y = 0;
1834
+ container.x = GameWindowManager.canvasWidth / 2;
1835
+ } else if (props.direction == "left") {
1836
+ container.pivot.x = GameWindowManager.canvasWidth;
1837
+ container.pivot.y = GameWindowManager.canvasHeight / 2;
1838
+ container.x = GameWindowManager.canvasWidth;
1839
+ container.y = GameWindowManager.canvasHeight / 2;
1840
+ } else if (props.direction == "right") {
1841
+ container.pivot.x = 0;
1842
+ container.pivot.y = GameWindowManager.canvasHeight / 2;
1843
+ container.x = 0;
1844
+ container.y = GameWindowManager.canvasHeight / 2;
1845
+ }
1846
+ container.scale.set(0);
1847
+ let effect = new ZoomInOutTicker(__spreadProps(__spreadValues({}, props), {
1848
+ startOnlyIfHaveTexture: true,
1849
+ type: "zoom",
1850
+ limit: 1
1851
+ }), priority);
1852
+ GameWindowManager.addTicker(tag, effect);
1382
1853
  });
1383
1854
  }
1855
+ function zoomOut(tag, props = { direction: "right" }, priority) {
1856
+ let canvasElement = GameWindowManager.getCanvasElement(tag);
1857
+ if (!canvasElement) {
1858
+ console.warn("[Pixi'VN] The canvas element is not found.");
1859
+ return;
1860
+ }
1861
+ let container = new CanvasContainer();
1862
+ container.addChild(canvasElement);
1863
+ container.height = GameWindowManager.canvasHeight;
1864
+ container.width = GameWindowManager.canvasWidth;
1865
+ GameWindowManager.addCanvasElement(tag, container);
1866
+ if (props.direction == "up") {
1867
+ container.pivot.y = GameWindowManager.canvasHeight;
1868
+ container.pivot.x = GameWindowManager.canvasWidth / 2;
1869
+ container.y = GameWindowManager.canvasHeight;
1870
+ container.x = GameWindowManager.canvasWidth / 2;
1871
+ } else if (props.direction == "down") {
1872
+ container.pivot.y = 0;
1873
+ container.pivot.x = GameWindowManager.canvasWidth / 2;
1874
+ container.y = 0;
1875
+ container.x = GameWindowManager.canvasWidth / 2;
1876
+ } else if (props.direction == "left") {
1877
+ container.pivot.x = GameWindowManager.canvasWidth;
1878
+ container.pivot.y = GameWindowManager.canvasHeight / 2;
1879
+ container.x = GameWindowManager.canvasWidth;
1880
+ container.y = GameWindowManager.canvasHeight / 2;
1881
+ } else if (props.direction == "right") {
1882
+ container.pivot.x = 0;
1883
+ container.pivot.y = GameWindowManager.canvasHeight / 2;
1884
+ container.x = 0;
1885
+ container.y = GameWindowManager.canvasHeight / 2;
1886
+ }
1887
+ container.scale.set(1);
1888
+ let effect = new ZoomInOutTicker(__spreadProps(__spreadValues({}, props), {
1889
+ startOnlyIfHaveTexture: true,
1890
+ type: "unzoom",
1891
+ limit: 0,
1892
+ tagToRemoveAfter: tag
1893
+ }), priority);
1894
+ GameWindowManager.addTicker(tag, effect);
1895
+ }
1384
1896
 
1385
- export { addImage, loadImages, removeCanvasElement, showWithDissolveTransition };
1897
+ export { addImage, loadImage, moveIn, moveOut, removeCanvasElement, removeWithDissolveTransition, removeWithFadeTransition, showImage, showWithDissolveTransition, showWithFadeTransition, zoomIn, zoomOut };
1386
1898
  //# sourceMappingURL=out.js.map
1387
1899
  //# sourceMappingURL=ImageUtility.mjs.map