@drincs/pixi-vn 0.6.0 → 0.6.2

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