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