@drincs/pixi-vn 0.6.0 → 0.6.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (415) hide show
  1. package/dist/{TickerBase-RQDWNI4K.d.ts → TickerBase-3rLpDpmb.d.ts} +27 -13
  2. package/dist/{TickerBase-B5CQCJs8.d.mts → TickerBase-DKYzbzro.d.mts} +27 -13
  3. package/dist/classes/CanvasEvent.d.mts +7 -1
  4. package/dist/classes/CanvasEvent.d.ts +7 -1
  5. package/dist/classes/CanvasEvent.js +7 -0
  6. package/dist/classes/CanvasEvent.js.map +1 -1
  7. package/dist/classes/CanvasEvent.mjs +7 -0
  8. package/dist/classes/CanvasEvent.mjs.map +1 -1
  9. package/dist/classes/CharacterBaseModel.d.mts +2 -26
  10. package/dist/classes/CharacterBaseModel.d.ts +2 -26
  11. package/dist/classes/CharacterBaseModel.js +544 -241
  12. package/dist/classes/CharacterBaseModel.js.map +1 -1
  13. package/dist/classes/CharacterBaseModel.mjs +540 -241
  14. package/dist/classes/CharacterBaseModel.mjs.map +1 -1
  15. package/dist/classes/ChoiceMenuOption.d.mts +27 -17
  16. package/dist/classes/ChoiceMenuOption.d.ts +27 -17
  17. package/dist/classes/ChoiceMenuOption.js +548 -243
  18. package/dist/classes/ChoiceMenuOption.js.map +1 -1
  19. package/dist/classes/ChoiceMenuOption.mjs +544 -243
  20. package/dist/classes/ChoiceMenuOption.mjs.map +1 -1
  21. package/dist/classes/CloseLabel.d.mts +1 -1
  22. package/dist/classes/CloseLabel.d.ts +1 -1
  23. package/dist/classes/CloseLabel.js +1 -1
  24. package/dist/classes/CloseLabel.js.map +1 -1
  25. package/dist/classes/CloseLabel.mjs +1 -1
  26. package/dist/classes/CloseLabel.mjs.map +1 -1
  27. package/dist/classes/DialogueBaseModel.d.mts +3 -2
  28. package/dist/classes/DialogueBaseModel.d.ts +3 -2
  29. package/dist/classes/DialogueBaseModel.js +5 -5
  30. package/dist/classes/DialogueBaseModel.js.map +1 -1
  31. package/dist/classes/DialogueBaseModel.mjs +5 -5
  32. package/dist/classes/DialogueBaseModel.mjs.map +1 -1
  33. package/dist/classes/Label.d.mts +1 -1
  34. package/dist/classes/Label.d.ts +1 -1
  35. package/dist/classes/Label.js +1 -1
  36. package/dist/classes/Label.js.map +1 -1
  37. package/dist/classes/Label.mjs +1 -1
  38. package/dist/classes/Label.mjs.map +1 -1
  39. package/dist/classes/StoredClassModel.d.mts +2 -2
  40. package/dist/classes/StoredClassModel.d.ts +2 -2
  41. package/dist/classes/StoredClassModel.js +544 -241
  42. package/dist/classes/StoredClassModel.js.map +1 -1
  43. package/dist/classes/StoredClassModel.mjs +540 -241
  44. package/dist/classes/StoredClassModel.mjs.map +1 -1
  45. package/dist/classes/canvas/CanvasBase.d.mts +5 -1
  46. package/dist/classes/canvas/CanvasBase.d.ts +5 -1
  47. package/dist/classes/canvas/CanvasBase.js +7 -0
  48. package/dist/classes/canvas/CanvasBase.js.map +1 -1
  49. package/dist/classes/canvas/CanvasBase.mjs +7 -0
  50. package/dist/classes/canvas/CanvasBase.mjs.map +1 -1
  51. package/dist/classes/canvas/CanvasContainer.d.mts +4 -1
  52. package/dist/classes/canvas/CanvasContainer.d.ts +4 -1
  53. package/dist/classes/canvas/CanvasContainer.js +57 -37
  54. package/dist/classes/canvas/CanvasContainer.js.map +1 -1
  55. package/dist/classes/canvas/CanvasContainer.mjs +57 -38
  56. package/dist/classes/canvas/CanvasContainer.mjs.map +1 -1
  57. package/dist/classes/canvas/CanvasImage.d.mts +4 -2
  58. package/dist/classes/canvas/CanvasImage.d.ts +4 -2
  59. package/dist/classes/canvas/CanvasImage.js +33 -20
  60. package/dist/classes/canvas/CanvasImage.js.map +1 -1
  61. package/dist/classes/canvas/CanvasImage.mjs +30 -20
  62. package/dist/classes/canvas/CanvasImage.mjs.map +1 -1
  63. package/dist/classes/canvas/CanvasSprite.d.mts +6 -3
  64. package/dist/classes/canvas/CanvasSprite.d.ts +6 -3
  65. package/dist/classes/canvas/CanvasSprite.js +25 -17
  66. package/dist/classes/canvas/CanvasSprite.js.map +1 -1
  67. package/dist/classes/canvas/CanvasSprite.mjs +25 -18
  68. package/dist/classes/canvas/CanvasSprite.mjs.map +1 -1
  69. package/dist/classes/canvas/CanvasText.d.mts +6 -3
  70. package/dist/classes/canvas/CanvasText.d.ts +6 -3
  71. package/dist/classes/canvas/CanvasText.js +25 -17
  72. package/dist/classes/canvas/CanvasText.js.map +1 -1
  73. package/dist/classes/canvas/CanvasText.mjs +25 -18
  74. package/dist/classes/canvas/CanvasText.mjs.map +1 -1
  75. package/dist/classes/canvas/index.js +184 -158
  76. package/dist/classes/canvas/index.js.map +1 -1
  77. package/dist/classes/canvas/index.mjs +184 -158
  78. package/dist/classes/canvas/index.mjs.map +1 -1
  79. package/dist/classes/index.d.mts +6 -4
  80. package/dist/classes/index.d.ts +6 -4
  81. package/dist/classes/index.js +560 -248
  82. package/dist/classes/index.js.map +1 -1
  83. package/dist/classes/index.mjs +556 -248
  84. package/dist/classes/index.mjs.map +1 -1
  85. package/dist/classes/ticker/FadeAlphaTicker.d.mts +27 -0
  86. package/dist/classes/ticker/FadeAlphaTicker.d.ts +27 -0
  87. package/dist/classes/ticker/{TickerFadeAlpha.js → FadeAlphaTicker.js} +549 -248
  88. package/dist/classes/ticker/FadeAlphaTicker.js.map +1 -0
  89. package/dist/classes/ticker/{TickerRotate.mjs → FadeAlphaTicker.mjs} +571 -274
  90. package/dist/classes/ticker/FadeAlphaTicker.mjs.map +1 -0
  91. package/dist/classes/ticker/MoveTicker.d.mts +25 -0
  92. package/dist/classes/ticker/MoveTicker.d.ts +25 -0
  93. package/dist/classes/ticker/{TickerMove.js → MoveTicker.js} +544 -241
  94. package/dist/classes/ticker/MoveTicker.js.map +1 -0
  95. package/dist/classes/ticker/{TickerFadeAlpha.mjs → MoveTicker.mjs} +568 -269
  96. package/dist/classes/ticker/MoveTicker.mjs.map +1 -0
  97. package/dist/classes/ticker/RotateTicker.d.mts +27 -0
  98. package/dist/classes/ticker/RotateTicker.d.ts +27 -0
  99. package/dist/classes/ticker/{TickerRotate.js → RotateTicker.js} +544 -241
  100. package/dist/classes/ticker/RotateTicker.js.map +1 -0
  101. package/dist/classes/ticker/{TickerMove.mjs → RotateTicker.mjs} +558 -259
  102. package/dist/classes/ticker/RotateTicker.mjs.map +1 -0
  103. package/dist/classes/ticker/TickerBase.d.mts +2 -1
  104. package/dist/classes/ticker/TickerBase.d.ts +2 -1
  105. package/dist/classes/ticker/TickerBase.js +12 -6
  106. package/dist/classes/ticker/TickerBase.js.map +1 -1
  107. package/dist/classes/ticker/TickerBase.mjs +12 -6
  108. package/dist/classes/ticker/TickerBase.mjs.map +1 -1
  109. package/dist/classes/ticker/ZoomTicker.d.mts +31 -0
  110. package/dist/classes/ticker/ZoomTicker.d.ts +31 -0
  111. package/dist/classes/ticker/ZoomTicker.js +1647 -0
  112. package/dist/classes/ticker/ZoomTicker.js.map +1 -0
  113. package/dist/classes/ticker/ZoomTicker.mjs +1639 -0
  114. package/dist/classes/ticker/ZoomTicker.mjs.map +1 -0
  115. package/dist/classes/ticker/index.d.mts +11 -8
  116. package/dist/classes/ticker/index.d.ts +11 -8
  117. package/dist/classes/ticker/index.js +567 -266
  118. package/dist/classes/ticker/index.js.map +1 -1
  119. package/dist/classes/ticker/index.mjs +564 -267
  120. package/dist/classes/ticker/index.mjs.map +1 -1
  121. package/dist/constants.d.mts +12 -2
  122. package/dist/constants.d.ts +12 -2
  123. package/dist/constants.js +10 -1
  124. package/dist/constants.js.map +1 -1
  125. package/dist/constants.mjs +9 -2
  126. package/dist/constants.mjs.map +1 -1
  127. package/dist/decorators/CanvasElementDecorator.d.mts +3 -3
  128. package/dist/decorators/CanvasElementDecorator.d.ts +3 -3
  129. package/dist/decorators/CanvasElementDecorator.js +63 -43
  130. package/dist/decorators/CanvasElementDecorator.js.map +1 -1
  131. package/dist/decorators/CanvasElementDecorator.mjs +62 -42
  132. package/dist/decorators/CanvasElementDecorator.mjs.map +1 -1
  133. package/dist/decorators/CharacterDecorator.d.mts +1 -0
  134. package/dist/decorators/CharacterDecorator.d.ts +1 -0
  135. package/dist/decorators/CharacterDecorator.js +1 -1
  136. package/dist/decorators/CharacterDecorator.js.map +1 -1
  137. package/dist/decorators/CharacterDecorator.mjs +1 -1
  138. package/dist/decorators/CharacterDecorator.mjs.map +1 -1
  139. package/dist/decorators/EventDecorator.d.mts +7 -7
  140. package/dist/decorators/EventDecorator.d.ts +7 -7
  141. package/dist/decorators/EventDecorator.js +12 -11
  142. package/dist/decorators/EventDecorator.js.map +1 -1
  143. package/dist/decorators/EventDecorator.mjs +11 -10
  144. package/dist/decorators/EventDecorator.mjs.map +1 -1
  145. package/dist/decorators/LabelDecorator.d.mts +4 -3
  146. package/dist/decorators/LabelDecorator.d.ts +4 -3
  147. package/dist/decorators/LabelDecorator.js +546 -243
  148. package/dist/decorators/LabelDecorator.js.map +1 -1
  149. package/dist/decorators/LabelDecorator.mjs +542 -243
  150. package/dist/decorators/LabelDecorator.mjs.map +1 -1
  151. package/dist/decorators/TickerDecorator.d.mts +9 -6
  152. package/dist/decorators/TickerDecorator.d.ts +9 -6
  153. package/dist/decorators/TickerDecorator.js +7 -6
  154. package/dist/decorators/TickerDecorator.js.map +1 -1
  155. package/dist/decorators/TickerDecorator.mjs +7 -6
  156. package/dist/decorators/TickerDecorator.mjs.map +1 -1
  157. package/dist/decorators/index.d.mts +4 -3
  158. package/dist/decorators/index.d.ts +4 -3
  159. package/dist/decorators/index.js +550 -245
  160. package/dist/decorators/index.js.map +1 -1
  161. package/dist/decorators/index.mjs +546 -245
  162. package/dist/decorators/index.mjs.map +1 -1
  163. package/dist/functions/CanvasUtility.js +56 -37
  164. package/dist/functions/CanvasUtility.js.map +1 -1
  165. package/dist/functions/CanvasUtility.mjs +56 -37
  166. package/dist/functions/CanvasUtility.mjs.map +1 -1
  167. package/dist/functions/DialogueUtility.d.mts +7 -5
  168. package/dist/functions/DialogueUtility.d.ts +7 -5
  169. package/dist/functions/DialogueUtility.js +729 -397
  170. package/dist/functions/DialogueUtility.js.map +1 -1
  171. package/dist/functions/DialogueUtility.mjs +729 -397
  172. package/dist/functions/DialogueUtility.mjs.map +1 -1
  173. package/dist/functions/FlagsUtility.js +544 -241
  174. package/dist/functions/FlagsUtility.js.map +1 -1
  175. package/dist/functions/FlagsUtility.mjs +540 -241
  176. package/dist/functions/FlagsUtility.mjs.map +1 -1
  177. package/dist/functions/GameUtility.js +544 -241
  178. package/dist/functions/GameUtility.js.map +1 -1
  179. package/dist/functions/GameUtility.mjs +540 -241
  180. package/dist/functions/GameUtility.mjs.map +1 -1
  181. package/dist/functions/ImageUtility.d.mts +81 -8
  182. package/dist/functions/ImageUtility.d.ts +81 -8
  183. package/dist/functions/ImageUtility.js +911 -387
  184. package/dist/functions/ImageUtility.js.map +1 -1
  185. package/dist/functions/ImageUtility.mjs +899 -387
  186. package/dist/functions/ImageUtility.mjs.map +1 -1
  187. package/dist/functions/SavesUtility.d.mts +9 -5
  188. package/dist/functions/SavesUtility.d.ts +9 -5
  189. package/dist/functions/SavesUtility.js +611 -252
  190. package/dist/functions/SavesUtility.js.map +1 -1
  191. package/dist/functions/SavesUtility.mjs +611 -252
  192. package/dist/functions/SavesUtility.mjs.map +1 -1
  193. package/dist/functions/TickerUtility.d.mts +1 -1
  194. package/dist/functions/TickerUtility.d.ts +1 -1
  195. package/dist/functions/TickerUtility.js +32 -18
  196. package/dist/functions/TickerUtility.js.map +1 -1
  197. package/dist/functions/TickerUtility.mjs +32 -18
  198. package/dist/functions/TickerUtility.mjs.map +1 -1
  199. package/dist/functions/index.d.mts +18 -8
  200. package/dist/functions/index.d.ts +18 -8
  201. package/dist/functions/index.js +832 -279
  202. package/dist/functions/index.js.map +1 -1
  203. package/dist/functions/index.mjs +825 -280
  204. package/dist/functions/index.mjs.map +1 -1
  205. package/dist/index.d.mts +25 -16
  206. package/dist/index.d.ts +25 -16
  207. package/dist/index.js +1547 -290
  208. package/dist/index.js.map +1 -1
  209. package/dist/index.mjs +1538 -290
  210. package/dist/index.mjs.map +1 -1
  211. package/dist/interface/CharacterBaseModelProps.d.mts +27 -0
  212. package/dist/interface/CharacterBaseModelProps.d.ts +27 -0
  213. package/dist/interface/CharacterBaseModelProps.js +4 -0
  214. package/dist/interface/CharacterBaseModelProps.mjs +3 -0
  215. package/dist/interface/DialogueHistory.d.mts +3 -7
  216. package/dist/interface/DialogueHistory.d.ts +3 -7
  217. package/dist/interface/IHistoryStep.d.mts +12 -8
  218. package/dist/interface/IHistoryStep.d.ts +12 -8
  219. package/dist/interface/ISaveData.d.mts +8 -4
  220. package/dist/interface/ISaveData.d.ts +8 -4
  221. package/dist/interface/ITicker.d.mts +2 -1
  222. package/dist/interface/ITicker.d.ts +2 -1
  223. package/dist/interface/ITickersSteps.d.mts +14 -5
  224. package/dist/interface/ITickersSteps.d.ts +14 -5
  225. package/dist/interface/TickerHistory.d.mts +29 -0
  226. package/dist/interface/TickerHistory.d.ts +29 -0
  227. package/dist/{types/ticker/TickerMoveProps.js → interface/TickerHistory.js} +1 -1
  228. package/dist/interface/TickerHistory.mjs +3 -0
  229. package/dist/interface/TickerProgrationType.d.mts +13 -1
  230. package/dist/interface/TickerProgrationType.d.ts +13 -1
  231. package/dist/interface/TickerTimeoutHistory.d.mts +7 -0
  232. package/dist/interface/TickerTimeoutHistory.d.ts +7 -0
  233. package/dist/interface/TickerTimeoutHistory.js +4 -0
  234. package/dist/interface/TickerTimeoutHistory.mjs +3 -0
  235. package/dist/interface/canvas/ICanvasBaseMemory.d.mts +1 -1
  236. package/dist/interface/canvas/ICanvasBaseMemory.d.ts +1 -1
  237. package/dist/interface/canvas/ICanvasImageMemory.d.mts +1 -1
  238. package/dist/interface/canvas/ICanvasImageMemory.d.ts +1 -1
  239. package/dist/interface/canvas/ICanvasSpriteMemory.d.mts +0 -1
  240. package/dist/interface/canvas/ICanvasSpriteMemory.d.ts +0 -1
  241. package/dist/interface/canvas/ICanvasTextTextMemory.d.mts +0 -1
  242. package/dist/interface/canvas/ICanvasTextTextMemory.d.ts +0 -1
  243. package/dist/interface/export/ExportedCanvas.d.mts +11 -3
  244. package/dist/interface/export/ExportedCanvas.d.ts +11 -3
  245. package/dist/interface/export/ExportedStep.d.mts +7 -3
  246. package/dist/interface/export/ExportedStep.d.ts +7 -3
  247. package/dist/interface/export/index.d.mts +8 -4
  248. package/dist/interface/export/index.d.ts +8 -4
  249. package/dist/interface/index.d.mts +14 -11
  250. package/dist/interface/index.d.ts +14 -11
  251. package/dist/labels/BaseCanvasElementTestLabel.d.mts +9 -0
  252. package/dist/labels/BaseCanvasElementTestLabel.d.ts +9 -0
  253. package/dist/labels/BaseCanvasElementTestLabel.js +1888 -0
  254. package/dist/labels/BaseCanvasElementTestLabel.js.map +1 -0
  255. package/dist/labels/BaseCanvasElementTestLabel.mjs +1882 -0
  256. package/dist/labels/BaseCanvasElementTestLabel.mjs.map +1 -0
  257. package/dist/labels/CanvasEventsTestLabel.d.mts +27 -0
  258. package/dist/labels/CanvasEventsTestLabel.d.ts +27 -0
  259. package/dist/labels/CanvasEventsTestLabel.js +2822 -0
  260. package/dist/labels/CanvasEventsTestLabel.js.map +1 -0
  261. package/dist/labels/CanvasEventsTestLabel.mjs +2816 -0
  262. package/dist/labels/CanvasEventsTestLabel.mjs.map +1 -0
  263. package/dist/labels/CustomTickerCanvasElementTestLabel.d.mts +20 -0
  264. package/dist/labels/CustomTickerCanvasElementTestLabel.d.ts +20 -0
  265. package/dist/labels/CustomTickerCanvasElementTestLabel.js +2792 -0
  266. package/dist/labels/CustomTickerCanvasElementTestLabel.js.map +1 -0
  267. package/dist/labels/CustomTickerCanvasElementTestLabel.mjs +2786 -0
  268. package/dist/labels/CustomTickerCanvasElementTestLabel.mjs.map +1 -0
  269. package/dist/labels/ImagesAnimationsTestLabel.d.mts +9 -0
  270. package/dist/labels/ImagesAnimationsTestLabel.d.ts +9 -0
  271. package/dist/labels/ImagesAnimationsTestLabel.js +3378 -0
  272. package/dist/labels/ImagesAnimationsTestLabel.js.map +1 -0
  273. package/dist/labels/ImagesAnimationsTestLabel.mjs +3372 -0
  274. package/dist/labels/ImagesAnimationsTestLabel.mjs.map +1 -0
  275. package/dist/labels/MarkdownTest.d.mts +9 -0
  276. package/dist/labels/MarkdownTest.d.ts +9 -0
  277. package/dist/labels/MarkdownTest.js +2756 -0
  278. package/dist/labels/MarkdownTest.js.map +1 -0
  279. package/dist/labels/MarkdownTest.mjs +2750 -0
  280. package/dist/labels/MarkdownTest.mjs.map +1 -0
  281. package/dist/labels/StartLabel.d.mts +10 -0
  282. package/dist/labels/StartLabel.d.ts +10 -0
  283. package/dist/labels/StartLabel.js +3736 -0
  284. package/dist/labels/StartLabel.js.map +1 -0
  285. package/dist/labels/StartLabel.mjs +3729 -0
  286. package/dist/labels/StartLabel.mjs.map +1 -0
  287. package/dist/labels/TestConstant.d.mts +17 -0
  288. package/dist/labels/TestConstant.d.ts +17 -0
  289. package/dist/labels/TestConstant.js +1872 -0
  290. package/dist/labels/TestConstant.js.map +1 -0
  291. package/dist/labels/TestConstant.mjs +1856 -0
  292. package/dist/labels/TestConstant.mjs.map +1 -0
  293. package/dist/labels/TickerTestLabel.d.mts +9 -0
  294. package/dist/labels/TickerTestLabel.d.ts +9 -0
  295. package/dist/labels/TickerTestLabel.js +2675 -0
  296. package/dist/labels/TickerTestLabel.js.map +1 -0
  297. package/dist/labels/TickerTestLabel.mjs +2669 -0
  298. package/dist/labels/TickerTestLabel.mjs.map +1 -0
  299. package/dist/labels/index.d.mts +10 -0
  300. package/dist/labels/index.d.ts +10 -0
  301. package/dist/labels/index.js +3736 -0
  302. package/dist/labels/index.js.map +1 -0
  303. package/dist/labels/index.mjs +3729 -0
  304. package/dist/labels/index.mjs.map +1 -0
  305. package/dist/managers/StepManager.d.mts +21 -15
  306. package/dist/managers/StepManager.d.ts +21 -15
  307. package/dist/managers/StepManager.js +610 -251
  308. package/dist/managers/StepManager.js.map +1 -1
  309. package/dist/managers/StepManager.mjs +610 -251
  310. package/dist/managers/StepManager.mjs.map +1 -1
  311. package/dist/managers/WindowManager.d.mts +38 -24
  312. package/dist/managers/WindowManager.d.ts +38 -24
  313. package/dist/managers/WindowManager.js +356 -170
  314. package/dist/managers/WindowManager.js.map +1 -1
  315. package/dist/managers/WindowManager.mjs +352 -170
  316. package/dist/managers/WindowManager.mjs.map +1 -1
  317. package/dist/managers/index.d.mts +15 -14
  318. package/dist/managers/index.d.ts +15 -14
  319. package/dist/managers/index.js +612 -251
  320. package/dist/managers/index.js.map +1 -1
  321. package/dist/managers/index.mjs +612 -251
  322. package/dist/managers/index.mjs.map +1 -1
  323. package/dist/types/CanvasEventNamesType.d.mts +1 -1
  324. package/dist/types/CanvasEventNamesType.d.ts +1 -1
  325. package/dist/types/ChoiceMenuOptionsType.d.mts +2 -2
  326. package/dist/types/ChoiceMenuOptionsType.d.ts +2 -2
  327. package/dist/types/HistoryChoiceMenuOption.d.mts +22 -0
  328. package/dist/types/HistoryChoiceMenuOption.d.ts +22 -0
  329. package/dist/types/HistoryChoiceMenuOption.js +4 -0
  330. package/dist/types/HistoryChoiceMenuOption.mjs +3 -0
  331. package/dist/types/PauseType.d.mts +8 -4
  332. package/dist/types/PauseType.d.ts +8 -4
  333. package/dist/types/PauseType.js +0 -11
  334. package/dist/types/PauseType.js.map +1 -1
  335. package/dist/types/PauseType.mjs +0 -9
  336. package/dist/types/PauseType.mjs.map +1 -1
  337. package/dist/types/RepeatType.d.mts +1 -2
  338. package/dist/types/RepeatType.d.ts +1 -2
  339. package/dist/types/RepeatType.js +0 -4
  340. package/dist/types/RepeatType.js.map +1 -1
  341. package/dist/types/RepeatType.mjs +0 -3
  342. package/dist/types/RepeatType.mjs.map +1 -1
  343. package/dist/types/index.d.mts +5 -4
  344. package/dist/types/index.d.ts +5 -4
  345. package/dist/types/index.js +0 -15
  346. package/dist/types/index.js.map +1 -1
  347. package/dist/types/index.mjs +1 -13
  348. package/dist/types/index.mjs.map +1 -1
  349. package/dist/types/ticker/{TickerFadeAlphaProps.d.mts → FadeAlphaTickerProps.d.mts} +9 -5
  350. package/dist/types/ticker/{TickerFadeAlphaProps.d.ts → FadeAlphaTickerProps.d.ts} +9 -5
  351. package/dist/types/ticker/FadeAlphaTickerProps.js +4 -0
  352. package/dist/types/ticker/FadeAlphaTickerProps.js.map +1 -0
  353. package/dist/types/ticker/FadeAlphaTickerProps.mjs +3 -0
  354. package/dist/types/ticker/FadeAlphaTickerProps.mjs.map +1 -0
  355. package/dist/types/ticker/{TickerMoveProps.d.mts → MoveTickerProps.d.mts} +14 -5
  356. package/dist/types/ticker/{TickerMoveProps.d.ts → MoveTickerProps.d.ts} +14 -5
  357. package/dist/types/ticker/{TickerRotateProps.js → MoveTickerProps.js} +1 -1
  358. package/dist/types/ticker/MoveTickerProps.js.map +1 -0
  359. package/dist/types/ticker/MoveTickerProps.mjs +3 -0
  360. package/dist/types/ticker/MoveTickerProps.mjs.map +1 -0
  361. package/dist/types/ticker/{TickerRotateProps.d.mts → RotateTickerProps.d.mts} +10 -4
  362. package/dist/types/ticker/{TickerRotateProps.d.ts → RotateTickerProps.d.ts} +10 -4
  363. package/dist/types/ticker/RotateTickerProps.js +4 -0
  364. package/dist/types/ticker/RotateTickerProps.js.map +1 -0
  365. package/dist/types/ticker/RotateTickerProps.mjs +3 -0
  366. package/dist/types/ticker/RotateTickerProps.mjs.map +1 -0
  367. package/dist/types/ticker/TagToRemoveAfterType.d.mts +4 -0
  368. package/dist/types/ticker/TagToRemoveAfterType.d.ts +4 -0
  369. package/dist/types/ticker/TagToRemoveAfterType.js +8 -0
  370. package/dist/types/ticker/TagToRemoveAfterType.js.map +1 -0
  371. package/dist/types/ticker/TagToRemoveAfterType.mjs +6 -0
  372. package/dist/types/ticker/TagToRemoveAfterType.mjs.map +1 -0
  373. package/dist/types/ticker/ZoomTickerProps.d.mts +45 -0
  374. package/dist/types/ticker/ZoomTickerProps.d.ts +45 -0
  375. package/dist/types/ticker/ZoomTickerProps.js +4 -0
  376. package/dist/types/ticker/ZoomTickerProps.js.map +1 -0
  377. package/dist/types/ticker/ZoomTickerProps.mjs +3 -0
  378. package/dist/types/ticker/ZoomTickerProps.mjs.map +1 -0
  379. package/dist/types/ticker/index.d.mts +4 -2
  380. package/dist/types/ticker/index.d.ts +4 -2
  381. package/package.json +7 -7
  382. package/dist/classes/ticker/TickerFadeAlpha.d.mts +0 -31
  383. package/dist/classes/ticker/TickerFadeAlpha.d.ts +0 -31
  384. package/dist/classes/ticker/TickerFadeAlpha.js.map +0 -1
  385. package/dist/classes/ticker/TickerFadeAlpha.mjs.map +0 -1
  386. package/dist/classes/ticker/TickerMove.d.mts +0 -29
  387. package/dist/classes/ticker/TickerMove.d.ts +0 -29
  388. package/dist/classes/ticker/TickerMove.js.map +0 -1
  389. package/dist/classes/ticker/TickerMove.mjs.map +0 -1
  390. package/dist/classes/ticker/TickerRotate.d.mts +0 -30
  391. package/dist/classes/ticker/TickerRotate.d.ts +0 -30
  392. package/dist/classes/ticker/TickerRotate.js.map +0 -1
  393. package/dist/classes/ticker/TickerRotate.mjs.map +0 -1
  394. package/dist/functions/ErrorUtility.d.mts +0 -24
  395. package/dist/functions/ErrorUtility.d.ts +0 -24
  396. package/dist/functions/ErrorUtility.js +0 -261
  397. package/dist/functions/ErrorUtility.js.map +0 -1
  398. package/dist/functions/ErrorUtility.mjs +0 -258
  399. package/dist/functions/ErrorUtility.mjs.map +0 -1
  400. package/dist/interface/IClassWithArgsHistory.d.mts +0 -25
  401. package/dist/interface/IClassWithArgsHistory.d.ts +0 -25
  402. package/dist/interface/IClassWithArgsHistory.js +0 -4
  403. package/dist/interface/IClassWithArgsHistory.mjs +0 -3
  404. package/dist/types/ticker/TickerFadeAlphaProps.js +0 -4
  405. package/dist/types/ticker/TickerFadeAlphaProps.mjs +0 -3
  406. package/dist/types/ticker/TickerMoveProps.mjs +0 -3
  407. package/dist/types/ticker/TickerRotateProps.mjs +0 -3
  408. /package/dist/interface/{IClassWithArgsHistory.js.map → CharacterBaseModelProps.js.map} +0 -0
  409. /package/dist/interface/{IClassWithArgsHistory.mjs.map → CharacterBaseModelProps.mjs.map} +0 -0
  410. /package/dist/{types/ticker/TickerFadeAlphaProps.js.map → interface/TickerHistory.js.map} +0 -0
  411. /package/dist/{types/ticker/TickerFadeAlphaProps.mjs.map → interface/TickerHistory.mjs.map} +0 -0
  412. /package/dist/{types/ticker/TickerMoveProps.js.map → interface/TickerTimeoutHistory.js.map} +0 -0
  413. /package/dist/{types/ticker/TickerMoveProps.mjs.map → interface/TickerTimeoutHistory.mjs.map} +0 -0
  414. /package/dist/types/{ticker/TickerRotateProps.js.map → HistoryChoiceMenuOption.js.map} +0 -0
  415. /package/dist/types/{ticker/TickerRotateProps.mjs.map → HistoryChoiceMenuOption.mjs.map} +0 -0
@@ -1,9 +1,13 @@
1
1
  'use strict';
2
2
 
3
3
  require('deep-diff');
4
- require('crypto-js/sha1');
4
+ var sha1 = require('crypto-js/sha1');
5
5
  var pixi_js = require('pixi.js');
6
6
 
7
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
8
+
9
+ var sha1__default = /*#__PURE__*/_interopDefault(sha1);
10
+
7
11
  var __defProp = Object.defineProperty;
8
12
  var __defProps = Object.defineProperties;
9
13
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -29,8 +33,7 @@ var __decorateClass = (decorators, target, key, kind) => {
29
33
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
30
34
  if (decorator = decorators[i])
31
35
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
32
- if (kind && result)
33
- __defProp(target, key, result);
36
+ if (kind && result) __defProp(target, key, result);
34
37
  return result;
35
38
  };
36
39
  var __async = (__this, __arguments, generator) => {
@@ -56,6 +59,13 @@ var __async = (__this, __arguments, generator) => {
56
59
 
57
60
  // src/classes/CanvasEvent.ts
58
61
  var CanvasEvent = class {
62
+ constructor() {
63
+ /**
64
+ * Get the id of the event. This variable is used in the system to get the event by id, {@link getEventInstanceById}
65
+ */
66
+ this.id = "event_id_not_set";
67
+ this.id = this.constructor.prototype.id;
68
+ }
59
69
  fn(_event, _element) {
60
70
  throw new Error("[Pixi'VN] The method CanvasEvent.fn() must be overridden");
61
71
  }
@@ -79,7 +89,7 @@ var Label = class {
79
89
  this._choiseIndex = choiseIndex;
80
90
  }
81
91
  /**
82
- * Get the id of the label
92
+ * Get the id of the label. This variable is used in the system to get the label by id, {@link getLabelById}
83
93
  */
84
94
  get id() {
85
95
  return this._id;
@@ -160,17 +170,23 @@ function exportCanvasElement(element) {
160
170
  return element.memory;
161
171
  }
162
172
  function importCanvasElement(memory) {
163
- let element = getCanvasElementInstanceByClassName(memory.className);
173
+ let element = getCanvasElementInstanceById(memory.pixivnId);
164
174
  if (element) {
165
175
  element.memory = memory;
166
176
  } else {
167
- throw new Error("[Pixi'VN] The element " + memory.className + " could not be created");
177
+ throw new Error("[Pixi'VN] The element " + memory.pixivnId + " could not be created");
168
178
  }
169
179
  return element;
170
180
  }
171
181
 
172
182
  // src/classes/canvas/CanvasContainer.ts
183
+ var CANVAS_CONTAINER_ID = "CanvasContainer";
173
184
  var CanvasContainer = class extends pixi_js.Container {
185
+ constructor(options) {
186
+ super(options);
187
+ this.pixivnId = CANVAS_CONTAINER_ID;
188
+ this.pixivnId = this.constructor.prototype.pixivnId;
189
+ }
174
190
  get memory() {
175
191
  let memory = getMemoryContainer(this);
176
192
  this.children.forEach((child) => {
@@ -186,8 +202,12 @@ var CanvasContainer = class extends pixi_js.Container {
186
202
  }
187
203
  };
188
204
  function getMemoryContainer(element) {
205
+ let className = "CanvasContainer";
206
+ if (element.hasOwnProperty("pixivnId")) {
207
+ className = element.pixivnId;
208
+ }
189
209
  return {
190
- className: "CanvasContainer",
210
+ pixivnId: className,
191
211
  elements: [],
192
212
  width: element.width,
193
213
  height: element.height,
@@ -303,40 +323,43 @@ function getTextStyle(style) {
303
323
 
304
324
  // src/decorators/EventDecorator.ts
305
325
  var registeredEvents = {};
306
- function getEventTypeByClassName(eventName) {
326
+ function getEventTypeById(eventId) {
307
327
  try {
308
- let eventType = registeredEvents[eventName];
328
+ let eventType = registeredEvents[eventId];
309
329
  if (!eventType) {
310
- console.error(`[Pixi'VN] Event ${eventName} not found`);
330
+ console.error(`[Pixi'VN] Event ${eventId} not found`);
311
331
  return;
312
332
  }
313
333
  new eventType();
314
334
  return eventType;
315
335
  } catch (e) {
316
- console.error(`[Pixi'VN] Error while getting Event ${eventName}`, e);
336
+ console.error(`[Pixi'VN] Error while getting Event ${eventId}`, e);
317
337
  return;
318
338
  }
319
339
  }
320
- function getEventInstanceByClassName(eventName) {
340
+ function getEventInstanceById(eventId) {
321
341
  try {
322
- let eventType = registeredEvents[eventName];
342
+ let eventType = registeredEvents[eventId];
323
343
  if (!eventType) {
324
- console.error(`[Pixi'VN] Event ${eventName} not found`);
344
+ console.error(`[Pixi'VN] Event ${eventId} not found`);
325
345
  return;
326
346
  }
327
347
  let event = new eventType();
328
348
  return event;
329
349
  } catch (e) {
330
- console.error(`[Pixi'VN] Error while getting Event ${eventName}`, e);
350
+ console.error(`[Pixi'VN] Error while getting Event ${eventId}`, e);
331
351
  return;
332
352
  }
333
353
  }
334
354
 
335
355
  // src/classes/canvas/CanvasSprite.ts
356
+ var CANVAS_SPRITE_ID = "CanvasSprite";
336
357
  var CanvasSprite = class _CanvasSprite extends pixi_js.Sprite {
337
- constructor() {
338
- super(...arguments);
358
+ constructor(options) {
359
+ super(options);
360
+ this.pixivnId = CANVAS_SPRITE_ID;
339
361
  this._onEvents = {};
362
+ this.pixivnId = this.constructor.prototype.pixivnId;
340
363
  }
341
364
  get memory() {
342
365
  return getMemorySprite(this);
@@ -377,9 +400,9 @@ var CanvasSprite = class _CanvasSprite extends pixi_js.Sprite {
377
400
  * ```
378
401
  */
379
402
  onEvent(event, eventClass) {
380
- let className = eventClass.name;
381
- let instance = getEventInstanceByClassName(className);
382
- this._onEvents[event] = className;
403
+ let id = eventClass.prototype.id;
404
+ let instance = getEventInstanceById(id);
405
+ this._onEvents[event] = id;
383
406
  if (instance) {
384
407
  super.on(event, () => {
385
408
  instance.fn(event, this);
@@ -408,7 +431,7 @@ var CanvasSprite = class _CanvasSprite extends pixi_js.Sprite {
408
431
  function getMemorySprite(element) {
409
432
  let temp = getMemoryContainer(element);
410
433
  return __spreadProps(__spreadValues({}, temp), {
411
- className: "CanvasSprite",
434
+ pixivnId: element.pixivnId,
412
435
  textureImage: getTextureMemory(element.texture),
413
436
  anchor: { x: element.anchor.x, y: element.anchor.y },
414
437
  roundPixels: element.roundPixels,
@@ -431,8 +454,8 @@ function setMemorySprite(element, memory) {
431
454
  }
432
455
  memory.roundPixels && (element.roundPixels = memory.roundPixels);
433
456
  for (let event in memory.onEvents) {
434
- let className = memory.onEvents[event];
435
- let instance = getEventTypeByClassName(className);
457
+ let id = memory.onEvents[event];
458
+ let instance = getEventTypeById(id);
436
459
  if (instance) {
437
460
  element.onEvent(event, instance);
438
461
  }
@@ -440,9 +463,11 @@ function setMemorySprite(element, memory) {
440
463
  }
441
464
 
442
465
  // src/classes/canvas/CanvasImage.ts
466
+ var CANVAS_IMAGE_ID = "CanvasImage";
443
467
  var CanvasImage = class _CanvasImage extends CanvasSprite {
444
468
  constructor(options, imageLink) {
445
469
  super(options);
470
+ this.pixivnId = CANVAS_IMAGE_ID;
446
471
  this.imageLink = "";
447
472
  if (imageLink) {
448
473
  this.imageLink = imageLink;
@@ -450,12 +475,13 @@ var CanvasImage = class _CanvasImage extends CanvasSprite {
450
475
  }
451
476
  get memory() {
452
477
  return __spreadProps(__spreadValues({}, getMemorySprite(this)), {
453
- className: "CanvasImage",
454
- textureImage: { image: this.imageLink }
478
+ pixivnId: this.pixivnId,
479
+ imageLink: this.imageLink
455
480
  });
456
481
  }
457
482
  set memory(memory) {
458
483
  setMemorySprite(this, memory);
484
+ this.imageLink = memory.imageLink;
459
485
  }
460
486
  static from(source, skipCache) {
461
487
  let sprite = pixi_js.Sprite.from(source, skipCache);
@@ -483,10 +509,13 @@ var CanvasImage = class _CanvasImage extends CanvasSprite {
483
509
  });
484
510
  }
485
511
  };
512
+ var CANVAS_TEXT_ID = "CanvasText";
486
513
  var CanvasText = class extends pixi_js.Text {
487
- constructor() {
488
- super(...arguments);
514
+ constructor(options) {
515
+ super(options);
516
+ this.pixivnId = CANVAS_TEXT_ID;
489
517
  this._onEvents = {};
518
+ this.pixivnId = this.constructor.prototype.pixivnId;
490
519
  }
491
520
  get memory() {
492
521
  return getMemoryText(this);
@@ -527,9 +556,9 @@ var CanvasText = class extends pixi_js.Text {
527
556
  * ```
528
557
  */
529
558
  onEvent(event, eventClass) {
530
- let className = eventClass.name;
531
- let instance = getEventInstanceByClassName(className);
532
- this._onEvents[event] = className;
559
+ let id = eventClass.prototype.id;
560
+ let instance = getEventInstanceById(id);
561
+ this._onEvents[event] = id;
533
562
  if (instance) {
534
563
  super.on(event, () => {
535
564
  instance.fn(event, this);
@@ -552,7 +581,7 @@ var CanvasText = class extends pixi_js.Text {
552
581
  function getMemoryText(element) {
553
582
  let temp = getMemoryContainer(element);
554
583
  return __spreadProps(__spreadValues({}, temp), {
555
- className: "CanvasText",
584
+ pixivnId: element.pixivnId,
556
585
  anchor: { x: element.anchor.x, y: element.anchor.y },
557
586
  text: element.text,
558
587
  resolution: element.resolution,
@@ -575,8 +604,8 @@ function setMemoryText(element, memory) {
575
604
  memory.style && (element.style = memory.style);
576
605
  memory.roundPixels && (element.roundPixels = memory.roundPixels);
577
606
  for (let event in memory.onEvents) {
578
- let className = memory.onEvents[event];
579
- let instance = getEventTypeByClassName(className);
607
+ let id = memory.onEvents[event];
608
+ let instance = getEventTypeById(id);
580
609
  if (instance) {
581
610
  element.onEvent(event, instance);
582
611
  }
@@ -585,28 +614,28 @@ function setMemoryText(element, memory) {
585
614
 
586
615
  // src/decorators/CanvasElementDecorator.ts
587
616
  var registeredCanvasElement = {};
588
- function getCanvasElementInstanceByClassName(canvasName) {
617
+ function getCanvasElementInstanceById(canvasId) {
589
618
  try {
590
- let eventType = registeredCanvasElement[canvasName];
619
+ let eventType = registeredCanvasElement[canvasId];
591
620
  if (!eventType) {
592
- if (canvasName === "CanvasContainer") {
621
+ if (canvasId === CANVAS_CONTAINER_ID) {
593
622
  eventType = CanvasContainer;
594
- } else if (canvasName === "CanvasImage") {
623
+ } else if (canvasId === CANVAS_IMAGE_ID) {
595
624
  eventType = CanvasImage;
596
- } else if (canvasName === "CanvasSprite") {
625
+ } else if (canvasId === CANVAS_SPRITE_ID) {
597
626
  eventType = CanvasSprite;
598
- } else if (canvasName === "CanvasText") {
627
+ } else if (canvasId === CANVAS_TEXT_ID) {
599
628
  eventType = CanvasText;
600
629
  }
601
630
  }
602
631
  if (!eventType) {
603
- console.error(`[Pixi'VN] CanvasElement ${canvasName} not found`);
632
+ console.error(`[Pixi'VN] CanvasElement ${canvasId} not found`);
604
633
  return;
605
634
  }
606
635
  let canvasElement = new eventType();
607
636
  return canvasElement;
608
637
  } catch (e) {
609
- console.error(`[Pixi'VN] Error while getting CanvasElement ${canvasName}`, e);
638
+ console.error(`[Pixi'VN] Error while getting CanvasElement ${canvasId}`, e);
610
639
  return;
611
640
  }
612
641
  }
@@ -619,21 +648,22 @@ function tickerDecorator(name) {
619
648
  name = target.name;
620
649
  }
621
650
  if (registeredTickers[name]) {
622
- console.warn(`[Pixi'VN] Ticker ${name} already exists, it will be overwritten`);
651
+ console.info(`[Pixi'VN] Ticker ${name} already exists, it will be overwritten`);
623
652
  }
653
+ target.prototype.id = name;
624
654
  registeredTickers[name] = target;
625
655
  };
626
656
  }
627
- function geTickerInstanceByClassName(tickerName, args, duration, priority) {
657
+ function geTickerInstanceById(tickerId, args, duration, priority) {
628
658
  try {
629
- let ticker = registeredTickers[tickerName];
659
+ let ticker = registeredTickers[tickerId];
630
660
  if (!ticker) {
631
- console.error(`[Pixi'VN] Ticker ${tickerName} not found`);
661
+ console.error(`[Pixi'VN] Ticker ${tickerId} not found`);
632
662
  return;
633
663
  }
634
664
  return new ticker(args, duration, priority);
635
665
  } catch (e) {
636
- console.error(`[Pixi'VN] Error while getting Ticker ${tickerName}`, e);
666
+ console.error(`[Pixi'VN] Error while getting Ticker ${tickerId}`, e);
637
667
  return;
638
668
  }
639
669
  }
@@ -641,12 +671,6 @@ function geTickerInstanceByClassName(tickerName, args, duration, priority) {
641
671
  // src/types/CloseType.ts
642
672
  var Close = "close";
643
673
 
644
- // src/types/PauseType.ts
645
- var PauseValueType = "pause";
646
-
647
- // src/types/RepeatType.ts
648
- var Repeat = "repeat";
649
-
650
674
  // src/classes/ChoiceMenuOption.ts
651
675
  var ChoiceMenuOption = class {
652
676
  /**
@@ -679,8 +703,9 @@ var ChoiceMenuOption = class {
679
703
  var ChoiceMenuOptionClose = class {
680
704
  /**
681
705
  * @param text Text to be displayed in the menu
706
+ * @param closeCurrentLabel If true, the current label will be closed. @default false
682
707
  */
683
- constructor(text) {
708
+ constructor(text, closeCurrentLabel = false) {
684
709
  /**
685
710
  * Label to be opened when the option is selected
686
711
  */
@@ -694,6 +719,7 @@ var ChoiceMenuOptionClose = class {
694
719
  */
695
720
  this.props = {};
696
721
  this.text = text;
722
+ this.closeCurrentLabel = closeCurrentLabel;
697
723
  }
698
724
  };
699
725
 
@@ -701,39 +727,42 @@ var ChoiceMenuOptionClose = class {
701
727
  var TickerBase = class {
702
728
  /**
703
729
  * @param args The arguments that you want to pass to the ticker.
704
- * @param duration The duration of the ticker. If is undefined, the ticker will be called every frame.
705
- * @param priority The priority of the ticker. If is undefined, the priority will be UPDATE_PRIORITY.NORMAL.
730
+ * @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
731
+ * @param priority The priority of the ticker. @default UPDATE_PRIORITY.NORMAL
706
732
  */
707
733
  constructor(args, duration, priority) {
734
+ /**
735
+ * Get the id of the ticker. This variable is used in the system to get the ticker by id, {@link geTickerInstanceById}
736
+ */
737
+ this.id = "ticker_id_not_set";
708
738
  this.args = args;
709
739
  this.duration = duration;
710
740
  this.priority = priority;
741
+ this.id = this.constructor.prototype.id;
711
742
  }
712
743
  /**
713
744
  * The method that will be called every frame.
714
745
  * This method should be overridden and you can use GameWindowManager.addCanvasElement() to get the canvas element of the canvas, and edit them.
715
- * @param t The ticker that is calling this method
716
- * @param args The arguments that you passed when you added the ticker
717
- * @param tags The tags of the canvas elements that are connected to this ticker
746
+ * @param _ticker The ticker that is calling this method
747
+ * @param _args The arguments that you passed when you added the ticker
748
+ * @param _tags The tags of the canvas elements that are connected to this ticker
749
+ * @param _tickerId The id of the ticker. You can use this to get the ticker from the {@link GameWindowManager.currentTickers}
718
750
  */
719
- fn(_t, _args, _tags) {
751
+ fn(_ticker, _args, _tags, _tickerId) {
720
752
  throw new Error("[Pixi'VN] The method TickerBase.fn() must be overridden");
721
753
  }
722
754
  };
723
- var TickerFadeAlpha = class extends TickerBase {
724
- /**
725
- * The method that will be called every frame to fade the alpha of the canvas element of the canvas.
726
- * @param delta The delta time
727
- * @param args The arguments that are passed to the ticker
728
- * @param tags The tags of the canvas element that are connected to this ticker
729
- */
730
- fn(t, args, tags) {
755
+
756
+ // src/classes/ticker/FadeAlphaTicker.ts
757
+ var FadeAlphaTicker = class extends TickerBase {
758
+ fn(ticker, args, tags, tickerId) {
731
759
  let type = args.type === void 0 ? "hide" : args.type;
732
- let speed = args.speed === void 0 ? 0.1 : args.speed;
760
+ let duration = args.duration === void 0 ? 1 : args.duration;
761
+ let speed = 1 / (duration * 60);
733
762
  let limit = args.limit === void 0 ? type === "hide" ? 0 : 1 : args.limit;
734
- let removeElementAfter = args.tagToRemoveAfter || [];
735
- if (typeof removeElementAfter === "string") {
736
- removeElementAfter = [removeElementAfter];
763
+ let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
764
+ if (typeof tagToRemoveAfter2 === "string") {
765
+ tagToRemoveAfter2 = [tagToRemoveAfter2];
737
766
  }
738
767
  if (type === "hide" && limit < 0) {
739
768
  limit = 0;
@@ -754,61 +783,88 @@ var TickerFadeAlpha = class extends TickerBase {
754
783
  let element = GameWindowManager.getCanvasElement(tag);
755
784
  if (element && element instanceof pixi_js.Container) {
756
785
  if (type === "show" && element.alpha < limit) {
757
- element.alpha += speed * t.deltaTime;
786
+ element.alpha += speed * ticker.deltaTime;
758
787
  } else if (type === "hide" && element.alpha > limit) {
759
- element.alpha -= speed * t.deltaTime;
760
- } else {
788
+ element.alpha -= speed * ticker.deltaTime;
789
+ }
790
+ if (type === "show" && element.alpha >= limit) {
791
+ element.alpha = limit;
792
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
793
+ } else if (type === "hide" && element.alpha <= limit) {
761
794
  element.alpha = limit;
762
- GameWindowManager.removeAssociationBetweenTickerCanvasElement(tag, this);
763
- GameWindowManager.removeCanvasElement(removeElementAfter);
795
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
764
796
  }
765
797
  }
766
798
  });
767
799
  }
768
800
  };
769
- TickerFadeAlpha = __decorateClass([
801
+ FadeAlphaTicker = __decorateClass([
770
802
  tickerDecorator()
771
- ], TickerFadeAlpha);
803
+ ], FadeAlphaTicker);
772
804
 
773
805
  // src/functions/TickerUtility.ts
774
806
  function updateTickerProgression(args, propertyName, progression) {
775
- if (args.hasOwnProperty(propertyName) && typeof args[propertyName] !== "number") {
807
+ if (args[propertyName] === void 0 || !progression || args[propertyName] === progression.limit) {
776
808
  return;
777
809
  }
778
- if (args[propertyName] !== void 0 && progression && args[propertyName] !== progression.limit) {
810
+ if (typeof args[propertyName] === "number") {
779
811
  if (progression.type === "linear") {
780
- args[propertyName] += progression.amt;
781
- if (progression.limit !== void 0) {
782
- if (args[propertyName] > progression.limit && progression.amt > 0) {
783
- args[propertyName] = progression.limit;
784
- } else if (args[propertyName] < progression.limit && progression.amt < 0) {
785
- args[propertyName] = progression.limit;
786
- }
787
- }
812
+ args[propertyName] = getLinearProgression(args[propertyName], progression);
788
813
  } else if (progression.type === "exponential") {
789
- args[propertyName] += args[propertyName] * progression.percentage;
790
- if (progression.limit !== void 0) {
791
- if (args[propertyName] > progression.limit && progression.percentage > 0) {
792
- args[propertyName] = progression.limit;
793
- } else if (args[propertyName] < progression.limit && progression.percentage < 0) {
794
- args[propertyName] = progression.limit;
795
- }
796
- }
814
+ args[propertyName] = getExponentialProgression(args[propertyName], progression);
815
+ }
816
+ } 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") {
817
+ if (progression.type === "linear") {
818
+ args[propertyName].x = getLinearProgression(args[propertyName].x, progression);
819
+ args[propertyName].y = getLinearProgression(args[propertyName].y, progression);
820
+ } else if (progression.type === "exponential") {
821
+ args[propertyName].x = getExponentialProgression(args[propertyName].x, progression);
822
+ args[propertyName].y = getExponentialProgression(args[propertyName].y, progression);
823
+ }
824
+ }
825
+ }
826
+ function getLinearProgression(number, progression) {
827
+ if (progression.limit !== void 0) {
828
+ if (number > progression.limit && progression.amt > 0) {
829
+ return progression.limit;
830
+ } else if (number < progression.limit && progression.amt < 0) {
831
+ return progression.limit;
832
+ }
833
+ }
834
+ return number + progression.amt / 60;
835
+ }
836
+ function getExponentialProgression(number, progression) {
837
+ if (progression.limit !== void 0) {
838
+ if (number > progression.limit && progression.percentage > 0) {
839
+ return progression.limit;
840
+ } else if (number < progression.limit && progression.percentage < 0) {
841
+ return progression.limit;
797
842
  }
798
843
  }
844
+ return number + number * progression.percentage;
799
845
  }
800
846
 
801
- // src/classes/ticker/TickerMove.ts
802
- var TickerMove = class extends TickerBase {
803
- /**
804
- * The method that will be called every frame to move the canvas element of the canvas.
805
- * @param t The ticker that is calling this method
806
- * @param args The arguments that are passed to the ticker
807
- * @param tags The tags of the canvas element that are connected to this ticker
808
- */
809
- fn(t, args, tags) {
810
- let speed = args.speed === void 0 ? 0.1 : args.speed;
847
+ // src/classes/ticker/MoveTicker.ts
848
+ var MoveTicker = class extends TickerBase {
849
+ fn(ticker, args, tags, tickerId) {
850
+ let xSpeed = 1;
851
+ let ySpeed = 1;
852
+ if (args.speed) {
853
+ if (typeof args.speed === "number") {
854
+ xSpeed = args.speed;
855
+ ySpeed = args.speed;
856
+ } else {
857
+ xSpeed = args.speed.x;
858
+ ySpeed = args.speed.y;
859
+ }
860
+ }
861
+ xSpeed /= 60;
862
+ ySpeed /= 60;
811
863
  let destination = args.destination;
864
+ let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
865
+ if (typeof tagToRemoveAfter2 === "string") {
866
+ tagToRemoveAfter2 = [tagToRemoveAfter2];
867
+ }
812
868
  tags.filter((tag) => {
813
869
  var _a;
814
870
  let element = GameWindowManager.getCanvasElement(tag);
@@ -821,41 +877,42 @@ var TickerMove = class extends TickerBase {
821
877
  }).forEach((tag) => {
822
878
  let element = GameWindowManager.getCanvasElement(tag);
823
879
  if (element && element instanceof pixi_js.Container) {
824
- let xDistance = destination.x - element.x;
880
+ let xDistance = destination.x - element.x > 0 ? 1 : -1;
825
881
  if (xDistance != 0) {
826
- element.x += xDistance / speed * t.deltaTime;
882
+ element.x += xDistance * xSpeed * ticker.deltaTime;
827
883
  let newDistance = destination.x - element.x;
828
884
  if (xDistance < 0 && newDistance > 0 || xDistance > 0 && newDistance < 0) {
829
885
  element.x = destination.x;
830
886
  }
831
887
  }
832
- let yDistance = destination.y - element.y;
888
+ let yDistance = destination.y - element.y > 0 ? 1 : -1;
833
889
  if (yDistance != 0) {
834
- element.y += yDistance / speed * t.deltaTime;
890
+ element.y += yDistance * ySpeed * ticker.deltaTime;
835
891
  let newDistance = destination.y - element.y;
836
892
  if (yDistance < 0 && newDistance > 0 || yDistance > 0 && newDistance < 0) {
837
893
  element.y = destination.y;
838
894
  }
839
895
  }
896
+ if (element.x == destination.x && element.y == destination.y) {
897
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
898
+ }
840
899
  }
841
900
  });
842
901
  if (args.speedProgression)
843
902
  updateTickerProgression(args, "speed", args.speedProgression);
844
903
  }
845
904
  };
846
- TickerMove = __decorateClass([
905
+ MoveTicker = __decorateClass([
847
906
  tickerDecorator()
848
- ], TickerMove);
849
- var TickerRotate = class extends TickerBase {
850
- /**
851
- * The method that will be called every frame to rotate the canvas element of the canvas.
852
- * @param delta The delta time
853
- * @param args The arguments that are passed to the ticker
854
- * @param tags The tags of the canvas element that are connected to this ticker
855
- */
856
- fn(t, args, tags) {
857
- let speed = args.speed === void 0 ? 0.1 : args.speed;
907
+ ], MoveTicker);
908
+ var RotateTicker = class extends TickerBase {
909
+ fn(ticker, args, tags, tickerId) {
910
+ let speed = (args.speed === void 0 ? 1 : args.speed) / 60;
858
911
  let clockwise = args.clockwise === void 0 ? true : args.clockwise;
912
+ let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
913
+ if (typeof tagToRemoveAfter2 === "string") {
914
+ tagToRemoveAfter2 = [tagToRemoveAfter2];
915
+ }
859
916
  tags.filter((tag) => {
860
917
  var _a;
861
918
  let element = GameWindowManager.getCanvasElement(tag);
@@ -869,18 +926,114 @@ var TickerRotate = class extends TickerBase {
869
926
  let element = GameWindowManager.getCanvasElement(tag);
870
927
  if (element && element instanceof pixi_js.Container) {
871
928
  if (clockwise)
872
- element.rotation += speed * t.deltaTime;
929
+ element.rotation += speed * ticker.deltaTime;
873
930
  else
874
- element.rotation -= speed * t.deltaTime;
931
+ element.rotation -= speed * ticker.deltaTime;
932
+ if (speed < 1e-5 && !(args.speedProgression && args.speedProgression.type == "linear" && args.speedProgression.amt != 0)) {
933
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
934
+ }
935
+ }
936
+ });
937
+ if (args.speedProgression)
938
+ updateTickerProgression(args, "speed", args.speedProgression);
939
+ }
940
+ };
941
+ RotateTicker = __decorateClass([
942
+ tickerDecorator()
943
+ ], RotateTicker);
944
+ var ZoomTicker = class extends TickerBase {
945
+ fn(ticker, args, tags, tickerId) {
946
+ let xSpeed = 0.1;
947
+ let ySpeed = 0.1;
948
+ if (args.speed) {
949
+ if (typeof args.speed === "number") {
950
+ xSpeed = args.speed;
951
+ ySpeed = args.speed;
952
+ } else {
953
+ xSpeed = args.speed.x;
954
+ ySpeed = args.speed.y;
955
+ }
956
+ }
957
+ xSpeed /= 60;
958
+ ySpeed /= 60;
959
+ let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
960
+ if (typeof tagToRemoveAfter2 === "string") {
961
+ tagToRemoveAfter2 = [tagToRemoveAfter2];
962
+ }
963
+ let type = args.type || "zoom";
964
+ let xLimit = type === "zoom" ? Infinity : 0;
965
+ let yLimit = type === "zoom" ? Infinity : 0;
966
+ if (args.limit) {
967
+ if (typeof args.limit === "number") {
968
+ xLimit = args.limit;
969
+ yLimit = args.limit;
970
+ } else {
971
+ xLimit = args.limit.x;
972
+ yLimit = args.limit.y;
973
+ }
974
+ }
975
+ tags.filter((tag) => {
976
+ var _a;
977
+ let element = GameWindowManager.getCanvasElement(tag);
978
+ if (args.startOnlyIfHaveTexture) {
979
+ if (element && element instanceof pixi_js.Sprite && ((_a = element.texture) == null ? void 0 : _a.label) == "EMPTY") {
980
+ return false;
981
+ }
982
+ }
983
+ return true;
984
+ }).forEach((tag) => {
985
+ let element = GameWindowManager.getCanvasElement(tag);
986
+ if (element && element instanceof pixi_js.Container) {
987
+ if (type === "zoom" && (element.scale.x < xLimit || element.scale.y < yLimit)) {
988
+ element.scale.x += xSpeed * ticker.deltaTime;
989
+ element.scale.y += ySpeed * ticker.deltaTime;
990
+ } else if (type === "unzoom" && (element.scale.x > xLimit || element.scale.y > yLimit)) {
991
+ element.scale.x -= xSpeed * ticker.deltaTime;
992
+ element.scale.y -= ySpeed * ticker.deltaTime;
993
+ }
994
+ if (type === "zoom") {
995
+ if (element.scale.x > xLimit) {
996
+ element.scale.x = xLimit;
997
+ }
998
+ if (element.scale.y > yLimit) {
999
+ element.scale.y = yLimit;
1000
+ }
1001
+ if (element.scale.x >= xLimit && element.scale.y >= yLimit) {
1002
+ element.scale.x = xLimit;
1003
+ element.scale.y = yLimit;
1004
+ this.onEndOfTicker(tag, tickerId, element, tagToRemoveAfter2);
1005
+ }
1006
+ } else if (type === "unzoom") {
1007
+ if (element.scale.x < xLimit) {
1008
+ element.scale.x = xLimit;
1009
+ }
1010
+ if (element.scale.y < yLimit) {
1011
+ element.scale.y = yLimit;
1012
+ }
1013
+ if (element.scale.x <= xLimit && element.scale.y <= yLimit) {
1014
+ element.scale.x = xLimit;
1015
+ element.scale.y = yLimit;
1016
+ this.onEndOfTicker(tag, tickerId, element, tagToRemoveAfter2);
1017
+ }
1018
+ }
1019
+ if (xSpeed < 1e-5 && ySpeed < 1e-5 && !(args.speedProgression && args.speedProgression.type == "linear" && args.speedProgression.amt != 0)) {
1020
+ this.onEndOfTicker(tag, tickerId, element, tagToRemoveAfter2);
1021
+ }
875
1022
  }
876
1023
  });
877
1024
  if (args.speedProgression)
878
1025
  updateTickerProgression(args, "speed", args.speedProgression);
879
1026
  }
1027
+ onEndOfTicker(tag, tickerId, _element, tagToRemoveAfter2) {
1028
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
1029
+ }
880
1030
  };
881
- TickerRotate = __decorateClass([
1031
+ ZoomTicker = __decorateClass([
882
1032
  tickerDecorator()
883
- ], TickerRotate);
1033
+ ], ZoomTicker);
1034
+
1035
+ // src/constants.ts
1036
+ var Repeat = "repeat";
884
1037
 
885
1038
  // src/functions/ExportUtility.ts
886
1039
  function createExportableElement(element) {
@@ -989,6 +1142,9 @@ function asciiArtLog() {
989
1142
  `);
990
1143
  }
991
1144
 
1145
+ // src/types/ticker/TagToRemoveAfterType.ts
1146
+ var tagToRemoveAfter = "tagToRemoveAfter";
1147
+
992
1148
  // src/managers/WindowManager.ts
993
1149
  var _GameWindowManager = class _GameWindowManager {
994
1150
  constructor() {
@@ -1171,25 +1327,25 @@ var _GameWindowManager = class _GameWindowManager {
1171
1327
  /**
1172
1328
  * Remove a canvas element from the canvas.
1173
1329
  * And remove all tickers that are not connected to any canvas element.
1174
- * @param tag The tag of the canvas element to be removed.
1330
+ * @param tags The tag of the canvas element to be removed.
1175
1331
  * @returns
1176
1332
  * @example
1177
1333
  * ```typescript
1178
1334
  * GameWindowManager.removeCanvasElement("bunny");
1179
1335
  * ```
1180
1336
  */
1181
- static removeCanvasElement(tag) {
1182
- if (typeof tag === "string") {
1183
- tag = [tag];
1337
+ static removeCanvasElement(tags) {
1338
+ if (typeof tags === "string") {
1339
+ tags = [tags];
1184
1340
  }
1185
- tag.forEach((t) => {
1186
- if (_GameWindowManager._children[t]) {
1187
- _GameWindowManager.app.stage.removeChild(_GameWindowManager._children[t]);
1188
- delete _GameWindowManager._children[t];
1341
+ tags.forEach((tag) => {
1342
+ if (_GameWindowManager._children[tag]) {
1343
+ _GameWindowManager.app.stage.removeChild(_GameWindowManager._children[tag]);
1344
+ delete _GameWindowManager._children[tag];
1345
+ _GameWindowManager.removeTickerByCanvasElement(tag);
1189
1346
  }
1190
1347
  });
1191
- _GameWindowManager.removeTickersWithoutAssociatedCanvasElement();
1192
- _GameWindowManager.childrenTagsOrder = _GameWindowManager.childrenTagsOrder.filter((t) => !tag.includes(t));
1348
+ _GameWindowManager.childrenTagsOrder = _GameWindowManager.childrenTagsOrder.filter((t) => !tags.includes(t));
1193
1349
  }
1194
1350
  /**
1195
1351
  * Get a canvas element by the tag.
@@ -1219,18 +1375,43 @@ var _GameWindowManager = class _GameWindowManager {
1219
1375
  _GameWindowManager.app.stage.removeChildren();
1220
1376
  _GameWindowManager._children = {};
1221
1377
  _GameWindowManager.childrenTagsOrder = [];
1222
- _GameWindowManager.removeTickers();
1378
+ _GameWindowManager.removeAllTickers();
1223
1379
  }
1224
1380
  /**
1225
1381
  * Edit the tag of a canvas element.
1226
1382
  * @param oldTag The old tag of the canvas element.
1227
1383
  * @param newTag The new tag of the canvas element.
1228
1384
  */
1229
- static editTagCanvasElement(oldTag, newTag) {
1385
+ static editCanvasElementTag(oldTag, newTag) {
1230
1386
  if (_GameWindowManager._children[oldTag]) {
1231
1387
  _GameWindowManager._children[newTag] = _GameWindowManager._children[oldTag];
1232
1388
  delete _GameWindowManager._children[oldTag];
1233
1389
  }
1390
+ if (_GameWindowManager._currentTickersSteps[oldTag]) {
1391
+ _GameWindowManager._currentTickersSteps[newTag] = _GameWindowManager._currentTickersSteps[oldTag];
1392
+ delete _GameWindowManager._currentTickersSteps[oldTag];
1393
+ }
1394
+ for (let id in _GameWindowManager._currentTickers) {
1395
+ let ticker = _GameWindowManager._currentTickers[id];
1396
+ if (ticker.canvasElementTags.includes(oldTag)) {
1397
+ ticker.canvasElementTags = ticker.canvasElementTags.map((t) => t === oldTag ? newTag : t);
1398
+ if (ticker.args.hasOwnProperty(tagToRemoveAfter)) {
1399
+ let tagToRemoveAfter2 = ticker.args.tagToRemoveAfter;
1400
+ if (typeof tagToRemoveAfter2 === "string") {
1401
+ tagToRemoveAfter2 = [tagToRemoveAfter2];
1402
+ }
1403
+ if (Array.isArray(tagToRemoveAfter2)) {
1404
+ ticker.args.tagToRemoveAfter = tagToRemoveAfter2.map((t) => t === oldTag ? newTag : t);
1405
+ }
1406
+ }
1407
+ }
1408
+ }
1409
+ for (let timeout in _GameWindowManager._currentTickersTimeouts) {
1410
+ let TickerTimeout = _GameWindowManager._currentTickersTimeouts[timeout];
1411
+ if (TickerTimeout.tags.includes(oldTag)) {
1412
+ TickerTimeout.tags = TickerTimeout.tags.map((t) => t === oldTag ? newTag : t);
1413
+ }
1414
+ }
1234
1415
  }
1235
1416
  /** Edit Tickers Methods */
1236
1417
  /**
@@ -1239,106 +1420,127 @@ var _GameWindowManager = class _GameWindowManager {
1239
1420
  static get currentTickers() {
1240
1421
  return _GameWindowManager._currentTickers;
1241
1422
  }
1423
+ static get currentTickersList() {
1424
+ return Object.values(_GameWindowManager._currentTickers);
1425
+ }
1426
+ static get currentTickersWithoutCreatedBySteps() {
1427
+ return Object.fromEntries(Object.entries(_GameWindowManager._currentTickers).filter(([_, ticker]) => !ticker.createdByTicketStepsId));
1428
+ }
1242
1429
  /**
1243
1430
  * The steps of the tickers
1244
1431
  */
1245
1432
  static get currentTickersSteps() {
1246
1433
  return _GameWindowManager._currentTickersSteps;
1247
1434
  }
1435
+ static generateTickerId(tickerData) {
1436
+ try {
1437
+ return sha1__default.default(JSON.stringify(tickerData)).toString() + "_" + Math.random().toString(36).substring(7);
1438
+ } catch (e) {
1439
+ throw new Error(`[Pixi'VN] Error to generate ticker id: ${e}`);
1440
+ }
1441
+ }
1248
1442
  /**
1249
- * Run a ticker.
1443
+ * Run a ticker. You can run multiple addTicker with the same tag and different tickerClasses.
1444
+ * If you run a ticker with the same tag and tickerClass, the old ticker will be removed.
1445
+ * If already exists a sequence of tickers with the same tag, it will be removed.
1250
1446
  * @param canvasEslementTag The tag of the canvas element that will use the ticker.
1251
1447
  * @param ticker The ticker class to be run.
1252
1448
  * @param args The arguments to be used in the ticker.
1253
- * @param duration The time to be used in the ticker. This number is in milliseconds. If it is undefined, the ticker will run forever.
1449
+ * @param duration The time to be used in the ticker. This number is in seconds. If it is undefined, the ticker will run forever.
1254
1450
  * @param priority The priority to be used in the ticker.
1255
1451
  * @returns
1256
1452
  * @example
1257
1453
  * ```typescript
1258
- * GameWindowManager.addTicker("alien", new TickerRotate({ speed: 0.2 }))
1454
+ * GameWindowManager.addTicker("alien", new RotateTicker({ speed: 0.2 }))
1259
1455
  * ```
1260
1456
  */
1261
1457
  static addTicker(canvasElementTag, ticker) {
1262
- let tickerName = ticker.constructor.name;
1458
+ let tickerId = ticker.id;
1263
1459
  if (typeof canvasElementTag === "string") {
1264
1460
  canvasElementTag = [canvasElementTag];
1265
1461
  }
1266
- let t = geTickerInstanceByClassName(tickerName, ticker.args, ticker.duration, ticker.priority);
1267
- if (!t) {
1268
- console.error(`[Pixi'VN] Ticker ${tickerName} not found`);
1462
+ if (!geTickerInstanceById(tickerId, ticker.args, ticker.duration, ticker.priority)) {
1463
+ console.error(`[Pixi'VN] Ticker ${tickerId} not found`);
1269
1464
  return;
1270
1465
  }
1271
- _GameWindowManager.removeAssociationBetweenTickerCanvasElement(canvasElementTag, ticker);
1272
1466
  let tickerHistory = {
1273
1467
  fn: () => {
1274
1468
  },
1275
- className: tickerName,
1276
- args: ticker.args,
1469
+ id: tickerId,
1470
+ args: createExportableElement(ticker.args),
1277
1471
  canvasElementTags: canvasElementTag,
1278
1472
  priority: ticker.priority,
1279
1473
  duration: ticker.duration
1280
1474
  };
1281
- _GameWindowManager.pushTicker(tickerHistory, t);
1282
- _GameWindowManager.removeTickersWithoutAssociatedCanvasElement();
1475
+ let id = _GameWindowManager.generateTickerId(tickerHistory);
1476
+ _GameWindowManager.pushTicker(id, tickerHistory, ticker);
1283
1477
  if (ticker.duration) {
1284
1478
  let timeout = setTimeout(() => {
1285
1479
  _GameWindowManager.removeTickerTimeoutInfo(timeout);
1286
- _GameWindowManager.nextTickerStep(canvasElementTag);
1287
- }, ticker.duration);
1288
- _GameWindowManager.addTickerTimeoutInfo(canvasElementTag, tickerName, timeout.toString());
1480
+ let tickerTimeoutInfo = _GameWindowManager._currentTickersTimeouts[timeout.toString()];
1481
+ if (tickerTimeoutInfo) {
1482
+ _GameWindowManager.removeTicker(id);
1483
+ }
1484
+ }, ticker.duration * 1e3);
1485
+ _GameWindowManager.addTickerTimeoutInfo(canvasElementTag, tickerId, timeout.toString(), true);
1289
1486
  }
1290
1487
  }
1291
- static pushTicker(tickerData, ticker) {
1292
- _GameWindowManager.removeAssociationBetweenTickerCanvasElement(tickerData.canvasElementTags, tickerData);
1293
- _GameWindowManager._currentTickers.push(tickerData);
1488
+ static pushTicker(id, tickerData, ticker) {
1489
+ _GameWindowManager.removeAssociationBetweenTickerCanvasElement(tickerData.canvasElementTags, ticker);
1490
+ _GameWindowManager._currentTickers[id] = tickerData;
1294
1491
  tickerData.fn = (t) => {
1295
- ticker == null ? void 0 : ticker.fn(t, tickerData.args, tickerData.canvasElementTags);
1492
+ let data = _GameWindowManager._currentTickers[id];
1493
+ if (data) {
1494
+ ticker == null ? void 0 : ticker.fn(t, data.args, data.canvasElementTags, id);
1495
+ }
1296
1496
  };
1297
1497
  _GameWindowManager.app.ticker.add(tickerData.fn, void 0, tickerData.priority);
1298
1498
  }
1299
1499
  /**
1300
- * Run a sequence of tickers.
1500
+ * Run a sequence of tickers. If exists a ticker steps with the same tag, it will be removed.
1301
1501
  * @param tag The tag of canvas element that will use the tickers.
1302
1502
  * @param steps The steps of the tickers.
1503
+ * @param currentStepNumber The current step number. It is used to continue the sequence of tickers.
1303
1504
  * @returns
1304
1505
  * @example
1305
1506
  * ```typescript
1306
1507
  * GameWindowManager.addTickersSteps("alien", [
1307
- * new TickerRotate({ speed: 0.1, clockwise: true }, 2000),
1308
- * Pause(500),
1309
- * new TickerRotate({ speed: 0.2, clockwise: false }, 2000),
1508
+ * new RotateTicker({ speed: 0.1, clockwise: true }, 2), // 2 seconds
1509
+ * Pause(1), // 1 second
1510
+ * new RotateTicker({ speed: 0.2, clockwise: false }, 2),
1310
1511
  * Repeat,
1311
1512
  * ])
1312
1513
  * ```
1313
1514
  */
1314
- static addTickersSteps(tag, steps) {
1515
+ static addTickersSteps(tag, steps, currentStepNumber = 0) {
1315
1516
  if (steps.length == 0) {
1316
1517
  console.warn("[Pixi'VN] The steps of the tickers is empty");
1317
1518
  return;
1318
1519
  }
1319
- let alredyExists = _GameWindowManager._currentTickersSteps[tag] !== void 0;
1520
+ _GameWindowManager.removeTickerStepByCanvasElement(tag);
1320
1521
  _GameWindowManager._currentTickersSteps[tag] = {
1321
- currentStepNumber: 0,
1322
- steps: steps.map((s) => {
1323
- if (s === Repeat) {
1324
- return s;
1325
- }
1326
- if (!s.duration) {
1327
- console.warn("[Pixi'VN] Duration is not defined, so it will be set to 1000");
1328
- s.duration = 1e3;
1522
+ currentStepNumber,
1523
+ steps: steps.map((step) => {
1524
+ if (step === Repeat) {
1525
+ return step;
1329
1526
  }
1330
- if (s.hasOwnProperty("type") && s.type === PauseValueType) {
1331
- return s;
1527
+ if (step.hasOwnProperty("type") && step.type === "pause") {
1528
+ return step;
1332
1529
  }
1333
- let tickerName = s.constructor.name;
1530
+ let tickerId = step.id;
1334
1531
  return {
1335
- ticker: tickerName,
1336
- args: s.args,
1337
- duration: s.duration
1532
+ ticker: tickerId,
1533
+ args: createExportableElement(step.args),
1534
+ duration: step.duration
1338
1535
  };
1339
1536
  })
1340
1537
  };
1341
- if (!alredyExists) {
1538
+ _GameWindowManager.runTickersSteps(tag);
1539
+ }
1540
+ static restoneTickersSteps(data) {
1541
+ for (let tag in data) {
1542
+ let steps = data[tag];
1543
+ _GameWindowManager._currentTickersSteps[tag] = steps;
1342
1544
  _GameWindowManager.runTickersSteps(tag);
1343
1545
  }
1344
1546
  }
@@ -1352,70 +1554,106 @@ var _GameWindowManager = class _GameWindowManager {
1352
1554
  return;
1353
1555
  }
1354
1556
  }
1355
- if (step.hasOwnProperty("type") && step.type === PauseValueType) {
1557
+ if (step.hasOwnProperty("type") && step.type === "pause") {
1356
1558
  let timeout = setTimeout(() => {
1559
+ let tickerTimeoutInfo = _GameWindowManager._currentTickersTimeouts[timeout.toString()];
1560
+ if (tickerTimeoutInfo) {
1561
+ tickerTimeoutInfo.tags.forEach((tag2) => {
1562
+ _GameWindowManager.nextTickerStep(tag2);
1563
+ });
1564
+ }
1357
1565
  _GameWindowManager.removeTickerTimeoutInfo(timeout);
1358
- _GameWindowManager.nextTickerStep(tag);
1359
- }, step.duration);
1360
- _GameWindowManager.addTickerTimeoutInfo(tag, "steps", timeout.toString());
1566
+ }, step.duration * 1e3);
1567
+ _GameWindowManager.addTickerTimeoutInfo(tag, "steps", timeout.toString(), false);
1361
1568
  return;
1362
1569
  }
1363
- let ticker = geTickerInstanceByClassName(step.ticker, step.args, step.duration, step.priority);
1570
+ let ticker = geTickerInstanceById(step.ticker, step.args, step.duration, step.priority);
1364
1571
  if (!ticker) {
1365
1572
  console.error(`[Pixi'VN] Ticker ${step.ticker} not found`);
1366
1573
  return;
1367
1574
  }
1368
- _GameWindowManager.addTicker(tag, ticker);
1575
+ let tickerName = ticker.id;
1576
+ let tickerHistory = {
1577
+ fn: () => {
1578
+ },
1579
+ id: tickerName,
1580
+ args: createExportableElement(ticker.args),
1581
+ canvasElementTags: [tag],
1582
+ priority: ticker.priority,
1583
+ duration: ticker.duration,
1584
+ createdByTicketStepsId: tag
1585
+ };
1586
+ let id = _GameWindowManager.generateTickerId(tickerHistory);
1587
+ _GameWindowManager.pushTicker(id, tickerHistory, ticker);
1588
+ if (ticker.duration) {
1589
+ let timeout = setTimeout(() => {
1590
+ let tickerTimeoutInfo = _GameWindowManager._currentTickersTimeouts[timeout.toString()];
1591
+ if (tickerTimeoutInfo) {
1592
+ _GameWindowManager.removeTicker(id);
1593
+ tickerTimeoutInfo.tags.forEach((tag2) => {
1594
+ _GameWindowManager.nextTickerStep(tag2);
1595
+ });
1596
+ }
1597
+ _GameWindowManager.removeTickerTimeoutInfo(timeout);
1598
+ }, ticker.duration * 1e3);
1599
+ _GameWindowManager.addTickerTimeoutInfo(tag, tickerName, timeout.toString(), false);
1600
+ }
1369
1601
  }
1370
1602
  static nextTickerStep(tag) {
1371
- if (typeof tag === "string") {
1372
- tag = [tag];
1603
+ if (_GameWindowManager._currentTickersSteps[tag]) {
1604
+ let steps = _GameWindowManager._currentTickersSteps[tag];
1605
+ if (steps.currentStepNumber + 1 < steps.steps.length) {
1606
+ steps.currentStepNumber++;
1607
+ _GameWindowManager._currentTickersSteps[tag] = steps;
1608
+ _GameWindowManager.runTickersSteps(tag);
1609
+ } else {
1610
+ _GameWindowManager.removeTickerStepByCanvasElement(tag);
1611
+ }
1373
1612
  }
1374
- tag.forEach((tag2) => {
1375
- if (_GameWindowManager._currentTickersSteps[tag2]) {
1376
- let steps = _GameWindowManager._currentTickersSteps[tag2];
1377
- if (steps.currentStepNumber + 1 < steps.steps.length) {
1378
- steps.currentStepNumber++;
1379
- _GameWindowManager._currentTickersSteps[tag2] = steps;
1380
- _GameWindowManager.runTickersSteps(tag2);
1381
- } else {
1382
- delete _GameWindowManager._currentTickersSteps[tag2];
1383
- }
1613
+ }
1614
+ static onEndOfTicker(canvasElementTags, ticker, canvasElementTagsToDelete, tickerId) {
1615
+ let tickerData = _GameWindowManager._currentTickers[tickerId];
1616
+ _GameWindowManager.removeAssociationBetweenTickerCanvasElement(canvasElementTags, ticker);
1617
+ _GameWindowManager.removeCanvasElement(canvasElementTagsToDelete);
1618
+ if (tickerData) {
1619
+ _GameWindowManager.removeTicker(tickerId);
1620
+ if (tickerData.duration == void 0 && tickerData.createdByTicketStepsId) {
1621
+ _GameWindowManager.nextTickerStep(tickerData.createdByTicketStepsId);
1384
1622
  }
1385
- });
1623
+ }
1386
1624
  }
1387
1625
  /**
1388
1626
  * Remove a connection between a canvas element and a ticker.
1389
1627
  * And remove the ticker if there is no canvas element connected to it.
1390
- * @param tag The tag of the canvas element that will use the ticker.
1628
+ * @param tags The tag of the canvas element that will use the ticker.
1391
1629
  * @param ticker The ticker class to be removed.
1392
1630
  * @example
1393
1631
  * ```typescript
1394
- * GameWindowManager.removeAssociationBetweenTickerCanvasElement("alien", TickerRotate)
1632
+ * GameWindowManager.removeAssociationBetweenTickerCanvasElement("alien", RotateTicker)
1395
1633
  * ```
1396
1634
  */
1397
- static removeAssociationBetweenTickerCanvasElement(tag, ticker) {
1398
- let tickerName;
1399
- if (ticker instanceof TickerBase) {
1400
- tickerName = ticker.constructor.name;
1635
+ static removeAssociationBetweenTickerCanvasElement(tags, ticker) {
1636
+ let tickerId;
1637
+ if (typeof ticker === "string") {
1638
+ tickerId = ticker;
1639
+ } else if (ticker instanceof TickerBase) {
1640
+ tickerId = ticker.id;
1401
1641
  } else {
1402
- tickerName = ticker.name;
1642
+ tickerId = ticker.prototype.id;
1403
1643
  }
1404
- if (typeof tag === "string") {
1405
- tag = [tag];
1644
+ if (typeof tags === "string") {
1645
+ tags = [tags];
1406
1646
  }
1407
- _GameWindowManager._currentTickers = _GameWindowManager._currentTickers.map((t) => {
1408
- if (t.className === tickerName) {
1409
- t.canvasElementTags = t.canvasElementTags.filter((e) => !tag.includes(e));
1647
+ for (let id in _GameWindowManager._currentTickers) {
1648
+ let ticker2 = _GameWindowManager._currentTickers[id];
1649
+ if (ticker2.id === tickerId) {
1650
+ _GameWindowManager._currentTickers[id].canvasElementTags = ticker2.canvasElementTags.filter((e) => !tags.includes(e));
1410
1651
  }
1411
- return t;
1412
- });
1413
- for (let timeout in _GameWindowManager.currentTickersTimeouts) {
1414
- let t = _GameWindowManager.currentTickersTimeouts[timeout].tags.filter((e) => !tag.includes(e));
1415
- if (t.length == 0) {
1416
- _GameWindowManager.removeTickerTimeoutInfo(timeout);
1417
- } else {
1418
- _GameWindowManager.currentTickersTimeouts[timeout].tags = t;
1652
+ }
1653
+ for (let timeout in _GameWindowManager._currentTickersTimeouts) {
1654
+ let TickerTimeout = _GameWindowManager._currentTickersTimeouts[timeout];
1655
+ if (TickerTimeout.ticker === tickerId && TickerTimeout.canBeDeletedBeforeEnd) {
1656
+ _GameWindowManager._currentTickersTimeouts[timeout].tags = TickerTimeout.tags.filter((t) => !tags.includes(t));
1419
1657
  }
1420
1658
  }
1421
1659
  _GameWindowManager.removeTickersWithoutAssociatedCanvasElement();
@@ -1424,49 +1662,117 @@ var _GameWindowManager = class _GameWindowManager {
1424
1662
  * Remove all tickers that are not connected to any existing canvas element.
1425
1663
  */
1426
1664
  static removeTickersWithoutAssociatedCanvasElement() {
1427
- let currentTickers = _GameWindowManager._currentTickers.map((t) => {
1428
- t.canvasElementTags = t.canvasElementTags.filter((e) => _GameWindowManager._children[e]);
1429
- return t;
1430
- });
1431
- currentTickers.filter((t) => t.canvasElementTags.length === 0).forEach((t) => {
1432
- _GameWindowManager.app.ticker.remove(t.fn);
1433
- });
1434
- currentTickers = currentTickers.filter((t) => t.canvasElementTags.length > 0);
1435
- _GameWindowManager._currentTickers = currentTickers;
1665
+ for (let id in _GameWindowManager._currentTickers) {
1666
+ let ticker = _GameWindowManager._currentTickers[id];
1667
+ ticker.canvasElementTags = ticker.canvasElementTags.filter((e) => _GameWindowManager._children[e]);
1668
+ if (ticker.canvasElementTags.length === 0) {
1669
+ _GameWindowManager.removeTicker(id);
1670
+ }
1671
+ }
1436
1672
  for (let tag in _GameWindowManager._currentTickersSteps) {
1437
1673
  if (_GameWindowManager._children[tag] === void 0) {
1438
1674
  delete _GameWindowManager._currentTickersSteps[tag];
1439
1675
  }
1440
1676
  }
1677
+ Object.entries(_GameWindowManager._currentTickersTimeouts).forEach(([timeout, { tags }]) => {
1678
+ if (tags.length === 0) {
1679
+ _GameWindowManager.removeTickerTimeout(timeout);
1680
+ }
1681
+ });
1441
1682
  }
1442
- static addTickerTimeoutInfo(tags, ticker, timeout) {
1683
+ static addTickerTimeoutInfo(tags, ticker, timeout, canBeDeletedBeforeEnd) {
1443
1684
  if (typeof tags === "string") {
1444
1685
  tags = [tags];
1445
1686
  }
1446
- _GameWindowManager.currentTickersTimeouts[timeout] = {
1687
+ _GameWindowManager._currentTickersTimeouts[timeout] = {
1447
1688
  tags,
1448
- ticker
1689
+ ticker,
1690
+ canBeDeletedBeforeEnd
1449
1691
  };
1450
1692
  }
1451
1693
  static removeTickerTimeoutInfo(timeout) {
1452
1694
  if (typeof timeout !== "string") {
1453
1695
  timeout = timeout.toString();
1454
1696
  }
1455
- if (_GameWindowManager.currentTickersTimeouts[timeout]) {
1456
- delete _GameWindowManager.currentTickersTimeouts[timeout];
1697
+ if (_GameWindowManager._currentTickersTimeouts[timeout]) {
1698
+ delete _GameWindowManager._currentTickersTimeouts[timeout];
1699
+ }
1700
+ }
1701
+ static removeTickerTimeout(timeout) {
1702
+ if (typeof timeout !== "string") {
1703
+ timeout = timeout.toString();
1704
+ }
1705
+ clearTimeout(Number(timeout));
1706
+ _GameWindowManager.removeTickerTimeoutInfo(timeout);
1707
+ }
1708
+ static removeTickerTimeoutsByTag(tag, checkCanBeDeletedBeforeEnd) {
1709
+ for (let timeout in _GameWindowManager._currentTickersTimeouts) {
1710
+ let tagsWithoutTagToRemove = _GameWindowManager._currentTickersTimeouts[timeout].tags.filter((t) => t !== tag);
1711
+ if (tagsWithoutTagToRemove.length === 0) {
1712
+ let canBeDeletedBeforeEnd = _GameWindowManager._currentTickersTimeouts[timeout].canBeDeletedBeforeEnd;
1713
+ if (!checkCanBeDeletedBeforeEnd || canBeDeletedBeforeEnd) {
1714
+ _GameWindowManager.removeTickerTimeout(timeout);
1715
+ }
1716
+ } else {
1717
+ _GameWindowManager._currentTickersTimeouts[timeout].tags = tagsWithoutTagToRemove;
1718
+ }
1457
1719
  }
1458
1720
  }
1459
1721
  /**
1460
1722
  * Remove all tickers from the canvas.
1461
1723
  */
1462
- static removeTickers() {
1724
+ static removeAllTickers() {
1463
1725
  _GameWindowManager._currentTickersSteps = {};
1464
- _GameWindowManager._currentTickers.forEach((t) => {
1465
- _GameWindowManager.app.ticker.remove(t.fn);
1726
+ Object.keys(_GameWindowManager._currentTickers).forEach((id) => {
1727
+ _GameWindowManager.removeTicker(id);
1728
+ });
1729
+ _GameWindowManager._currentTickers = {};
1730
+ for (let timeout in _GameWindowManager._currentTickersTimeouts) {
1731
+ _GameWindowManager.removeTickerTimeout(timeout);
1732
+ }
1733
+ }
1734
+ /**
1735
+ * Remove all tickers from a canvas element.
1736
+ * @param tag The tag of the canvas element that will use the ticker.
1737
+ */
1738
+ static removeTickerByCanvasElement(tag) {
1739
+ if (typeof tag === "string") {
1740
+ tag = [tag];
1741
+ }
1742
+ tag.forEach((tag2) => {
1743
+ for (let id in _GameWindowManager._currentTickers) {
1744
+ let ticker = _GameWindowManager._currentTickers[id];
1745
+ if (ticker.canvasElementTags.includes(tag2)) {
1746
+ _GameWindowManager.removeTicker(id);
1747
+ }
1748
+ }
1749
+ if (_GameWindowManager._currentTickersSteps[tag2]) {
1750
+ delete _GameWindowManager._currentTickersSteps[tag2];
1751
+ }
1752
+ _GameWindowManager.removeTickerTimeoutsByTag(tag2, false);
1753
+ delete _GameWindowManager._currentTickersSteps[tag2];
1466
1754
  });
1467
- _GameWindowManager._currentTickers = [];
1468
- for (let timeout in _GameWindowManager.currentTickersTimeouts) {
1469
- _GameWindowManager.removeTickerTimeoutInfo(timeout);
1755
+ }
1756
+ static removeTickerStepByCanvasElement(tag) {
1757
+ if (_GameWindowManager._currentTickersSteps[tag]) {
1758
+ delete _GameWindowManager._currentTickersSteps[tag];
1759
+ }
1760
+ for (let id in _GameWindowManager._currentTickers) {
1761
+ let ticker = _GameWindowManager._currentTickers[id];
1762
+ if (ticker.createdByTicketStepsId === tag) {
1763
+ _GameWindowManager.removeTicker(id);
1764
+ }
1765
+ }
1766
+ }
1767
+ static removeTicker(tickerId) {
1768
+ let ticker = _GameWindowManager._currentTickers[tickerId];
1769
+ if (ticker) {
1770
+ if (ticker.args.hasOwnProperty(tagToRemoveAfter)) {
1771
+ let tagToRemoveAfter2 = ticker.args.tagToRemoveAfter;
1772
+ _GameWindowManager.removeCanvasElement(tagToRemoveAfter2);
1773
+ }
1774
+ _GameWindowManager.app.ticker.remove(ticker.fn);
1775
+ delete _GameWindowManager._currentTickers[tickerId];
1470
1776
  }
1471
1777
  }
1472
1778
  /**
@@ -1493,7 +1799,8 @@ var _GameWindowManager = class _GameWindowManager {
1493
1799
  currentElements[tag] = exportCanvasElement(_GameWindowManager._children[tag]);
1494
1800
  }
1495
1801
  return {
1496
- currentTickers: createExportableElement(_GameWindowManager._currentTickers),
1802
+ currentTickers: createExportableElement(_GameWindowManager.currentTickersWithoutCreatedBySteps),
1803
+ currentTickersSteps: createExportableElement(_GameWindowManager._currentTickersSteps),
1497
1804
  currentElements: createExportableElement(currentElements),
1498
1805
  childrenTagsOrder: createExportableElement(_GameWindowManager.childrenTagsOrder)
1499
1806
  };
@@ -1528,15 +1835,20 @@ var _GameWindowManager = class _GameWindowManager {
1528
1835
  }
1529
1836
  if (data.hasOwnProperty("currentTickers")) {
1530
1837
  let currentTickers = data["currentTickers"];
1531
- currentTickers.forEach((t) => {
1838
+ for (let id in currentTickers) {
1839
+ let t = currentTickers[id];
1532
1840
  let tags = t.canvasElementTags;
1533
- let ticker = geTickerInstanceByClassName(t.className, t.args, t.duration, t.priority);
1841
+ let ticker = geTickerInstanceById(t.id, t.args, t.duration, t.priority);
1534
1842
  if (ticker) {
1535
1843
  _GameWindowManager.addTicker(tags, ticker);
1536
1844
  } else {
1537
- console.error(`[Pixi'VN] Ticker ${t.className} not found`);
1845
+ console.error(`[Pixi'VN] Ticker ${t.id} not found`);
1538
1846
  }
1539
- });
1847
+ }
1848
+ }
1849
+ if (data.hasOwnProperty("currentTickersSteps")) {
1850
+ let currentTickersSteps = data["currentTickersSteps"];
1851
+ _GameWindowManager.restoneTickersSteps(currentTickersSteps);
1540
1852
  }
1541
1853
  } catch (e) {
1542
1854
  console.error("[Pixi'VN] Error importing data", e);
@@ -1550,9 +1862,9 @@ _GameWindowManager._children = {};
1550
1862
  * The order of the children tags.
1551
1863
  */
1552
1864
  _GameWindowManager.childrenTagsOrder = [];
1553
- _GameWindowManager._currentTickers = [];
1865
+ _GameWindowManager._currentTickers = {};
1554
1866
  _GameWindowManager._currentTickersSteps = {};
1555
- _GameWindowManager.currentTickersTimeouts = {};
1867
+ _GameWindowManager._currentTickersTimeouts = {};
1556
1868
  var GameWindowManager = _GameWindowManager;
1557
1869
 
1558
1870
  // src/classes/StoredClassModel.ts
@@ -1688,15 +2000,15 @@ var DialogueBaseModel = class {
1688
2000
  if (typeof text === "string") {
1689
2001
  this.text = text;
1690
2002
  if (typeof character === "string") {
1691
- this.characterId = character;
2003
+ this.character = character;
1692
2004
  } else {
1693
- this.characterId = character == null ? void 0 : character.id;
2005
+ this.character = character == null ? void 0 : character.id;
1694
2006
  }
1695
2007
  this.oltherParams = oltherParams;
1696
2008
  } else {
1697
2009
  this.text = text.text;
1698
- if (text.characterId) {
1699
- this.characterId = text.characterId;
2010
+ if (text.character) {
2011
+ this.character = text.character;
1700
2012
  }
1701
2013
  this.oltherParams = text.oltherParams || {};
1702
2014
  }
@@ -1709,7 +2021,7 @@ var DialogueBaseModel = class {
1709
2021
  export() {
1710
2022
  return {
1711
2023
  text: this.text,
1712
- characterId: this.characterId,
2024
+ character: this.character,
1713
2025
  oltherParams: this.oltherParams
1714
2026
  };
1715
2027
  }