@drincs/pixi-vn 0.6.0 → 0.6.1

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 (373) hide show
  1. package/dist/{TickerBase-RQDWNI4K.d.ts → TickerBase-BAUiHet_.d.ts} +18 -13
  2. package/dist/{TickerBase-B5CQCJs8.d.mts → TickerBase-BctFf13y.d.mts} +18 -13
  3. package/dist/classes/CanvasEvent.d.mts +1 -1
  4. package/dist/classes/CanvasEvent.d.ts +1 -1
  5. package/dist/classes/CanvasEvent.js.map +1 -1
  6. package/dist/classes/CanvasEvent.mjs.map +1 -1
  7. package/dist/classes/CharacterBaseModel.d.mts +2 -26
  8. package/dist/classes/CharacterBaseModel.d.ts +2 -26
  9. package/dist/classes/CharacterBaseModel.js +464 -189
  10. package/dist/classes/CharacterBaseModel.js.map +1 -1
  11. package/dist/classes/CharacterBaseModel.mjs +460 -189
  12. package/dist/classes/CharacterBaseModel.mjs.map +1 -1
  13. package/dist/classes/ChoiceMenuOption.d.mts +27 -17
  14. package/dist/classes/ChoiceMenuOption.d.ts +27 -17
  15. package/dist/classes/ChoiceMenuOption.js +467 -190
  16. package/dist/classes/ChoiceMenuOption.js.map +1 -1
  17. package/dist/classes/ChoiceMenuOption.mjs +463 -190
  18. package/dist/classes/ChoiceMenuOption.mjs.map +1 -1
  19. package/dist/classes/CloseLabel.d.mts +1 -1
  20. package/dist/classes/CloseLabel.d.ts +1 -1
  21. package/dist/classes/CloseLabel.js.map +1 -1
  22. package/dist/classes/CloseLabel.mjs.map +1 -1
  23. package/dist/classes/DialogueBaseModel.d.mts +1 -0
  24. package/dist/classes/DialogueBaseModel.d.ts +1 -0
  25. package/dist/classes/StoredClassModel.d.mts +2 -2
  26. package/dist/classes/StoredClassModel.d.ts +2 -2
  27. package/dist/classes/StoredClassModel.js +464 -189
  28. package/dist/classes/StoredClassModel.js.map +1 -1
  29. package/dist/classes/StoredClassModel.mjs +460 -189
  30. package/dist/classes/StoredClassModel.mjs.map +1 -1
  31. package/dist/classes/canvas/CanvasContainer.js.map +1 -1
  32. package/dist/classes/canvas/CanvasContainer.mjs.map +1 -1
  33. package/dist/classes/canvas/CanvasImage.d.mts +2 -2
  34. package/dist/classes/canvas/CanvasImage.d.ts +2 -2
  35. package/dist/classes/canvas/CanvasImage.js.map +1 -1
  36. package/dist/classes/canvas/CanvasImage.mjs.map +1 -1
  37. package/dist/classes/canvas/CanvasSprite.d.mts +1 -1
  38. package/dist/classes/canvas/CanvasSprite.d.ts +1 -1
  39. package/dist/classes/canvas/CanvasSprite.js.map +1 -1
  40. package/dist/classes/canvas/CanvasSprite.mjs.map +1 -1
  41. package/dist/classes/canvas/CanvasText.d.mts +2 -2
  42. package/dist/classes/canvas/CanvasText.d.ts +2 -2
  43. package/dist/classes/canvas/CanvasText.js.map +1 -1
  44. package/dist/classes/canvas/CanvasText.mjs.map +1 -1
  45. package/dist/classes/canvas/index.js.map +1 -1
  46. package/dist/classes/canvas/index.mjs.map +1 -1
  47. package/dist/classes/index.d.mts +5 -4
  48. package/dist/classes/index.d.ts +5 -4
  49. package/dist/classes/index.js +467 -190
  50. package/dist/classes/index.js.map +1 -1
  51. package/dist/classes/index.mjs +463 -190
  52. package/dist/classes/index.mjs.map +1 -1
  53. package/dist/classes/ticker/FadeAlphaTicker.d.mts +26 -0
  54. package/dist/classes/ticker/FadeAlphaTicker.d.ts +26 -0
  55. package/dist/classes/ticker/{TickerFadeAlpha.js → FadeAlphaTicker.js} +469 -196
  56. package/dist/classes/ticker/FadeAlphaTicker.js.map +1 -0
  57. package/dist/classes/ticker/{TickerRotate.mjs → FadeAlphaTicker.mjs} +491 -222
  58. package/dist/classes/ticker/FadeAlphaTicker.mjs.map +1 -0
  59. package/dist/classes/ticker/MoveTicker.d.mts +24 -0
  60. package/dist/classes/ticker/MoveTicker.d.ts +24 -0
  61. package/dist/classes/ticker/MoveTicker.js +1605 -0
  62. package/dist/classes/ticker/MoveTicker.js.map +1 -0
  63. package/dist/classes/ticker/{TickerMove.mjs → MoveTicker.mjs} +463 -192
  64. package/dist/classes/ticker/MoveTicker.mjs.map +1 -0
  65. package/dist/classes/ticker/RotateTicker.d.mts +26 -0
  66. package/dist/classes/ticker/RotateTicker.d.ts +26 -0
  67. package/dist/classes/ticker/{TickerRotate.js → RotateTicker.js} +464 -189
  68. package/dist/classes/ticker/RotateTicker.js.map +1 -0
  69. package/dist/classes/ticker/RotateTicker.mjs +1599 -0
  70. package/dist/classes/ticker/RotateTicker.mjs.map +1 -0
  71. package/dist/classes/ticker/TickerBase.d.mts +1 -1
  72. package/dist/classes/ticker/TickerBase.d.ts +1 -1
  73. package/dist/classes/ticker/TickerBase.js +7 -6
  74. package/dist/classes/ticker/TickerBase.js.map +1 -1
  75. package/dist/classes/ticker/TickerBase.mjs +7 -6
  76. package/dist/classes/ticker/TickerBase.mjs.map +1 -1
  77. package/dist/classes/ticker/ZoomTicker.d.mts +25 -0
  78. package/dist/classes/ticker/ZoomTicker.d.ts +25 -0
  79. package/dist/classes/ticker/{TickerMove.js → ZoomTicker.js} +474 -199
  80. package/dist/classes/ticker/ZoomTicker.js.map +1 -0
  81. package/dist/classes/ticker/{TickerFadeAlpha.mjs → ZoomTicker.mjs} +472 -201
  82. package/dist/classes/ticker/ZoomTicker.mjs.map +1 -0
  83. package/dist/classes/ticker/index.d.mts +10 -8
  84. package/dist/classes/ticker/index.d.ts +10 -8
  85. package/dist/classes/ticker/index.js +479 -206
  86. package/dist/classes/ticker/index.js.map +1 -1
  87. package/dist/classes/ticker/index.mjs +476 -207
  88. package/dist/classes/ticker/index.mjs.map +1 -1
  89. package/dist/constants.d.mts +12 -2
  90. package/dist/constants.d.ts +12 -2
  91. package/dist/constants.js +10 -1
  92. package/dist/constants.js.map +1 -1
  93. package/dist/constants.mjs +9 -2
  94. package/dist/constants.mjs.map +1 -1
  95. package/dist/decorators/CanvasElementDecorator.js.map +1 -1
  96. package/dist/decorators/CanvasElementDecorator.mjs.map +1 -1
  97. package/dist/decorators/CharacterDecorator.d.mts +1 -0
  98. package/dist/decorators/CharacterDecorator.d.ts +1 -0
  99. package/dist/decorators/CharacterDecorator.js +1 -1
  100. package/dist/decorators/CharacterDecorator.js.map +1 -1
  101. package/dist/decorators/CharacterDecorator.mjs +1 -1
  102. package/dist/decorators/CharacterDecorator.mjs.map +1 -1
  103. package/dist/decorators/EventDecorator.js +1 -1
  104. package/dist/decorators/EventDecorator.js.map +1 -1
  105. package/dist/decorators/EventDecorator.mjs +1 -1
  106. package/dist/decorators/EventDecorator.mjs.map +1 -1
  107. package/dist/decorators/LabelDecorator.d.mts +4 -3
  108. package/dist/decorators/LabelDecorator.d.ts +4 -3
  109. package/dist/decorators/LabelDecorator.js +465 -190
  110. package/dist/decorators/LabelDecorator.js.map +1 -1
  111. package/dist/decorators/LabelDecorator.mjs +461 -190
  112. package/dist/decorators/LabelDecorator.mjs.map +1 -1
  113. package/dist/decorators/TickerDecorator.d.mts +6 -3
  114. package/dist/decorators/TickerDecorator.d.ts +6 -3
  115. package/dist/decorators/TickerDecorator.js +1 -1
  116. package/dist/decorators/TickerDecorator.js.map +1 -1
  117. package/dist/decorators/TickerDecorator.mjs +1 -1
  118. package/dist/decorators/TickerDecorator.mjs.map +1 -1
  119. package/dist/decorators/index.d.mts +4 -3
  120. package/dist/decorators/index.d.ts +4 -3
  121. package/dist/decorators/index.js +467 -192
  122. package/dist/decorators/index.js.map +1 -1
  123. package/dist/decorators/index.mjs +463 -192
  124. package/dist/decorators/index.mjs.map +1 -1
  125. package/dist/functions/CanvasUtility.js.map +1 -1
  126. package/dist/functions/CanvasUtility.mjs.map +1 -1
  127. package/dist/functions/DialogueUtility.d.mts +6 -4
  128. package/dist/functions/DialogueUtility.d.ts +6 -4
  129. package/dist/functions/DialogueUtility.js +506 -213
  130. package/dist/functions/DialogueUtility.js.map +1 -1
  131. package/dist/functions/DialogueUtility.mjs +506 -213
  132. package/dist/functions/DialogueUtility.mjs.map +1 -1
  133. package/dist/functions/FlagsUtility.js +464 -189
  134. package/dist/functions/FlagsUtility.js.map +1 -1
  135. package/dist/functions/FlagsUtility.mjs +460 -189
  136. package/dist/functions/FlagsUtility.mjs.map +1 -1
  137. package/dist/functions/GameUtility.js +464 -189
  138. package/dist/functions/GameUtility.js.map +1 -1
  139. package/dist/functions/GameUtility.mjs +460 -189
  140. package/dist/functions/GameUtility.mjs.map +1 -1
  141. package/dist/functions/ImageUtility.d.mts +47 -7
  142. package/dist/functions/ImageUtility.d.ts +47 -7
  143. package/dist/functions/ImageUtility.js +554 -215
  144. package/dist/functions/ImageUtility.js.map +1 -1
  145. package/dist/functions/ImageUtility.mjs +546 -215
  146. package/dist/functions/ImageUtility.mjs.map +1 -1
  147. package/dist/functions/SavesUtility.d.mts +9 -5
  148. package/dist/functions/SavesUtility.d.ts +9 -5
  149. package/dist/functions/SavesUtility.js +485 -196
  150. package/dist/functions/SavesUtility.js.map +1 -1
  151. package/dist/functions/SavesUtility.mjs +485 -196
  152. package/dist/functions/SavesUtility.mjs.map +1 -1
  153. package/dist/functions/TickerUtility.d.mts +1 -1
  154. package/dist/functions/TickerUtility.d.ts +1 -1
  155. package/dist/functions/TickerUtility.js +32 -18
  156. package/dist/functions/TickerUtility.js.map +1 -1
  157. package/dist/functions/TickerUtility.mjs +32 -18
  158. package/dist/functions/TickerUtility.mjs.map +1 -1
  159. package/dist/functions/index.d.mts +15 -8
  160. package/dist/functions/index.d.ts +15 -8
  161. package/dist/functions/index.js +570 -213
  162. package/dist/functions/index.js.map +1 -1
  163. package/dist/functions/index.mjs +566 -213
  164. package/dist/functions/index.mjs.map +1 -1
  165. package/dist/index.d.mts +23 -14
  166. package/dist/index.d.ts +23 -14
  167. package/dist/index.js +990 -224
  168. package/dist/index.js.map +1 -1
  169. package/dist/index.mjs +984 -223
  170. package/dist/index.mjs.map +1 -1
  171. package/dist/interface/CharacterBaseModelProps.d.mts +27 -0
  172. package/dist/interface/CharacterBaseModelProps.d.ts +27 -0
  173. package/dist/interface/CharacterBaseModelProps.js +4 -0
  174. package/dist/interface/CharacterBaseModelProps.mjs +3 -0
  175. package/dist/interface/DialogueHistory.d.mts +3 -7
  176. package/dist/interface/DialogueHistory.d.ts +3 -7
  177. package/dist/interface/IHistoryStep.d.mts +12 -8
  178. package/dist/interface/IHistoryStep.d.ts +12 -8
  179. package/dist/interface/ISaveData.d.mts +8 -4
  180. package/dist/interface/ISaveData.d.ts +8 -4
  181. package/dist/interface/ITicker.d.mts +1 -1
  182. package/dist/interface/ITicker.d.ts +1 -1
  183. package/dist/interface/ITickersSteps.d.mts +3 -3
  184. package/dist/interface/ITickersSteps.d.ts +3 -3
  185. package/dist/interface/{IClassWithArgsHistory.d.mts → TickerHistory.d.mts} +9 -5
  186. package/dist/interface/{IClassWithArgsHistory.d.ts → TickerHistory.d.ts} +9 -5
  187. package/dist/{types/ticker/TickerMoveProps.js → interface/TickerHistory.js} +1 -1
  188. package/dist/interface/TickerHistory.mjs +3 -0
  189. package/dist/interface/TickerProgrationType.d.mts +13 -1
  190. package/dist/interface/TickerProgrationType.d.ts +13 -1
  191. package/dist/interface/TickerTimeoutHistory.d.mts +7 -0
  192. package/dist/interface/TickerTimeoutHistory.d.ts +7 -0
  193. package/dist/interface/TickerTimeoutHistory.js +4 -0
  194. package/dist/interface/TickerTimeoutHistory.mjs +3 -0
  195. package/dist/interface/canvas/ICanvasImageMemory.d.mts +1 -1
  196. package/dist/interface/canvas/ICanvasImageMemory.d.ts +1 -1
  197. package/dist/interface/canvas/ICanvasSpriteMemory.d.mts +1 -1
  198. package/dist/interface/canvas/ICanvasSpriteMemory.d.ts +1 -1
  199. package/dist/interface/canvas/ICanvasTextTextMemory.d.mts +1 -1
  200. package/dist/interface/canvas/ICanvasTextTextMemory.d.ts +1 -1
  201. package/dist/interface/export/ExportedCanvas.d.mts +11 -3
  202. package/dist/interface/export/ExportedCanvas.d.ts +11 -3
  203. package/dist/interface/export/ExportedStep.d.mts +7 -3
  204. package/dist/interface/export/ExportedStep.d.ts +7 -3
  205. package/dist/interface/export/index.d.mts +8 -4
  206. package/dist/interface/export/index.d.ts +8 -4
  207. package/dist/interface/index.d.mts +14 -11
  208. package/dist/interface/index.d.ts +14 -11
  209. package/dist/labels/BaseCanvasElementTestLabel.d.mts +9 -0
  210. package/dist/labels/BaseCanvasElementTestLabel.d.ts +9 -0
  211. package/dist/labels/BaseCanvasElementTestLabel.js +1860 -0
  212. package/dist/labels/BaseCanvasElementTestLabel.js.map +1 -0
  213. package/dist/labels/BaseCanvasElementTestLabel.mjs +1854 -0
  214. package/dist/labels/BaseCanvasElementTestLabel.mjs.map +1 -0
  215. package/dist/labels/EventsTestLabel.d.mts +30 -0
  216. package/dist/labels/EventsTestLabel.d.ts +30 -0
  217. package/dist/labels/EventsTestLabel.js +2600 -0
  218. package/dist/labels/EventsTestLabel.js.map +1 -0
  219. package/dist/labels/EventsTestLabel.mjs +2594 -0
  220. package/dist/labels/EventsTestLabel.mjs.map +1 -0
  221. package/dist/labels/MarkdownTest.d.mts +9 -0
  222. package/dist/labels/MarkdownTest.d.ts +9 -0
  223. package/dist/labels/MarkdownTest.js +2686 -0
  224. package/dist/labels/MarkdownTest.js.map +1 -0
  225. package/dist/labels/MarkdownTest.mjs +2680 -0
  226. package/dist/labels/MarkdownTest.mjs.map +1 -0
  227. package/dist/labels/ShowImageTest.d.mts +9 -0
  228. package/dist/labels/ShowImageTest.d.ts +9 -0
  229. package/dist/labels/ShowImageTest.js +3087 -0
  230. package/dist/labels/ShowImageTest.js.map +1 -0
  231. package/dist/labels/ShowImageTest.mjs +3081 -0
  232. package/dist/labels/ShowImageTest.mjs.map +1 -0
  233. package/dist/labels/StartLabel.d.mts +10 -0
  234. package/dist/labels/StartLabel.d.ts +10 -0
  235. package/dist/labels/StartLabel.js +3199 -0
  236. package/dist/labels/StartLabel.js.map +1 -0
  237. package/dist/labels/StartLabel.mjs +3192 -0
  238. package/dist/labels/StartLabel.mjs.map +1 -0
  239. package/dist/labels/TestConstant.d.mts +15 -0
  240. package/dist/labels/TestConstant.d.ts +15 -0
  241. package/dist/labels/TestConstant.js +1840 -0
  242. package/dist/labels/TestConstant.js.map +1 -0
  243. package/dist/labels/TestConstant.mjs +1826 -0
  244. package/dist/labels/TestConstant.mjs.map +1 -0
  245. package/dist/labels/TickerTestLabel.d.mts +9 -0
  246. package/dist/labels/TickerTestLabel.d.ts +9 -0
  247. package/dist/labels/TickerTestLabel.js +2605 -0
  248. package/dist/labels/TickerTestLabel.js.map +1 -0
  249. package/dist/labels/TickerTestLabel.mjs +2599 -0
  250. package/dist/labels/TickerTestLabel.mjs.map +1 -0
  251. package/dist/labels/TintingTestLabel.d.mts +19 -0
  252. package/dist/labels/TintingTestLabel.d.ts +19 -0
  253. package/dist/labels/TintingTestLabel.js +1786 -0
  254. package/dist/labels/TintingTestLabel.js.map +1 -0
  255. package/dist/labels/TintingTestLabel.mjs +1780 -0
  256. package/dist/labels/TintingTestLabel.mjs.map +1 -0
  257. package/dist/labels/index.d.mts +10 -0
  258. package/dist/labels/index.d.ts +10 -0
  259. package/dist/labels/index.js +3199 -0
  260. package/dist/labels/index.js.map +1 -0
  261. package/dist/labels/index.mjs +3192 -0
  262. package/dist/labels/index.mjs.map +1 -0
  263. package/dist/managers/StepManager.d.mts +18 -13
  264. package/dist/managers/StepManager.d.ts +18 -13
  265. package/dist/managers/StepManager.js +483 -194
  266. package/dist/managers/StepManager.js.map +1 -1
  267. package/dist/managers/StepManager.mjs +483 -194
  268. package/dist/managers/StepManager.mjs.map +1 -1
  269. package/dist/managers/WindowManager.d.mts +38 -24
  270. package/dist/managers/WindowManager.d.ts +38 -24
  271. package/dist/managers/WindowManager.js +280 -118
  272. package/dist/managers/WindowManager.js.map +1 -1
  273. package/dist/managers/WindowManager.mjs +276 -118
  274. package/dist/managers/WindowManager.mjs.map +1 -1
  275. package/dist/managers/index.d.mts +15 -14
  276. package/dist/managers/index.d.ts +15 -14
  277. package/dist/managers/index.js +486 -195
  278. package/dist/managers/index.js.map +1 -1
  279. package/dist/managers/index.mjs +486 -195
  280. package/dist/managers/index.mjs.map +1 -1
  281. package/dist/types/CanvasEventNamesType.d.mts +1 -1
  282. package/dist/types/CanvasEventNamesType.d.ts +1 -1
  283. package/dist/types/ChoiceMenuOptionsType.d.mts +2 -2
  284. package/dist/types/ChoiceMenuOptionsType.d.ts +2 -2
  285. package/dist/types/HistoryChoiceMenuOption.d.mts +22 -0
  286. package/dist/types/HistoryChoiceMenuOption.d.ts +22 -0
  287. package/dist/types/HistoryChoiceMenuOption.js +4 -0
  288. package/dist/types/HistoryChoiceMenuOption.mjs +3 -0
  289. package/dist/types/PauseType.d.mts +8 -4
  290. package/dist/types/PauseType.d.ts +8 -4
  291. package/dist/types/PauseType.js +0 -11
  292. package/dist/types/PauseType.js.map +1 -1
  293. package/dist/types/PauseType.mjs +0 -9
  294. package/dist/types/PauseType.mjs.map +1 -1
  295. package/dist/types/RepeatType.d.mts +1 -2
  296. package/dist/types/RepeatType.d.ts +1 -2
  297. package/dist/types/RepeatType.js +0 -4
  298. package/dist/types/RepeatType.js.map +1 -1
  299. package/dist/types/RepeatType.mjs +0 -3
  300. package/dist/types/RepeatType.mjs.map +1 -1
  301. package/dist/types/index.d.mts +5 -4
  302. package/dist/types/index.d.ts +5 -4
  303. package/dist/types/index.js +0 -15
  304. package/dist/types/index.js.map +1 -1
  305. package/dist/types/index.mjs +1 -13
  306. package/dist/types/index.mjs.map +1 -1
  307. package/dist/types/ticker/{TickerFadeAlphaProps.d.mts → FadeAlphaTickerProps.d.mts} +9 -5
  308. package/dist/types/ticker/{TickerFadeAlphaProps.d.ts → FadeAlphaTickerProps.d.ts} +9 -5
  309. package/dist/types/ticker/FadeAlphaTickerProps.js +4 -0
  310. package/dist/types/ticker/FadeAlphaTickerProps.js.map +1 -0
  311. package/dist/types/ticker/FadeAlphaTickerProps.mjs +3 -0
  312. package/dist/types/ticker/FadeAlphaTickerProps.mjs.map +1 -0
  313. package/dist/types/ticker/MoveTickerProps.d.mts +35 -0
  314. package/dist/types/ticker/MoveTickerProps.d.ts +35 -0
  315. package/dist/types/ticker/{TickerRotateProps.js → MoveTickerProps.js} +1 -1
  316. package/dist/types/ticker/MoveTickerProps.js.map +1 -0
  317. package/dist/types/ticker/MoveTickerProps.mjs +3 -0
  318. package/dist/types/ticker/MoveTickerProps.mjs.map +1 -0
  319. package/dist/types/ticker/{TickerRotateProps.d.mts → RotateTickerProps.d.mts} +11 -5
  320. package/dist/types/ticker/{TickerRotateProps.d.ts → RotateTickerProps.d.ts} +11 -5
  321. package/dist/types/ticker/RotateTickerProps.js +4 -0
  322. package/dist/types/ticker/RotateTickerProps.js.map +1 -0
  323. package/dist/types/ticker/RotateTickerProps.mjs +3 -0
  324. package/dist/types/ticker/RotateTickerProps.mjs.map +1 -0
  325. package/dist/types/ticker/TagToRemoveAfterType.d.mts +4 -0
  326. package/dist/types/ticker/TagToRemoveAfterType.d.ts +4 -0
  327. package/dist/types/ticker/TagToRemoveAfterType.js +8 -0
  328. package/dist/types/ticker/TagToRemoveAfterType.js.map +1 -0
  329. package/dist/types/ticker/TagToRemoveAfterType.mjs +6 -0
  330. package/dist/types/ticker/TagToRemoveAfterType.mjs.map +1 -0
  331. package/dist/types/ticker/ZoomTickerProps.d.mts +45 -0
  332. package/dist/types/ticker/ZoomTickerProps.d.ts +45 -0
  333. package/dist/types/ticker/ZoomTickerProps.js +4 -0
  334. package/dist/types/ticker/ZoomTickerProps.js.map +1 -0
  335. package/dist/types/ticker/ZoomTickerProps.mjs +3 -0
  336. package/dist/types/ticker/ZoomTickerProps.mjs.map +1 -0
  337. package/dist/types/ticker/index.d.mts +4 -2
  338. package/dist/types/ticker/index.d.ts +4 -2
  339. package/package.json +7 -7
  340. package/dist/classes/ticker/TickerFadeAlpha.d.mts +0 -31
  341. package/dist/classes/ticker/TickerFadeAlpha.d.ts +0 -31
  342. package/dist/classes/ticker/TickerFadeAlpha.js.map +0 -1
  343. package/dist/classes/ticker/TickerFadeAlpha.mjs.map +0 -1
  344. package/dist/classes/ticker/TickerMove.d.mts +0 -29
  345. package/dist/classes/ticker/TickerMove.d.ts +0 -29
  346. package/dist/classes/ticker/TickerMove.js.map +0 -1
  347. package/dist/classes/ticker/TickerMove.mjs.map +0 -1
  348. package/dist/classes/ticker/TickerRotate.d.mts +0 -30
  349. package/dist/classes/ticker/TickerRotate.d.ts +0 -30
  350. package/dist/classes/ticker/TickerRotate.js.map +0 -1
  351. package/dist/classes/ticker/TickerRotate.mjs.map +0 -1
  352. package/dist/functions/ErrorUtility.d.mts +0 -24
  353. package/dist/functions/ErrorUtility.d.ts +0 -24
  354. package/dist/functions/ErrorUtility.js +0 -261
  355. package/dist/functions/ErrorUtility.js.map +0 -1
  356. package/dist/functions/ErrorUtility.mjs +0 -258
  357. package/dist/functions/ErrorUtility.mjs.map +0 -1
  358. package/dist/interface/IClassWithArgsHistory.js +0 -4
  359. package/dist/interface/IClassWithArgsHistory.mjs +0 -3
  360. package/dist/types/ticker/TickerFadeAlphaProps.js +0 -4
  361. package/dist/types/ticker/TickerFadeAlphaProps.mjs +0 -3
  362. package/dist/types/ticker/TickerMoveProps.d.mts +0 -26
  363. package/dist/types/ticker/TickerMoveProps.d.ts +0 -26
  364. package/dist/types/ticker/TickerMoveProps.mjs +0 -3
  365. package/dist/types/ticker/TickerRotateProps.mjs +0 -3
  366. /package/dist/interface/{IClassWithArgsHistory.js.map → CharacterBaseModelProps.js.map} +0 -0
  367. /package/dist/interface/{IClassWithArgsHistory.mjs.map → CharacterBaseModelProps.mjs.map} +0 -0
  368. /package/dist/{types/ticker/TickerFadeAlphaProps.js.map → interface/TickerHistory.js.map} +0 -0
  369. /package/dist/{types/ticker/TickerFadeAlphaProps.mjs.map → interface/TickerHistory.mjs.map} +0 -0
  370. /package/dist/{types/ticker/TickerMoveProps.js.map → interface/TickerTimeoutHistory.js.map} +0 -0
  371. /package/dist/{types/ticker/TickerMoveProps.mjs.map → interface/TickerTimeoutHistory.mjs.map} +0 -0
  372. /package/dist/types/{ticker/TickerRotateProps.js.map → HistoryChoiceMenuOption.js.map} +0 -0
  373. /package/dist/types/{ticker/TickerRotateProps.mjs.map → HistoryChoiceMenuOption.mjs.map} +0 -0
package/dist/index.js CHANGED
@@ -33,8 +33,7 @@ var __decorateClass = (decorators, target, key, kind) => {
33
33
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
34
34
  if (decorator = decorators[i])
35
35
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
36
- if (kind && result)
37
- __defProp(target, key, result);
36
+ if (kind && result) __defProp(target, key, result);
38
37
  return result;
39
38
  };
40
39
  var __async = (__this, __arguments, generator) => {
@@ -149,7 +148,7 @@ function newCloseLabel(choiseIndex) {
149
148
  var registeredLabels = {};
150
149
  function newLabel(id, steps, onStepRun) {
151
150
  if (registeredLabels[id]) {
152
- console.warn(`[Pixi'VN] Label ${id} already exists, it will be overwritten`);
151
+ console.info(`[Pixi'VN] Label ${id} already exists, it will be overwritten`);
153
152
  }
154
153
  let label = new Label(id, steps, onStepRun);
155
154
  registeredLabels[id] = label;
@@ -339,7 +338,7 @@ function eventDecorator(name) {
339
338
  name = target.name;
340
339
  }
341
340
  if (registeredEvents[name]) {
342
- console.warn(`[Pixi'VN] Event ${name} already exists, it will be overwritten`);
341
+ console.info(`[Pixi'VN] Event ${name} already exists, it will be overwritten`);
343
342
  }
344
343
  registeredEvents[name] = target;
345
344
  };
@@ -671,7 +670,7 @@ function saveCharacter(character) {
671
670
  return;
672
671
  }
673
672
  if (registeredCharacters[character.id]) {
674
- console.warn(`[Pixi'VN] Character id ${character.id} already exists, it will be overwritten`);
673
+ console.info(`[Pixi'VN] Character id ${character.id} already exists, it will be overwritten`);
675
674
  }
676
675
  registeredCharacters[character.id] = character;
677
676
  }
@@ -700,7 +699,7 @@ function tickerDecorator(name) {
700
699
  name = target.name;
701
700
  }
702
701
  if (registeredTickers[name]) {
703
- console.warn(`[Pixi'VN] Ticker ${name} already exists, it will be overwritten`);
702
+ console.info(`[Pixi'VN] Ticker ${name} already exists, it will be overwritten`);
704
703
  }
705
704
  registeredTickers[name] = target;
706
705
  };
@@ -722,18 +721,6 @@ function geTickerInstanceByClassName(tickerName, args, duration, priority) {
722
721
  // src/types/CloseType.ts
723
722
  var Close = "close";
724
723
 
725
- // src/types/PauseType.ts
726
- var PauseValueType = "pause";
727
- function Pause(duration) {
728
- return {
729
- type: PauseValueType,
730
- duration
731
- };
732
- }
733
-
734
- // src/types/RepeatType.ts
735
- var Repeat = "repeat";
736
-
737
724
  // src/classes/ChoiceMenuOption.ts
738
725
  var ChoiceMenuOption = class {
739
726
  /**
@@ -766,8 +753,9 @@ var ChoiceMenuOption = class {
766
753
  var ChoiceMenuOptionClose = class {
767
754
  /**
768
755
  * @param text Text to be displayed in the menu
756
+ * @param closeCurrentLabel If true, the current label will be closed. @default false
769
757
  */
770
- constructor(text) {
758
+ constructor(text, closeCurrentLabel = false) {
771
759
  /**
772
760
  * Label to be opened when the option is selected
773
761
  */
@@ -781,6 +769,7 @@ var ChoiceMenuOptionClose = class {
781
769
  */
782
770
  this.props = {};
783
771
  this.text = text;
772
+ this.closeCurrentLabel = closeCurrentLabel;
784
773
  }
785
774
  };
786
775
 
@@ -819,7 +808,8 @@ function setChoiceMenuOptions(options) {
819
808
  if (option instanceof ChoiceMenuOptionClose) {
820
809
  return {
821
810
  text: option.text,
822
- type: Close
811
+ type: Close,
812
+ closeCurrentLabel: option.closeCurrentLabel
823
813
  };
824
814
  }
825
815
  return __spreadProps(__spreadValues({}, option), {
@@ -840,6 +830,7 @@ function getChoiceMenuOptions() {
840
830
  text: option.text,
841
831
  label: itemLabel,
842
832
  type: Close,
833
+ closeCurrentLabel: option.closeCurrentLabel,
843
834
  props: {}
844
835
  });
845
836
  return;
@@ -926,8 +917,8 @@ function clearAllGameDatas() {
926
917
  var TickerBase = class {
927
918
  /**
928
919
  * @param args The arguments that you want to pass to the ticker.
929
- * @param duration The duration of the ticker. If is undefined, the ticker will be called every frame.
930
- * @param priority The priority of the ticker. If is undefined, the priority will be UPDATE_PRIORITY.NORMAL.
920
+ * @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
921
+ * @param priority The priority of the ticker. @default UPDATE_PRIORITY.NORMAL
931
922
  */
932
923
  constructor(args, duration, priority) {
933
924
  this.args = args;
@@ -937,28 +928,26 @@ var TickerBase = class {
937
928
  /**
938
929
  * The method that will be called every frame.
939
930
  * This method should be overridden and you can use GameWindowManager.addCanvasElement() to get the canvas element of the canvas, and edit them.
940
- * @param t The ticker that is calling this method
941
- * @param args The arguments that you passed when you added the ticker
942
- * @param tags The tags of the canvas elements that are connected to this ticker
931
+ * @param _ticker The ticker that is calling this method
932
+ * @param _args The arguments that you passed when you added the ticker
933
+ * @param _tags The tags of the canvas elements that are connected to this ticker
934
+ * @param _tickerId The id of the ticker. You can use this to get the ticker from the {@link GameWindowManager.currentTickers}
943
935
  */
944
- fn(_t, _args, _tags) {
936
+ fn(_ticker, _args, _tags, _tickerId) {
945
937
  throw new Error("[Pixi'VN] The method TickerBase.fn() must be overridden");
946
938
  }
947
939
  };
948
- exports.TickerFadeAlpha = class TickerFadeAlpha extends TickerBase {
949
- /**
950
- * The method that will be called every frame to fade the alpha of the canvas element of the canvas.
951
- * @param delta The delta time
952
- * @param args The arguments that are passed to the ticker
953
- * @param tags The tags of the canvas element that are connected to this ticker
954
- */
955
- fn(t, args, tags) {
940
+
941
+ // src/classes/ticker/FadeAlphaTicker.ts
942
+ exports.FadeAlphaTicker = class FadeAlphaTicker extends TickerBase {
943
+ fn(ticker, args, tags, tickerId) {
956
944
  let type = args.type === void 0 ? "hide" : args.type;
957
- let speed = args.speed === void 0 ? 0.1 : args.speed;
945
+ let duration = args.duration === void 0 ? 1 : args.duration;
946
+ let speed = 1 / (duration * 60);
958
947
  let limit = args.limit === void 0 ? type === "hide" ? 0 : 1 : args.limit;
959
- let removeElementAfter = args.tagToRemoveAfter || [];
960
- if (typeof removeElementAfter === "string") {
961
- removeElementAfter = [removeElementAfter];
948
+ let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
949
+ if (typeof tagToRemoveAfter2 === "string") {
950
+ tagToRemoveAfter2 = [tagToRemoveAfter2];
962
951
  }
963
952
  if (type === "hide" && limit < 0) {
964
953
  limit = 0;
@@ -979,61 +968,88 @@ exports.TickerFadeAlpha = class TickerFadeAlpha extends TickerBase {
979
968
  let element = GameWindowManager.getCanvasElement(tag);
980
969
  if (element && element instanceof pixi_js.Container) {
981
970
  if (type === "show" && element.alpha < limit) {
982
- element.alpha += speed * t.deltaTime;
971
+ element.alpha += speed * ticker.deltaTime;
983
972
  } else if (type === "hide" && element.alpha > limit) {
984
- element.alpha -= speed * t.deltaTime;
985
- } else {
973
+ element.alpha -= speed * ticker.deltaTime;
974
+ }
975
+ if (type === "show" && element.alpha >= limit) {
976
+ element.alpha = limit;
977
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
978
+ } else if (type === "hide" && element.alpha <= limit) {
986
979
  element.alpha = limit;
987
- GameWindowManager.removeAssociationBetweenTickerCanvasElement(tag, this);
988
- GameWindowManager.removeCanvasElement(removeElementAfter);
980
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
989
981
  }
990
982
  }
991
983
  });
992
984
  }
993
985
  };
994
- exports.TickerFadeAlpha = __decorateClass([
986
+ exports.FadeAlphaTicker = __decorateClass([
995
987
  tickerDecorator()
996
- ], exports.TickerFadeAlpha);
988
+ ], exports.FadeAlphaTicker);
997
989
 
998
990
  // src/functions/TickerUtility.ts
999
991
  function updateTickerProgression(args, propertyName, progression) {
1000
- if (args.hasOwnProperty(propertyName) && typeof args[propertyName] !== "number") {
992
+ if (args[propertyName] === void 0 || !progression || args[propertyName] === progression.limit) {
1001
993
  return;
1002
994
  }
1003
- if (args[propertyName] !== void 0 && progression && args[propertyName] !== progression.limit) {
995
+ if (typeof args[propertyName] === "number") {
1004
996
  if (progression.type === "linear") {
1005
- args[propertyName] += progression.amt;
1006
- if (progression.limit !== void 0) {
1007
- if (args[propertyName] > progression.limit && progression.amt > 0) {
1008
- args[propertyName] = progression.limit;
1009
- } else if (args[propertyName] < progression.limit && progression.amt < 0) {
1010
- args[propertyName] = progression.limit;
1011
- }
1012
- }
997
+ args[propertyName] = getLinearProgression(args[propertyName], progression);
1013
998
  } else if (progression.type === "exponential") {
1014
- args[propertyName] += args[propertyName] * progression.percentage;
1015
- if (progression.limit !== void 0) {
1016
- if (args[propertyName] > progression.limit && progression.percentage > 0) {
1017
- args[propertyName] = progression.limit;
1018
- } else if (args[propertyName] < progression.limit && progression.percentage < 0) {
1019
- args[propertyName] = progression.limit;
1020
- }
1021
- }
999
+ args[propertyName] = getExponentialProgression(args[propertyName], progression);
1000
+ }
1001
+ } 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") {
1002
+ if (progression.type === "linear") {
1003
+ args[propertyName].x = getLinearProgression(args[propertyName].x, progression);
1004
+ args[propertyName].y = getLinearProgression(args[propertyName].y, progression);
1005
+ } else if (progression.type === "exponential") {
1006
+ args[propertyName].x = getExponentialProgression(args[propertyName].x, progression);
1007
+ args[propertyName].y = getExponentialProgression(args[propertyName].y, progression);
1022
1008
  }
1023
1009
  }
1024
1010
  }
1011
+ function getLinearProgression(number, progression) {
1012
+ if (progression.limit !== void 0) {
1013
+ if (number > progression.limit && progression.amt > 0) {
1014
+ return progression.limit;
1015
+ } else if (number < progression.limit && progression.amt < 0) {
1016
+ return progression.limit;
1017
+ }
1018
+ }
1019
+ return number + progression.amt / 60;
1020
+ }
1021
+ function getExponentialProgression(number, progression) {
1022
+ if (progression.limit !== void 0) {
1023
+ if (number > progression.limit && progression.percentage > 0) {
1024
+ return progression.limit;
1025
+ } else if (number < progression.limit && progression.percentage < 0) {
1026
+ return progression.limit;
1027
+ }
1028
+ }
1029
+ return number + number * progression.percentage;
1030
+ }
1025
1031
 
1026
- // src/classes/ticker/TickerMove.ts
1027
- exports.TickerMove = class TickerMove extends TickerBase {
1028
- /**
1029
- * The method that will be called every frame to move the canvas element of the canvas.
1030
- * @param t The ticker that is calling this method
1031
- * @param args The arguments that are passed to the ticker
1032
- * @param tags The tags of the canvas element that are connected to this ticker
1033
- */
1034
- fn(t, args, tags) {
1035
- let speed = args.speed === void 0 ? 0.1 : args.speed;
1032
+ // src/classes/ticker/MoveTicker.ts
1033
+ exports.MoveTicker = class MoveTicker extends TickerBase {
1034
+ fn(ticker, args, tags, tickerId) {
1035
+ let xSpeed = 1;
1036
+ let ySpeed = 1;
1037
+ if (args.speed) {
1038
+ if (typeof args.speed === "number") {
1039
+ xSpeed = args.speed;
1040
+ ySpeed = args.speed;
1041
+ } else {
1042
+ xSpeed = args.speed.x;
1043
+ ySpeed = args.speed.y;
1044
+ }
1045
+ }
1046
+ xSpeed /= 60;
1047
+ ySpeed /= 60;
1036
1048
  let destination = args.destination;
1049
+ let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
1050
+ if (typeof tagToRemoveAfter2 === "string") {
1051
+ tagToRemoveAfter2 = [tagToRemoveAfter2];
1052
+ }
1037
1053
  tags.filter((tag) => {
1038
1054
  var _a;
1039
1055
  let element = GameWindowManager.getCanvasElement(tag);
@@ -1046,41 +1062,42 @@ exports.TickerMove = class TickerMove extends TickerBase {
1046
1062
  }).forEach((tag) => {
1047
1063
  let element = GameWindowManager.getCanvasElement(tag);
1048
1064
  if (element && element instanceof pixi_js.Container) {
1049
- let xDistance = destination.x - element.x;
1065
+ let xDistance = destination.x - element.x > 0 ? 1 : -1;
1050
1066
  if (xDistance != 0) {
1051
- element.x += xDistance / speed * t.deltaTime;
1067
+ element.x += xDistance * xSpeed * ticker.deltaTime;
1052
1068
  let newDistance = destination.x - element.x;
1053
1069
  if (xDistance < 0 && newDistance > 0 || xDistance > 0 && newDistance < 0) {
1054
1070
  element.x = destination.x;
1055
1071
  }
1056
1072
  }
1057
- let yDistance = destination.y - element.y;
1073
+ let yDistance = destination.y - element.y > 0 ? 1 : -1;
1058
1074
  if (yDistance != 0) {
1059
- element.y += yDistance / speed * t.deltaTime;
1075
+ element.y += yDistance * ySpeed * ticker.deltaTime;
1060
1076
  let newDistance = destination.y - element.y;
1061
1077
  if (yDistance < 0 && newDistance > 0 || yDistance > 0 && newDistance < 0) {
1062
1078
  element.y = destination.y;
1063
1079
  }
1064
1080
  }
1081
+ if (element.x == destination.x && element.y == destination.y) {
1082
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
1083
+ }
1065
1084
  }
1066
1085
  });
1067
1086
  if (args.speedProgression)
1068
1087
  updateTickerProgression(args, "speed", args.speedProgression);
1069
1088
  }
1070
1089
  };
1071
- exports.TickerMove = __decorateClass([
1090
+ exports.MoveTicker = __decorateClass([
1072
1091
  tickerDecorator()
1073
- ], exports.TickerMove);
1074
- exports.TickerRotate = class TickerRotate extends TickerBase {
1075
- /**
1076
- * The method that will be called every frame to rotate the canvas element of the canvas.
1077
- * @param delta The delta time
1078
- * @param args The arguments that are passed to the ticker
1079
- * @param tags The tags of the canvas element that are connected to this ticker
1080
- */
1081
- fn(t, args, tags) {
1082
- let speed = args.speed === void 0 ? 0.1 : args.speed;
1092
+ ], exports.MoveTicker);
1093
+ exports.RotateTicker = class RotateTicker extends TickerBase {
1094
+ fn(ticker, args, tags, tickerId) {
1095
+ let speed = (args.speed === void 0 ? 1 : args.speed) / 60;
1083
1096
  let clockwise = args.clockwise === void 0 ? true : args.clockwise;
1097
+ let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
1098
+ if (typeof tagToRemoveAfter2 === "string") {
1099
+ tagToRemoveAfter2 = [tagToRemoveAfter2];
1100
+ }
1084
1101
  tags.filter((tag) => {
1085
1102
  var _a;
1086
1103
  let element = GameWindowManager.getCanvasElement(tag);
@@ -1094,18 +1111,118 @@ exports.TickerRotate = class TickerRotate extends TickerBase {
1094
1111
  let element = GameWindowManager.getCanvasElement(tag);
1095
1112
  if (element && element instanceof pixi_js.Container) {
1096
1113
  if (clockwise)
1097
- element.rotation += speed * t.deltaTime;
1114
+ element.rotation += speed * ticker.deltaTime;
1098
1115
  else
1099
- element.rotation -= speed * t.deltaTime;
1116
+ element.rotation -= speed * ticker.deltaTime;
1117
+ if (speed < 1e-5 && !(args.speedProgression && args.speedProgression.type == "linear" && args.speedProgression.amt != 0)) {
1118
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
1119
+ }
1120
+ }
1121
+ });
1122
+ if (args.speedProgression)
1123
+ updateTickerProgression(args, "speed", args.speedProgression);
1124
+ }
1125
+ };
1126
+ exports.RotateTicker = __decorateClass([
1127
+ tickerDecorator()
1128
+ ], exports.RotateTicker);
1129
+ exports.ZoomTicker = class ZoomTicker extends TickerBase {
1130
+ fn(ticker, args, tags, tickerId) {
1131
+ let xSpeed = 0.1;
1132
+ let ySpeed = 0.1;
1133
+ if (args.speed) {
1134
+ if (typeof args.speed === "number") {
1135
+ xSpeed = args.speed;
1136
+ ySpeed = args.speed;
1137
+ } else {
1138
+ xSpeed = args.speed.x;
1139
+ ySpeed = args.speed.y;
1140
+ }
1141
+ }
1142
+ xSpeed /= 60;
1143
+ ySpeed /= 60;
1144
+ let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
1145
+ if (typeof tagToRemoveAfter2 === "string") {
1146
+ tagToRemoveAfter2 = [tagToRemoveAfter2];
1147
+ }
1148
+ let type = args.type || "zoom";
1149
+ let xLimit = Infinity;
1150
+ let yLimit = Infinity;
1151
+ if (args.limit) {
1152
+ if (typeof args.limit === "number") {
1153
+ xLimit = args.limit;
1154
+ yLimit = args.limit;
1155
+ } else {
1156
+ xLimit = args.limit.x;
1157
+ yLimit = args.limit.y;
1158
+ }
1159
+ }
1160
+ tags.filter((tag) => {
1161
+ var _a;
1162
+ let element = GameWindowManager.getCanvasElement(tag);
1163
+ if (args.startOnlyIfHaveTexture) {
1164
+ if (element && element instanceof pixi_js.Sprite && ((_a = element.texture) == null ? void 0 : _a.label) == "EMPTY") {
1165
+ return false;
1166
+ }
1167
+ }
1168
+ return true;
1169
+ }).forEach((tag) => {
1170
+ let element = GameWindowManager.getCanvasElement(tag);
1171
+ if (element && element instanceof pixi_js.Container) {
1172
+ if (type === "zoom" && (element.scale.x < xLimit || element.scale.y < yLimit)) {
1173
+ element.scale.x += xSpeed * ticker.deltaTime;
1174
+ element.scale.y += ySpeed * ticker.deltaTime;
1175
+ } else if (type === "unzoom" && (element.scale.x > xLimit || element.scale.y > yLimit)) {
1176
+ element.scale.x -= xSpeed * ticker.deltaTime;
1177
+ element.scale.y -= ySpeed * ticker.deltaTime;
1178
+ }
1179
+ if (type === "zoom") {
1180
+ if (element.scale.x > xLimit) {
1181
+ element.scale.x = xLimit;
1182
+ }
1183
+ if (element.scale.y > yLimit) {
1184
+ element.scale.y = yLimit;
1185
+ }
1186
+ if (element.scale.x >= xLimit && element.scale.y >= yLimit) {
1187
+ element.scale.x = xLimit;
1188
+ element.scale.y = yLimit;
1189
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
1190
+ }
1191
+ } else if (type === "unzoom") {
1192
+ if (element.scale.x < xLimit) {
1193
+ element.scale.x = xLimit;
1194
+ }
1195
+ if (element.scale.y < yLimit) {
1196
+ element.scale.y = yLimit;
1197
+ }
1198
+ if (element.scale.x <= xLimit && element.scale.y <= yLimit) {
1199
+ element.scale.x = xLimit;
1200
+ element.scale.y = yLimit;
1201
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
1202
+ }
1203
+ }
1204
+ if (xSpeed < 1e-5 && ySpeed < 1e-5 && !(args.speedProgression && args.speedProgression.type == "linear" && args.speedProgression.amt != 0)) {
1205
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
1206
+ }
1100
1207
  }
1101
1208
  });
1102
1209
  if (args.speedProgression)
1103
1210
  updateTickerProgression(args, "speed", args.speedProgression);
1104
1211
  }
1105
1212
  };
1106
- exports.TickerRotate = __decorateClass([
1213
+ exports.ZoomTicker = __decorateClass([
1107
1214
  tickerDecorator()
1108
- ], exports.TickerRotate);
1215
+ ], exports.ZoomTicker);
1216
+
1217
+ // src/constants.ts
1218
+ var PIXIVN_VERSION = "0.6.1";
1219
+ var Repeat = "repeat";
1220
+ function Pause(duration) {
1221
+ return {
1222
+ type: "pause",
1223
+ duration
1224
+ };
1225
+ }
1109
1226
 
1110
1227
  // src/functions/ImageUtility.ts
1111
1228
  function addImage(tag, imageUrl) {
@@ -1114,7 +1231,7 @@ function addImage(tag, imageUrl) {
1114
1231
  GameWindowManager.addCanvasElement(tag, image);
1115
1232
  return image;
1116
1233
  }
1117
- function loadImages(canvasImages) {
1234
+ function loadImage(canvasImages) {
1118
1235
  return __async(this, null, function* () {
1119
1236
  if (!Array.isArray(canvasImages)) {
1120
1237
  return [canvasImages];
@@ -1135,39 +1252,92 @@ function loadImages(canvasImages) {
1135
1252
  });
1136
1253
  });
1137
1254
  }
1255
+ function showImage(tag, imageUrl) {
1256
+ return __async(this, null, function* () {
1257
+ let image = addImage(tag, imageUrl);
1258
+ yield image.load();
1259
+ return image;
1260
+ });
1261
+ }
1138
1262
  function removeCanvasElement(tag) {
1139
1263
  GameWindowManager.removeCanvasElement(tag);
1140
1264
  }
1141
- function showWithDissolveTransition(tag, image, speed, priority) {
1142
- return __async(this, null, function* () {
1143
- let specialTag = void 0;
1265
+ function showWithDissolveTransition(_0, _1) {
1266
+ return __async(this, arguments, function* (tag, image, props = {}, priority) {
1267
+ var _a;
1268
+ let oldCanvasTag = void 0;
1144
1269
  if (GameWindowManager.getCanvasElement(tag)) {
1145
- specialTag = tag + "_temp_disolve";
1146
- GameWindowManager.editTagCanvasElement(tag, specialTag);
1270
+ oldCanvasTag = tag + "_temp_disolve";
1271
+ GameWindowManager.editCanvasElementTag(tag, oldCanvasTag);
1147
1272
  }
1148
1273
  let canvasElement;
1149
1274
  if (typeof image === "string") {
1150
1275
  canvasElement = addImage(tag, image);
1151
1276
  } else {
1152
1277
  canvasElement = image;
1278
+ GameWindowManager.addCanvasElement(tag, canvasElement);
1279
+ }
1280
+ if (canvasElement instanceof CanvasImage && ((_a = canvasElement.texture) == null ? void 0 : _a.label) == "EMPTY") {
1281
+ yield canvasElement.load();
1153
1282
  }
1154
1283
  canvasElement.alpha = 0;
1155
- let effect = new exports.TickerFadeAlpha({
1156
- speed,
1284
+ let effect = new exports.FadeAlphaTicker(__spreadProps(__spreadValues({}, props), {
1157
1285
  type: "show",
1158
- tagToRemoveAfter: specialTag,
1286
+ tagToRemoveAfter: oldCanvasTag,
1159
1287
  startOnlyIfHaveTexture: true
1160
- }, 1e4, priority);
1288
+ }), 10, priority);
1161
1289
  GameWindowManager.addTicker(tag, effect);
1162
- if (canvasElement instanceof CanvasImage) {
1163
- return canvasElement.load();
1164
- }
1165
1290
  return;
1166
1291
  });
1167
1292
  }
1168
-
1169
- // src/constants.ts
1170
- var PIXIVN_VERSION = "0.6.0";
1293
+ function removeWithDissolveTransition(tag, props = {}, priority) {
1294
+ if (typeof tag === "string") {
1295
+ tag = [tag];
1296
+ }
1297
+ let effect = new exports.FadeAlphaTicker(__spreadProps(__spreadValues({}, props), {
1298
+ type: "hide",
1299
+ tagToRemoveAfter: tag,
1300
+ startOnlyIfHaveTexture: true
1301
+ }), 10, priority);
1302
+ GameWindowManager.addTicker(tag, effect);
1303
+ }
1304
+ function showWithFadeTransition(_0, _1) {
1305
+ return __async(this, arguments, function* (tag, image, props = {}, priority) {
1306
+ var _a;
1307
+ if (!GameWindowManager.getCanvasElement(tag)) {
1308
+ return showWithDissolveTransition(tag, image, props, priority);
1309
+ }
1310
+ let oldCanvasTag = tag + "_temp_fade";
1311
+ GameWindowManager.editCanvasElementTag(tag, oldCanvasTag);
1312
+ let canvasElement;
1313
+ if (typeof image === "string") {
1314
+ canvasElement = addImage(tag, image);
1315
+ } else {
1316
+ canvasElement = image;
1317
+ GameWindowManager.addCanvasElement(tag, canvasElement);
1318
+ }
1319
+ if (canvasElement instanceof CanvasImage && ((_a = canvasElement.texture) == null ? void 0 : _a.label) == "EMPTY") {
1320
+ yield canvasElement.load();
1321
+ }
1322
+ canvasElement.alpha = 0;
1323
+ GameWindowManager.addTickersSteps(oldCanvasTag, [
1324
+ new exports.FadeAlphaTicker(__spreadProps(__spreadValues({}, props), {
1325
+ type: "hide",
1326
+ startOnlyIfHaveTexture: true
1327
+ }))
1328
+ ]);
1329
+ GameWindowManager.addTickersSteps(tag, [
1330
+ Pause(props.duration || 1),
1331
+ new exports.FadeAlphaTicker(__spreadProps(__spreadValues({}, props), {
1332
+ type: "show",
1333
+ startOnlyIfHaveTexture: true
1334
+ }))
1335
+ ]);
1336
+ });
1337
+ }
1338
+ function removeWithFadeTransition(tag, props = {}, priority) {
1339
+ return removeWithDissolveTransition(tag, props, priority);
1340
+ }
1171
1341
 
1172
1342
  // src/functions/SavesUtility.ts
1173
1343
  function getSaveData() {
@@ -1344,6 +1514,9 @@ function asciiArtLog() {
1344
1514
  `);
1345
1515
  }
1346
1516
 
1517
+ // src/types/ticker/TagToRemoveAfterType.ts
1518
+ var tagToRemoveAfter = "tagToRemoveAfter";
1519
+
1347
1520
  // src/managers/WindowManager.ts
1348
1521
  var _GameWindowManager = class _GameWindowManager {
1349
1522
  constructor() {
@@ -1526,25 +1699,25 @@ var _GameWindowManager = class _GameWindowManager {
1526
1699
  /**
1527
1700
  * Remove a canvas element from the canvas.
1528
1701
  * And remove all tickers that are not connected to any canvas element.
1529
- * @param tag The tag of the canvas element to be removed.
1702
+ * @param tags The tag of the canvas element to be removed.
1530
1703
  * @returns
1531
1704
  * @example
1532
1705
  * ```typescript
1533
1706
  * GameWindowManager.removeCanvasElement("bunny");
1534
1707
  * ```
1535
1708
  */
1536
- static removeCanvasElement(tag) {
1537
- if (typeof tag === "string") {
1538
- tag = [tag];
1709
+ static removeCanvasElement(tags) {
1710
+ if (typeof tags === "string") {
1711
+ tags = [tags];
1539
1712
  }
1540
- tag.forEach((t) => {
1541
- if (_GameWindowManager._children[t]) {
1542
- _GameWindowManager.app.stage.removeChild(_GameWindowManager._children[t]);
1543
- delete _GameWindowManager._children[t];
1713
+ tags.forEach((tag) => {
1714
+ if (_GameWindowManager._children[tag]) {
1715
+ _GameWindowManager.app.stage.removeChild(_GameWindowManager._children[tag]);
1716
+ delete _GameWindowManager._children[tag];
1717
+ _GameWindowManager.removeTickerByCanvasElement(tag);
1544
1718
  }
1545
1719
  });
1546
- _GameWindowManager.removeTickersWithoutAssociatedCanvasElement();
1547
- _GameWindowManager.childrenTagsOrder = _GameWindowManager.childrenTagsOrder.filter((t) => !tag.includes(t));
1720
+ _GameWindowManager.childrenTagsOrder = _GameWindowManager.childrenTagsOrder.filter((t) => !tags.includes(t));
1548
1721
  }
1549
1722
  /**
1550
1723
  * Get a canvas element by the tag.
@@ -1574,18 +1747,43 @@ var _GameWindowManager = class _GameWindowManager {
1574
1747
  _GameWindowManager.app.stage.removeChildren();
1575
1748
  _GameWindowManager._children = {};
1576
1749
  _GameWindowManager.childrenTagsOrder = [];
1577
- _GameWindowManager.removeTickers();
1750
+ _GameWindowManager.removeAllTickers();
1578
1751
  }
1579
1752
  /**
1580
1753
  * Edit the tag of a canvas element.
1581
1754
  * @param oldTag The old tag of the canvas element.
1582
1755
  * @param newTag The new tag of the canvas element.
1583
1756
  */
1584
- static editTagCanvasElement(oldTag, newTag) {
1757
+ static editCanvasElementTag(oldTag, newTag) {
1585
1758
  if (_GameWindowManager._children[oldTag]) {
1586
1759
  _GameWindowManager._children[newTag] = _GameWindowManager._children[oldTag];
1587
1760
  delete _GameWindowManager._children[oldTag];
1588
1761
  }
1762
+ if (_GameWindowManager._currentTickersSteps[oldTag]) {
1763
+ _GameWindowManager._currentTickersSteps[newTag] = _GameWindowManager._currentTickersSteps[oldTag];
1764
+ delete _GameWindowManager._currentTickersSteps[oldTag];
1765
+ }
1766
+ for (let id in _GameWindowManager._currentTickers) {
1767
+ let ticker = _GameWindowManager._currentTickers[id];
1768
+ if (ticker.canvasElementTags.includes(oldTag)) {
1769
+ ticker.canvasElementTags = ticker.canvasElementTags.map((t) => t === oldTag ? newTag : t);
1770
+ if (ticker.args.hasOwnProperty(tagToRemoveAfter)) {
1771
+ let tagToRemoveAfter2 = ticker.args.tagToRemoveAfter;
1772
+ if (typeof tagToRemoveAfter2 === "string") {
1773
+ tagToRemoveAfter2 = [tagToRemoveAfter2];
1774
+ }
1775
+ if (Array.isArray(tagToRemoveAfter2)) {
1776
+ ticker.args.tagToRemoveAfter = tagToRemoveAfter2.map((t) => t === oldTag ? newTag : t);
1777
+ }
1778
+ }
1779
+ }
1780
+ }
1781
+ for (let timeout in _GameWindowManager._currentTickersTimeouts) {
1782
+ let TickerTimeout = _GameWindowManager._currentTickersTimeouts[timeout];
1783
+ if (TickerTimeout.tags.includes(oldTag)) {
1784
+ TickerTimeout.tags = TickerTimeout.tags.map((t) => t === oldTag ? newTag : t);
1785
+ }
1786
+ }
1589
1787
  }
1590
1788
  /** Edit Tickers Methods */
1591
1789
  /**
@@ -1594,23 +1792,38 @@ var _GameWindowManager = class _GameWindowManager {
1594
1792
  static get currentTickers() {
1595
1793
  return _GameWindowManager._currentTickers;
1596
1794
  }
1795
+ static get currentTickersList() {
1796
+ return Object.values(_GameWindowManager._currentTickers);
1797
+ }
1798
+ static get currentTickersWithoutCreatedBySteps() {
1799
+ return Object.fromEntries(Object.entries(_GameWindowManager._currentTickers).filter(([_, ticker]) => !ticker.createdByTicketStepsId));
1800
+ }
1597
1801
  /**
1598
1802
  * The steps of the tickers
1599
1803
  */
1600
1804
  static get currentTickersSteps() {
1601
1805
  return _GameWindowManager._currentTickersSteps;
1602
1806
  }
1807
+ static generateTickerId(tickerData) {
1808
+ try {
1809
+ return sha1__default.default(JSON.stringify(tickerData)).toString() + "_" + Math.random().toString(36).substring(7);
1810
+ } catch (e) {
1811
+ throw new Error(`[Pixi'VN] Error to generate ticker id: ${e}`);
1812
+ }
1813
+ }
1603
1814
  /**
1604
- * Run a ticker.
1815
+ * Run a ticker. You can run multiple addTicker with the same tag and different tickerClasses.
1816
+ * If you run a ticker with the same tag and tickerClass, the old ticker will be removed.
1817
+ * If already exists a sequence of tickers with the same tag, it will be removed.
1605
1818
  * @param canvasEslementTag The tag of the canvas element that will use the ticker.
1606
1819
  * @param ticker The ticker class to be run.
1607
1820
  * @param args The arguments to be used in the ticker.
1608
- * @param duration The time to be used in the ticker. This number is in milliseconds. If it is undefined, the ticker will run forever.
1821
+ * @param duration The time to be used in the ticker. This number is in seconds. If it is undefined, the ticker will run forever.
1609
1822
  * @param priority The priority to be used in the ticker.
1610
1823
  * @returns
1611
1824
  * @example
1612
1825
  * ```typescript
1613
- * GameWindowManager.addTicker("alien", new TickerRotate({ speed: 0.2 }))
1826
+ * GameWindowManager.addTicker("alien", new RotateTicker({ speed: 0.2 }))
1614
1827
  * ```
1615
1828
  */
1616
1829
  static addTicker(canvasElementTag, ticker) {
@@ -1618,82 +1831,88 @@ var _GameWindowManager = class _GameWindowManager {
1618
1831
  if (typeof canvasElementTag === "string") {
1619
1832
  canvasElementTag = [canvasElementTag];
1620
1833
  }
1621
- let t = geTickerInstanceByClassName(tickerName, ticker.args, ticker.duration, ticker.priority);
1622
- if (!t) {
1834
+ if (!geTickerInstanceByClassName(tickerName, ticker.args, ticker.duration, ticker.priority)) {
1623
1835
  console.error(`[Pixi'VN] Ticker ${tickerName} not found`);
1624
1836
  return;
1625
1837
  }
1626
- _GameWindowManager.removeAssociationBetweenTickerCanvasElement(canvasElementTag, ticker);
1627
1838
  let tickerHistory = {
1628
1839
  fn: () => {
1629
1840
  },
1630
1841
  className: tickerName,
1631
- args: ticker.args,
1842
+ args: createExportableElement(ticker.args),
1632
1843
  canvasElementTags: canvasElementTag,
1633
1844
  priority: ticker.priority,
1634
1845
  duration: ticker.duration
1635
1846
  };
1636
- _GameWindowManager.pushTicker(tickerHistory, t);
1637
- _GameWindowManager.removeTickersWithoutAssociatedCanvasElement();
1847
+ let id = _GameWindowManager.generateTickerId(tickerHistory);
1848
+ _GameWindowManager.pushTicker(id, tickerHistory, ticker);
1638
1849
  if (ticker.duration) {
1639
1850
  let timeout = setTimeout(() => {
1640
1851
  _GameWindowManager.removeTickerTimeoutInfo(timeout);
1641
- _GameWindowManager.nextTickerStep(canvasElementTag);
1642
- }, ticker.duration);
1643
- _GameWindowManager.addTickerTimeoutInfo(canvasElementTag, tickerName, timeout.toString());
1852
+ let tickerTimeoutInfo = _GameWindowManager._currentTickersTimeouts[timeout.toString()];
1853
+ if (tickerTimeoutInfo) {
1854
+ _GameWindowManager.removeTicker(id);
1855
+ }
1856
+ }, ticker.duration * 1e3);
1857
+ _GameWindowManager.addTickerTimeoutInfo(canvasElementTag, tickerName, timeout.toString(), true);
1644
1858
  }
1645
1859
  }
1646
- static pushTicker(tickerData, ticker) {
1860
+ static pushTicker(id, tickerData, ticker) {
1647
1861
  _GameWindowManager.removeAssociationBetweenTickerCanvasElement(tickerData.canvasElementTags, tickerData);
1648
- _GameWindowManager._currentTickers.push(tickerData);
1862
+ _GameWindowManager._currentTickers[id] = tickerData;
1649
1863
  tickerData.fn = (t) => {
1650
- ticker == null ? void 0 : ticker.fn(t, tickerData.args, tickerData.canvasElementTags);
1864
+ let data = _GameWindowManager._currentTickers[id];
1865
+ if (data) {
1866
+ ticker == null ? void 0 : ticker.fn(t, data.args, data.canvasElementTags, id);
1867
+ }
1651
1868
  };
1652
1869
  _GameWindowManager.app.ticker.add(tickerData.fn, void 0, tickerData.priority);
1653
1870
  }
1654
1871
  /**
1655
- * Run a sequence of tickers.
1872
+ * Run a sequence of tickers. If exists a ticker steps with the same tag, it will be removed.
1656
1873
  * @param tag The tag of canvas element that will use the tickers.
1657
1874
  * @param steps The steps of the tickers.
1875
+ * @param currentStepNumber The current step number. It is used to continue the sequence of tickers.
1658
1876
  * @returns
1659
1877
  * @example
1660
1878
  * ```typescript
1661
1879
  * GameWindowManager.addTickersSteps("alien", [
1662
- * new TickerRotate({ speed: 0.1, clockwise: true }, 2000),
1663
- * Pause(500),
1664
- * new TickerRotate({ speed: 0.2, clockwise: false }, 2000),
1880
+ * new RotateTicker({ speed: 0.1, clockwise: true }, 2), // 2 seconds
1881
+ * Pause(1), // 1 second
1882
+ * new RotateTicker({ speed: 0.2, clockwise: false }, 2),
1665
1883
  * Repeat,
1666
1884
  * ])
1667
1885
  * ```
1668
1886
  */
1669
- static addTickersSteps(tag, steps) {
1887
+ static addTickersSteps(tag, steps, currentStepNumber = 0) {
1670
1888
  if (steps.length == 0) {
1671
1889
  console.warn("[Pixi'VN] The steps of the tickers is empty");
1672
1890
  return;
1673
1891
  }
1674
- let alredyExists = _GameWindowManager._currentTickersSteps[tag] !== void 0;
1892
+ _GameWindowManager.removeTickerStepByCanvasElement(tag);
1675
1893
  _GameWindowManager._currentTickersSteps[tag] = {
1676
- currentStepNumber: 0,
1677
- steps: steps.map((s) => {
1678
- if (s === Repeat) {
1679
- return s;
1680
- }
1681
- if (!s.duration) {
1682
- console.warn("[Pixi'VN] Duration is not defined, so it will be set to 1000");
1683
- s.duration = 1e3;
1894
+ currentStepNumber,
1895
+ steps: steps.map((step) => {
1896
+ if (step === Repeat) {
1897
+ return step;
1684
1898
  }
1685
- if (s.hasOwnProperty("type") && s.type === PauseValueType) {
1686
- return s;
1899
+ if (step.hasOwnProperty("type") && step.type === "pause") {
1900
+ return step;
1687
1901
  }
1688
- let tickerName = s.constructor.name;
1902
+ let tickerName = step.constructor.name;
1689
1903
  return {
1690
1904
  ticker: tickerName,
1691
- args: s.args,
1692
- duration: s.duration
1905
+ args: createExportableElement(step.args),
1906
+ duration: step.duration
1693
1907
  };
1694
1908
  })
1695
1909
  };
1696
- if (!alredyExists) {
1910
+ _GameWindowManager.runTickersSteps(tag);
1911
+ }
1912
+ static restoneTickersSteps(data) {
1913
+ for (let tag in data) {
1914
+ let steps = data[tag];
1915
+ _GameWindowManager._currentTickersSteps[tag] = steps;
1697
1916
  _GameWindowManager.runTickersSteps(tag);
1698
1917
  }
1699
1918
  }
@@ -1707,12 +1926,17 @@ var _GameWindowManager = class _GameWindowManager {
1707
1926
  return;
1708
1927
  }
1709
1928
  }
1710
- if (step.hasOwnProperty("type") && step.type === PauseValueType) {
1929
+ if (step.hasOwnProperty("type") && step.type === "pause") {
1711
1930
  let timeout = setTimeout(() => {
1931
+ let tickerTimeoutInfo = _GameWindowManager._currentTickersTimeouts[timeout.toString()];
1932
+ if (tickerTimeoutInfo) {
1933
+ tickerTimeoutInfo.tags.forEach((tag2) => {
1934
+ _GameWindowManager.nextTickerStep(tag2);
1935
+ });
1936
+ }
1712
1937
  _GameWindowManager.removeTickerTimeoutInfo(timeout);
1713
- _GameWindowManager.nextTickerStep(tag);
1714
- }, step.duration);
1715
- _GameWindowManager.addTickerTimeoutInfo(tag, "steps", timeout.toString());
1938
+ }, step.duration * 1e3);
1939
+ _GameWindowManager.addTickerTimeoutInfo(tag, "steps", timeout.toString(), false);
1716
1940
  return;
1717
1941
  }
1718
1942
  let ticker = geTickerInstanceByClassName(step.ticker, step.args, step.duration, step.priority);
@@ -1720,57 +1944,88 @@ var _GameWindowManager = class _GameWindowManager {
1720
1944
  console.error(`[Pixi'VN] Ticker ${step.ticker} not found`);
1721
1945
  return;
1722
1946
  }
1723
- _GameWindowManager.addTicker(tag, ticker);
1947
+ let tickerName = ticker.constructor.name;
1948
+ let tickerHistory = {
1949
+ fn: () => {
1950
+ },
1951
+ className: tickerName,
1952
+ args: createExportableElement(ticker.args),
1953
+ canvasElementTags: [tag],
1954
+ priority: ticker.priority,
1955
+ duration: ticker.duration,
1956
+ createdByTicketStepsId: tag
1957
+ };
1958
+ let id = _GameWindowManager.generateTickerId(tickerHistory);
1959
+ _GameWindowManager.pushTicker(id, tickerHistory, ticker);
1960
+ if (ticker.duration) {
1961
+ let timeout = setTimeout(() => {
1962
+ let tickerTimeoutInfo = _GameWindowManager._currentTickersTimeouts[timeout.toString()];
1963
+ if (tickerTimeoutInfo) {
1964
+ _GameWindowManager.removeTicker(id);
1965
+ tickerTimeoutInfo.tags.forEach((tag2) => {
1966
+ _GameWindowManager.nextTickerStep(tag2);
1967
+ });
1968
+ }
1969
+ _GameWindowManager.removeTickerTimeoutInfo(timeout);
1970
+ }, ticker.duration * 1e3);
1971
+ _GameWindowManager.addTickerTimeoutInfo(tag, tickerName, timeout.toString(), false);
1972
+ }
1724
1973
  }
1725
1974
  static nextTickerStep(tag) {
1726
- if (typeof tag === "string") {
1727
- tag = [tag];
1975
+ if (_GameWindowManager._currentTickersSteps[tag]) {
1976
+ let steps = _GameWindowManager._currentTickersSteps[tag];
1977
+ if (steps.currentStepNumber + 1 < steps.steps.length) {
1978
+ steps.currentStepNumber++;
1979
+ _GameWindowManager._currentTickersSteps[tag] = steps;
1980
+ _GameWindowManager.runTickersSteps(tag);
1981
+ } else {
1982
+ _GameWindowManager.removeTickerStepByCanvasElement(tag);
1983
+ }
1728
1984
  }
1729
- tag.forEach((tag2) => {
1730
- if (_GameWindowManager._currentTickersSteps[tag2]) {
1731
- let steps = _GameWindowManager._currentTickersSteps[tag2];
1732
- if (steps.currentStepNumber + 1 < steps.steps.length) {
1733
- steps.currentStepNumber++;
1734
- _GameWindowManager._currentTickersSteps[tag2] = steps;
1735
- _GameWindowManager.runTickersSteps(tag2);
1736
- } else {
1737
- delete _GameWindowManager._currentTickersSteps[tag2];
1738
- }
1985
+ }
1986
+ static onEndOfTicker(canvasElementTags, ticker, canvasElementTagsToDelete, tickerId) {
1987
+ let tickerData = _GameWindowManager._currentTickers[tickerId];
1988
+ _GameWindowManager.removeAssociationBetweenTickerCanvasElement(canvasElementTags, ticker);
1989
+ _GameWindowManager.removeCanvasElement(canvasElementTagsToDelete);
1990
+ if (tickerData) {
1991
+ _GameWindowManager.removeTicker(tickerId);
1992
+ if (tickerData.duration == void 0 && tickerData.createdByTicketStepsId) {
1993
+ _GameWindowManager.nextTickerStep(tickerData.createdByTicketStepsId);
1739
1994
  }
1740
- });
1995
+ }
1741
1996
  }
1742
1997
  /**
1743
1998
  * Remove a connection between a canvas element and a ticker.
1744
1999
  * And remove the ticker if there is no canvas element connected to it.
1745
- * @param tag The tag of the canvas element that will use the ticker.
2000
+ * @param tags The tag of the canvas element that will use the ticker.
1746
2001
  * @param ticker The ticker class to be removed.
1747
2002
  * @example
1748
2003
  * ```typescript
1749
- * GameWindowManager.removeAssociationBetweenTickerCanvasElement("alien", TickerRotate)
2004
+ * GameWindowManager.removeAssociationBetweenTickerCanvasElement("alien", RotateTicker)
1750
2005
  * ```
1751
2006
  */
1752
- static removeAssociationBetweenTickerCanvasElement(tag, ticker) {
2007
+ static removeAssociationBetweenTickerCanvasElement(tags, ticker) {
1753
2008
  let tickerName;
1754
- if (ticker instanceof TickerBase) {
2009
+ if (typeof ticker === "string") {
2010
+ tickerName = ticker;
2011
+ } else if (ticker instanceof TickerBase) {
1755
2012
  tickerName = ticker.constructor.name;
1756
2013
  } else {
1757
2014
  tickerName = ticker.name;
1758
2015
  }
1759
- if (typeof tag === "string") {
1760
- tag = [tag];
2016
+ if (typeof tags === "string") {
2017
+ tags = [tags];
1761
2018
  }
1762
- _GameWindowManager._currentTickers = _GameWindowManager._currentTickers.map((t) => {
1763
- if (t.className === tickerName) {
1764
- t.canvasElementTags = t.canvasElementTags.filter((e) => !tag.includes(e));
2019
+ for (let id in _GameWindowManager._currentTickers) {
2020
+ let ticker2 = _GameWindowManager._currentTickers[id];
2021
+ if (ticker2.className === tickerName) {
2022
+ _GameWindowManager._currentTickers[id].canvasElementTags = ticker2.canvasElementTags.filter((e) => !tags.includes(e));
1765
2023
  }
1766
- return t;
1767
- });
1768
- for (let timeout in _GameWindowManager.currentTickersTimeouts) {
1769
- let t = _GameWindowManager.currentTickersTimeouts[timeout].tags.filter((e) => !tag.includes(e));
1770
- if (t.length == 0) {
1771
- _GameWindowManager.removeTickerTimeoutInfo(timeout);
1772
- } else {
1773
- _GameWindowManager.currentTickersTimeouts[timeout].tags = t;
2024
+ }
2025
+ for (let timeout in _GameWindowManager._currentTickersTimeouts) {
2026
+ let TickerTimeout = _GameWindowManager._currentTickersTimeouts[timeout];
2027
+ if (TickerTimeout.ticker === tickerName && TickerTimeout.canBeDeletedBeforeEnd) {
2028
+ _GameWindowManager._currentTickersTimeouts[timeout].tags = TickerTimeout.tags.filter((t) => !tags.includes(t));
1774
2029
  }
1775
2030
  }
1776
2031
  _GameWindowManager.removeTickersWithoutAssociatedCanvasElement();
@@ -1779,49 +2034,117 @@ var _GameWindowManager = class _GameWindowManager {
1779
2034
  * Remove all tickers that are not connected to any existing canvas element.
1780
2035
  */
1781
2036
  static removeTickersWithoutAssociatedCanvasElement() {
1782
- let currentTickers = _GameWindowManager._currentTickers.map((t) => {
1783
- t.canvasElementTags = t.canvasElementTags.filter((e) => _GameWindowManager._children[e]);
1784
- return t;
1785
- });
1786
- currentTickers.filter((t) => t.canvasElementTags.length === 0).forEach((t) => {
1787
- _GameWindowManager.app.ticker.remove(t.fn);
1788
- });
1789
- currentTickers = currentTickers.filter((t) => t.canvasElementTags.length > 0);
1790
- _GameWindowManager._currentTickers = currentTickers;
2037
+ for (let id in _GameWindowManager._currentTickers) {
2038
+ let ticker = _GameWindowManager._currentTickers[id];
2039
+ ticker.canvasElementTags = ticker.canvasElementTags.filter((e) => _GameWindowManager._children[e]);
2040
+ if (ticker.canvasElementTags.length === 0) {
2041
+ _GameWindowManager.removeTicker(id);
2042
+ }
2043
+ }
1791
2044
  for (let tag in _GameWindowManager._currentTickersSteps) {
1792
2045
  if (_GameWindowManager._children[tag] === void 0) {
1793
2046
  delete _GameWindowManager._currentTickersSteps[tag];
1794
2047
  }
1795
2048
  }
2049
+ Object.entries(_GameWindowManager._currentTickersTimeouts).forEach(([timeout, { tags }]) => {
2050
+ if (tags.length === 0) {
2051
+ _GameWindowManager.removeTickerTimeout(timeout);
2052
+ }
2053
+ });
1796
2054
  }
1797
- static addTickerTimeoutInfo(tags, ticker, timeout) {
2055
+ static addTickerTimeoutInfo(tags, ticker, timeout, canBeDeletedBeforeEnd) {
1798
2056
  if (typeof tags === "string") {
1799
2057
  tags = [tags];
1800
2058
  }
1801
- _GameWindowManager.currentTickersTimeouts[timeout] = {
2059
+ _GameWindowManager._currentTickersTimeouts[timeout] = {
1802
2060
  tags,
1803
- ticker
2061
+ ticker,
2062
+ canBeDeletedBeforeEnd
1804
2063
  };
1805
2064
  }
1806
2065
  static removeTickerTimeoutInfo(timeout) {
1807
2066
  if (typeof timeout !== "string") {
1808
2067
  timeout = timeout.toString();
1809
2068
  }
1810
- if (_GameWindowManager.currentTickersTimeouts[timeout]) {
1811
- delete _GameWindowManager.currentTickersTimeouts[timeout];
2069
+ if (_GameWindowManager._currentTickersTimeouts[timeout]) {
2070
+ delete _GameWindowManager._currentTickersTimeouts[timeout];
2071
+ }
2072
+ }
2073
+ static removeTickerTimeout(timeout) {
2074
+ if (typeof timeout !== "string") {
2075
+ timeout = timeout.toString();
2076
+ }
2077
+ clearTimeout(Number(timeout));
2078
+ _GameWindowManager.removeTickerTimeoutInfo(timeout);
2079
+ }
2080
+ static removeTickerTimeoutsByTag(tag, checkCanBeDeletedBeforeEnd) {
2081
+ for (let timeout in _GameWindowManager._currentTickersTimeouts) {
2082
+ let tagsWithoutTagToRemove = _GameWindowManager._currentTickersTimeouts[timeout].tags.filter((t) => t !== tag);
2083
+ if (tagsWithoutTagToRemove.length === 0) {
2084
+ let canBeDeletedBeforeEnd = _GameWindowManager._currentTickersTimeouts[timeout].canBeDeletedBeforeEnd;
2085
+ if (!checkCanBeDeletedBeforeEnd || canBeDeletedBeforeEnd) {
2086
+ _GameWindowManager.removeTickerTimeout(timeout);
2087
+ }
2088
+ } else {
2089
+ _GameWindowManager._currentTickersTimeouts[timeout].tags = tagsWithoutTagToRemove;
2090
+ }
1812
2091
  }
1813
2092
  }
1814
2093
  /**
1815
2094
  * Remove all tickers from the canvas.
1816
2095
  */
1817
- static removeTickers() {
2096
+ static removeAllTickers() {
1818
2097
  _GameWindowManager._currentTickersSteps = {};
1819
- _GameWindowManager._currentTickers.forEach((t) => {
1820
- _GameWindowManager.app.ticker.remove(t.fn);
2098
+ Object.keys(_GameWindowManager._currentTickers).forEach((id) => {
2099
+ _GameWindowManager.removeTicker(id);
2100
+ });
2101
+ _GameWindowManager._currentTickers = {};
2102
+ for (let timeout in _GameWindowManager._currentTickersTimeouts) {
2103
+ _GameWindowManager.removeTickerTimeout(timeout);
2104
+ }
2105
+ }
2106
+ /**
2107
+ * Remove all tickers from a canvas element.
2108
+ * @param tag The tag of the canvas element that will use the ticker.
2109
+ */
2110
+ static removeTickerByCanvasElement(tag) {
2111
+ if (typeof tag === "string") {
2112
+ tag = [tag];
2113
+ }
2114
+ tag.forEach((tag2) => {
2115
+ for (let id in _GameWindowManager._currentTickers) {
2116
+ let ticker = _GameWindowManager._currentTickers[id];
2117
+ if (ticker.canvasElementTags.includes(tag2)) {
2118
+ _GameWindowManager.removeTicker(id);
2119
+ }
2120
+ }
2121
+ if (_GameWindowManager._currentTickersSteps[tag2]) {
2122
+ delete _GameWindowManager._currentTickersSteps[tag2];
2123
+ }
2124
+ _GameWindowManager.removeTickerTimeoutsByTag(tag2, false);
2125
+ delete _GameWindowManager._currentTickersSteps[tag2];
1821
2126
  });
1822
- _GameWindowManager._currentTickers = [];
1823
- for (let timeout in _GameWindowManager.currentTickersTimeouts) {
1824
- _GameWindowManager.removeTickerTimeoutInfo(timeout);
2127
+ }
2128
+ static removeTickerStepByCanvasElement(tag) {
2129
+ if (_GameWindowManager._currentTickersSteps[tag]) {
2130
+ delete _GameWindowManager._currentTickersSteps[tag];
2131
+ }
2132
+ for (let id in _GameWindowManager._currentTickers) {
2133
+ let ticker = _GameWindowManager._currentTickers[id];
2134
+ if (ticker.createdByTicketStepsId === tag) {
2135
+ _GameWindowManager.removeTicker(id);
2136
+ }
2137
+ }
2138
+ }
2139
+ static removeTicker(tickerId) {
2140
+ let ticker = _GameWindowManager._currentTickers[tickerId];
2141
+ if (ticker) {
2142
+ if (ticker.args.hasOwnProperty(tagToRemoveAfter)) {
2143
+ let tagToRemoveAfter2 = ticker.args.tagToRemoveAfter;
2144
+ _GameWindowManager.removeCanvasElement(tagToRemoveAfter2);
2145
+ }
2146
+ _GameWindowManager.app.ticker.remove(ticker.fn);
2147
+ delete _GameWindowManager._currentTickers[tickerId];
1825
2148
  }
1826
2149
  }
1827
2150
  /**
@@ -1848,7 +2171,8 @@ var _GameWindowManager = class _GameWindowManager {
1848
2171
  currentElements[tag] = exportCanvasElement(_GameWindowManager._children[tag]);
1849
2172
  }
1850
2173
  return {
1851
- currentTickers: createExportableElement(_GameWindowManager._currentTickers),
2174
+ currentTickers: createExportableElement(_GameWindowManager.currentTickersWithoutCreatedBySteps),
2175
+ currentTickersSteps: createExportableElement(_GameWindowManager._currentTickersSteps),
1852
2176
  currentElements: createExportableElement(currentElements),
1853
2177
  childrenTagsOrder: createExportableElement(_GameWindowManager.childrenTagsOrder)
1854
2178
  };
@@ -1883,7 +2207,8 @@ var _GameWindowManager = class _GameWindowManager {
1883
2207
  }
1884
2208
  if (data.hasOwnProperty("currentTickers")) {
1885
2209
  let currentTickers = data["currentTickers"];
1886
- currentTickers.forEach((t) => {
2210
+ for (let id in currentTickers) {
2211
+ let t = currentTickers[id];
1887
2212
  let tags = t.canvasElementTags;
1888
2213
  let ticker = geTickerInstanceByClassName(t.className, t.args, t.duration, t.priority);
1889
2214
  if (ticker) {
@@ -1891,7 +2216,11 @@ var _GameWindowManager = class _GameWindowManager {
1891
2216
  } else {
1892
2217
  console.error(`[Pixi'VN] Ticker ${t.className} not found`);
1893
2218
  }
1894
- });
2219
+ }
2220
+ }
2221
+ if (data.hasOwnProperty("currentTickersSteps")) {
2222
+ let currentTickersSteps = data["currentTickersSteps"];
2223
+ _GameWindowManager.restoneTickersSteps(currentTickersSteps);
1895
2224
  }
1896
2225
  } catch (e) {
1897
2226
  console.error("[Pixi'VN] Error importing data", e);
@@ -1905,9 +2234,9 @@ _GameWindowManager._children = {};
1905
2234
  * The order of the children tags.
1906
2235
  */
1907
2236
  _GameWindowManager.childrenTagsOrder = [];
1908
- _GameWindowManager._currentTickers = [];
2237
+ _GameWindowManager._currentTickers = {};
1909
2238
  _GameWindowManager._currentTickersSteps = {};
1910
- _GameWindowManager.currentTickersTimeouts = {};
2239
+ _GameWindowManager._currentTickersTimeouts = {};
1911
2240
  var GameWindowManager = _GameWindowManager;
1912
2241
 
1913
2242
  // src/managers/StepManager.ts
@@ -1974,7 +2303,8 @@ var _GameStepManager = class _GameStepManager {
1974
2303
  canvas: {
1975
2304
  childrenTagsOrder: [],
1976
2305
  currentElements: {},
1977
- currentTickers: []
2306
+ currentTickers: {},
2307
+ currentTickersSteps: {}
1978
2308
  },
1979
2309
  labelIndex: -1,
1980
2310
  openedLabels: []
@@ -2185,8 +2515,15 @@ var _GameStepManager = class _GameStepManager {
2185
2515
  }
2186
2516
  try {
2187
2517
  if (labelId === CLOSE_LABEL_ID) {
2188
- let closeLabel = newCloseLabel(choiseMade);
2189
- return _GameStepManager.closeChoiceMenu(closeLabel, props);
2518
+ let closeCurrentLabel = newCloseLabel(choiseMade);
2519
+ let choice = {
2520
+ label: closeCurrentLabel,
2521
+ text: "",
2522
+ closeCurrentLabel: false,
2523
+ type: "close",
2524
+ props: {}
2525
+ };
2526
+ return _GameStepManager.closeChoiceMenu(choice, props);
2190
2527
  }
2191
2528
  let tempLabel = getLabelById(labelId);
2192
2529
  if (!tempLabel) {
@@ -2236,8 +2573,15 @@ var _GameStepManager = class _GameStepManager {
2236
2573
  }
2237
2574
  try {
2238
2575
  if (labelId === CLOSE_LABEL_ID) {
2239
- let closeLabel = newCloseLabel(choiseMade);
2240
- return _GameStepManager.closeChoiceMenu(closeLabel, props);
2576
+ let closeCurrentLabel = newCloseLabel(choiseMade);
2577
+ let choice = {
2578
+ label: closeCurrentLabel,
2579
+ text: "",
2580
+ closeCurrentLabel: false,
2581
+ type: "close",
2582
+ props: {}
2583
+ };
2584
+ return _GameStepManager.closeChoiceMenu(choice, props);
2241
2585
  }
2242
2586
  let tempLabel = getLabelById(labelId);
2243
2587
  if (!tempLabel) {
@@ -2253,7 +2597,8 @@ var _GameStepManager = class _GameStepManager {
2253
2597
  }
2254
2598
  /**
2255
2599
  * When the player is in a choice menu, can use this function to exit to the choice menu.
2256
- * @param props The props to pass to the step.
2600
+ * @param choice
2601
+ * @param props
2257
2602
  * @returns StepLabelResultType or undefined.
2258
2603
  * @example
2259
2604
  * ```typescript
@@ -2264,12 +2609,16 @@ var _GameStepManager = class _GameStepManager {
2264
2609
  * })
2265
2610
  * ```
2266
2611
  */
2267
- static closeChoiceMenu(label, props) {
2612
+ static closeChoiceMenu(choice, props) {
2268
2613
  return __async(this, null, function* () {
2614
+ let label = choice.label;
2269
2615
  let choiseMade = void 0;
2270
2616
  if (typeof label.choiseIndex === "number") {
2271
2617
  choiseMade = label.choiseIndex;
2272
2618
  }
2619
+ if (choice.closeCurrentLabel) {
2620
+ _GameStepManager.closeCurrentLabel();
2621
+ }
2273
2622
  return _GameStepManager.runNextStep(props, choiseMade);
2274
2623
  });
2275
2624
  }
@@ -2625,6 +2974,418 @@ var DialogueBaseModel = class {
2625
2974
  }
2626
2975
  };
2627
2976
 
2977
+ // src/labels/TestConstant.ts
2978
+ var juliette = new CharacterBaseModel2("___pixivn_juliette___", {
2979
+ name: "Juliette",
2980
+ age: 25,
2981
+ icon: "https://firebasestorage.googleapis.com/v0/b/pixi-vn.appspot.com/o/public%2Fcharacters%2Fjuliette-square.webp?alt=media&token=5856ae7b-d99e-4563-86ec-cbc48cc9c6b4",
2982
+ color: "#ac0086"
2983
+ });
2984
+ saveCharacter(juliette);
2985
+ var eggHeadImage = "https://pixijs.com/assets/eggHead.png";
2986
+ var eggHeadName = `<span style="color:purple">Egg Head</span>`;
2987
+ var flowerTopImage = "https://pixijs.com/assets/flowerTop.png";
2988
+ var flowerTopName = `<span style="color:green">Flower Top</span>`;
2989
+ var helmlokImage = "https://pixijs.com/assets/helmlok.png";
2990
+ var helmlokName = `<span style="color:blue">Helmlok</span>`;
2991
+ var skullyImage = "https://pixijs.com/assets/skully.png";
2992
+ var skullyName = `<span style="color:red">Skully</span>`;
2993
+
2994
+ // src/labels/MarkdownTest.ts
2995
+ var MARKDOWN_TEST_LABEL = "___pixi_vn_markdown_test___";
2996
+ var markdownTest = newLabel(MARKDOWN_TEST_LABEL, [
2997
+ () => __async(void 0, null, function* () {
2998
+ setDialogue({
2999
+ character: juliette,
3000
+ text: `
3001
+ # Markdown Test
3002
+
3003
+ Hello, this is a test of the markdown parser. Pixi'VN does not manage markdown, but you can implement a markdown parser to display text with markdown syntax.
3004
+
3005
+ For example in React, you can use the library [react-markdown](https://www.npmjs.com/package/react-markdown).
3006
+
3007
+ ## Colored Text
3008
+
3009
+ <span style="color:blue">some *blue* text</span>.
3010
+
3011
+ <span style="color:red">some *red* text</span>.
3012
+
3013
+ <span style="color:green">some *green* text</span>.
3014
+
3015
+ ## Bold Text
3016
+
3017
+ **This is bold text.**
3018
+
3019
+ ## Italic Text
3020
+
3021
+ *This is italic text.*
3022
+
3023
+ ## Delete Text
3024
+
3025
+ ~~This is deleted text.~~
3026
+
3027
+ ## Link Test
3028
+
3029
+ [Link to Google](https://www.google.com)
3030
+
3031
+ ## H2 Test
3032
+
3033
+ ### H3 Test
3034
+
3035
+ #### H4 Test
3036
+
3037
+ ## Code Test
3038
+
3039
+ \`Hello World\`
3040
+
3041
+ \`\`\`js
3042
+ console.log("Hello World")
3043
+ \`\`\`
3044
+
3045
+ ## List Test
3046
+
3047
+ - Item 1
3048
+ * Item 2
3049
+ - [x] Item 3
3050
+
3051
+ ## Table Test
3052
+
3053
+ | Header 1 | Header 2 |
3054
+ | -------- | -------- |
3055
+ | Cell 1 | Cell 2 |
3056
+
3057
+ ## Separator Test
3058
+
3059
+ ***
3060
+ Footer
3061
+
3062
+ `
3063
+ });
3064
+ })
3065
+ ]);
3066
+
3067
+ // src/labels/ShowImageTest.ts
3068
+ var IMAGE_ANIMAIONS_TEST_LABEL = "___pixi_vn_images_animations_test___";
3069
+ var imagesAnimationsTest = newLabel(IMAGE_ANIMAIONS_TEST_LABEL, [
3070
+ () => __async(void 0, null, function* () {
3071
+ setDialogue({ character: juliette, text: `These are my 4 puppets: ${eggHeadName}, ${flowerTopName}, ${helmlokName} and ${skullyName}. They can appear, disappear and animate at my will.` });
3072
+ let eggHead = addImage("eggHead", eggHeadImage);
3073
+ yield eggHead.load();
3074
+ eggHead.x = 100;
3075
+ eggHead.y = 100;
3076
+ let flowerTop = addImage("flowerTop", flowerTopImage);
3077
+ flowerTop.x = 300;
3078
+ flowerTop.y = 100;
3079
+ flowerTop.load();
3080
+ let helmlok = addImage("helmlok", helmlokImage);
3081
+ helmlok.x = 100;
3082
+ helmlok.y = 300;
3083
+ let skully = addImage("skully", skullyImage);
3084
+ skully.x = 300;
3085
+ skully.y = 300;
3086
+ yield loadImage([helmlok, skully]);
3087
+ }),
3088
+ () => __async(void 0, null, function* () {
3089
+ setDialogue({ character: juliette, text: "Here's what they can do." });
3090
+ setChoiceMenuOptions([
3091
+ new ChoiceMenuOption("Dissolve effect", imagesDissolveTest),
3092
+ new ChoiceMenuOption("Fade effect", imagesFadeTest),
3093
+ new ChoiceMenuOption("Rotate", imagesRotateTest),
3094
+ new ChoiceMenuOption("Move", imagesMoveTest),
3095
+ new ChoiceMenuOption("Zoom", imagesZoomTest),
3096
+ new ChoiceMenuOptionClose("Cancel", true)
3097
+ ]);
3098
+ }),
3099
+ (props) => GameStepManager.jumpLabel(IMAGE_ANIMAIONS_TEST_LABEL, props)
3100
+ ]);
3101
+ var imagesDissolveTest = newLabel("___pixi_vn_images_dissolve_test___", [
3102
+ () => {
3103
+ setDialogue({
3104
+ character: juliette,
3105
+ text: `Here's what's going to happen:
3106
+ - ${eggHeadName} will disappear with a dissolve effect. If you go next, ${eggHeadName} reappears with a dissolve effect without stopping the dissolve effect
3107
+ - ${eggHeadName} will appear instead of ${flowerTopName}.
3108
+ - ${helmlokName} will disappear with a fade effect and reappear with a fade effect, and repeat.
3109
+ - ${skullyName} will disappear with a fade effect, wait for 0.5 seconds, and reappear with a fade effect.`
3110
+ });
3111
+ removeWithDissolveTransition(["eggHead"], { duration: 2 });
3112
+ let eggHead = new CanvasImage({ x: 300, y: 100 }, eggHeadImage);
3113
+ showWithDissolveTransition("flowerTop", eggHead, { duration: 1 });
3114
+ GameWindowManager.addTickersSteps(
3115
+ "helmlok",
3116
+ [
3117
+ new exports.FadeAlphaTicker({
3118
+ duration: 1,
3119
+ type: "hide"
3120
+ }, 1),
3121
+ new exports.FadeAlphaTicker({
3122
+ duration: 1,
3123
+ type: "show"
3124
+ }, 1),
3125
+ Repeat
3126
+ ]
3127
+ );
3128
+ GameWindowManager.addTickersSteps(
3129
+ "skully",
3130
+ [
3131
+ new exports.FadeAlphaTicker({
3132
+ duration: 0.5,
3133
+ type: "hide",
3134
+ limit: 0.3
3135
+ }, 1),
3136
+ Pause(0.5),
3137
+ new exports.FadeAlphaTicker({
3138
+ duration: 1,
3139
+ type: "show"
3140
+ }, 1)
3141
+ ]
3142
+ );
3143
+ },
3144
+ () => __async(void 0, null, function* () {
3145
+ showWithDissolveTransition("eggHead", eggHeadImage, { duration: 0.5 });
3146
+ })
3147
+ ]);
3148
+ var imagesFadeTest = newLabel("___pixi_vn_images_fade_test___", [
3149
+ () => {
3150
+ setDialogue({
3151
+ character: juliette,
3152
+ text: `Here's what's going to happen:
3153
+ - ${eggHeadName} will disappear with a dissolve effect. If you go next, ${eggHeadName} reappears with a dissolve effect with stopping the dissolve effect
3154
+ - ${eggHeadName} will appear instead of ${flowerTopName}.
3155
+ - ${helmlokName} will disappear with a fade effect and reappear with a fade effect, and repeat.
3156
+ - ${skullyName} will disappear with a fade effect, wait for 0.5 seconds, and reappear with a fade effect.`
3157
+ });
3158
+ removeWithFadeTransition(["eggHead"], { duration: 2 });
3159
+ let eggHead = new CanvasImage({ x: 300, y: 100 }, eggHeadImage);
3160
+ showWithFadeTransition("flowerTop", eggHead, { duration: 1 });
3161
+ GameWindowManager.addTickersSteps(
3162
+ "helmlok",
3163
+ [
3164
+ new exports.FadeAlphaTicker({
3165
+ duration: 1,
3166
+ type: "hide"
3167
+ }),
3168
+ new exports.FadeAlphaTicker({
3169
+ duration: 1,
3170
+ type: "show"
3171
+ }),
3172
+ Repeat
3173
+ ]
3174
+ );
3175
+ GameWindowManager.addTickersSteps(
3176
+ "skully",
3177
+ [
3178
+ new exports.FadeAlphaTicker({
3179
+ duration: 0.5,
3180
+ type: "hide",
3181
+ limit: 0.3
3182
+ }),
3183
+ Pause(0.5),
3184
+ new exports.FadeAlphaTicker({
3185
+ duration: 1,
3186
+ type: "show"
3187
+ })
3188
+ ]
3189
+ );
3190
+ },
3191
+ () => __async(void 0, null, function* () {
3192
+ let eggHeadOld = GameWindowManager.getCanvasElement("eggHead");
3193
+ if (eggHeadOld)
3194
+ eggHeadOld.alpha = 0;
3195
+ showWithFadeTransition("eggHead", eggHeadImage, { duration: 0.5 });
3196
+ })
3197
+ ]);
3198
+ var imagesRotateTest = newLabel("___pixi_vn_images_rotate_test___", [
3199
+ () => {
3200
+ setDialogue({
3201
+ character: juliette,
3202
+ text: `Here's what's going to happen:
3203
+ - ${eggHeadName} will rotate with a anchor set to 0.
3204
+ - ${flowerTopName} will rotate with a anchor set to 0.5 and a exponential speed progression.
3205
+ - ${helmlokName} will rotate with a anchor set to 0.5, rotate 2 times, move to the right, rotate 5 times, and repeat.
3206
+ - ${skullyName} will rotate with a anchor set to 1, rotate 3 times, wait for 0.5 seconds, rotate 7 times.`
3207
+ });
3208
+ let eggHead = GameWindowManager.getCanvasElement("eggHead");
3209
+ if (eggHead)
3210
+ eggHead.anchor.set(0);
3211
+ let flowerTop = GameWindowManager.getCanvasElement("flowerTop");
3212
+ if (flowerTop)
3213
+ flowerTop.anchor.set(0.5);
3214
+ let helmlok = GameWindowManager.getCanvasElement("helmlok");
3215
+ if (helmlok)
3216
+ helmlok.anchor.set(0.5);
3217
+ let skully = GameWindowManager.getCanvasElement("skully");
3218
+ if (skully)
3219
+ skully.anchor.set(1);
3220
+ GameWindowManager.addTicker("eggHead", new exports.RotateTicker({
3221
+ speed: 6,
3222
+ clockwise: true
3223
+ }));
3224
+ GameWindowManager.addTicker("flowerTop", new exports.RotateTicker({
3225
+ speed: 6,
3226
+ clockwise: false,
3227
+ speedProgression: { type: "exponential", percentage: 0.01, limit: 300 }
3228
+ }));
3229
+ GameWindowManager.addTickersSteps("helmlok", [
3230
+ new exports.RotateTicker({
3231
+ speed: 6,
3232
+ clockwise: true
3233
+ }, 2),
3234
+ new exports.RotateTicker({
3235
+ speed: 100,
3236
+ clockwise: false,
3237
+ speedProgression: { type: "exponential", percentage: -0.05 }
3238
+ }),
3239
+ Repeat
3240
+ ]);
3241
+ GameWindowManager.addTickersSteps("skully", [
3242
+ new exports.RotateTicker({
3243
+ speed: 6,
3244
+ clockwise: true
3245
+ }, 3),
3246
+ Pause(0.5),
3247
+ new exports.RotateTicker({
3248
+ speed: 6,
3249
+ clockwise: false
3250
+ }, 7)
3251
+ ]);
3252
+ }
3253
+ ]);
3254
+ var imagesMoveTest = newLabel("___pixi_vn_images_move_test___", [
3255
+ () => {
3256
+ setDialogue({
3257
+ character: juliette,
3258
+ text: `Here's what's going to happen:
3259
+ - ${eggHeadName} will move to { x: 500, y: 100 } with a speed of 0.4.
3260
+ - ${flowerTopName} will move to { x: 500, y: 300 } with a speed of 0.3.
3261
+ - ${helmlokName} will move to the right with a speed of 20 and a linear speed progression of -0.2, and then move to the left with a speed of 0.1 and a linear speed progression of 0.05.
3262
+ - ${skullyName} will move to { x: 500, y: 500 } with a speed of 0.5, wait for 0.5 seconds, and move to { x: 100, y: 100 } with a speed of 0.5.`
3263
+ });
3264
+ GameWindowManager.addTicker("eggHead", new exports.MoveTicker({
3265
+ destination: { x: 500, y: 100 },
3266
+ speed: 24
3267
+ }));
3268
+ GameWindowManager.addTicker("flowerTop", new exports.MoveTicker({
3269
+ destination: { x: 500, y: 300 },
3270
+ speed: 18
3271
+ }));
3272
+ GameWindowManager.addTickersSteps("helmlok", [
3273
+ new exports.MoveTicker({
3274
+ destination: { x: 100, y: 500 },
3275
+ speed: 1200,
3276
+ speedProgression: { type: "linear", amt: -12, limit: 60 }
3277
+ }),
3278
+ new exports.MoveTicker({
3279
+ destination: { x: 1700, y: 500 },
3280
+ speed: 6,
3281
+ speedProgression: { type: "linear", amt: 3 }
3282
+ }),
3283
+ Repeat
3284
+ ]);
3285
+ GameWindowManager.addTickersSteps("skully", [
3286
+ new exports.MoveTicker({
3287
+ destination: { x: 500, y: 500 },
3288
+ speed: 60
3289
+ }),
3290
+ Pause(0.5),
3291
+ new exports.MoveTicker({
3292
+ destination: { x: 100, y: 100 },
3293
+ speed: 60
3294
+ })
3295
+ ]);
3296
+ }
3297
+ ]);
3298
+ var imagesZoomTest = newLabel("___pixi_vn_images_zoom_test___", [
3299
+ () => {
3300
+ setDialogue({
3301
+ character: juliette,
3302
+ text: `Here's what's going to happen:
3303
+ - ${eggHeadName} will zoom out with a speed of 3 and a limit of -0.5.
3304
+ - ${flowerTopName} will zoom in with a speed of 3 and a limit of 2.
3305
+ - ${helmlokName} will unzoom with a speed of 3 and a limit of -1, and zoom in with a speed of 3 and a limit of 1, and repeat.
3306
+ - ${skullyName} will zoom in with a speed of 0.1 and a limit of 5, wait for 0.5 seconds, and zoom out with a speed of 3 and a limit of 1.`
3307
+ });
3308
+ let eggHead = GameWindowManager.getCanvasElement("eggHead");
3309
+ if (eggHead)
3310
+ eggHead.scale.set(2);
3311
+ let helmlok = GameWindowManager.getCanvasElement("helmlok");
3312
+ if (helmlok)
3313
+ helmlok.anchor.set(0.5);
3314
+ GameWindowManager.addTicker("eggHead", new exports.ZoomTicker({
3315
+ speed: 3,
3316
+ limit: -0.5,
3317
+ type: "unzoom"
3318
+ }));
3319
+ GameWindowManager.addTicker("flowerTop", new exports.ZoomTicker({
3320
+ speed: 3,
3321
+ limit: 2
3322
+ }));
3323
+ GameWindowManager.addTickersSteps("helmlok", [
3324
+ new exports.ZoomTicker({
3325
+ speed: 3,
3326
+ limit: -1,
3327
+ type: "unzoom"
3328
+ }),
3329
+ new exports.ZoomTicker({
3330
+ speed: 3,
3331
+ limit: 1
3332
+ }),
3333
+ Repeat
3334
+ ]);
3335
+ GameWindowManager.addTickersSteps("skully", [
3336
+ new exports.ZoomTicker({
3337
+ speed: 0.1,
3338
+ limit: 5,
3339
+ speedProgression: { type: "exponential", percentage: 0.02 }
3340
+ }),
3341
+ Pause(0.5),
3342
+ new exports.ZoomTicker({
3343
+ "type": "unzoom",
3344
+ speed: 3,
3345
+ limit: 1
3346
+ })
3347
+ ]);
3348
+ }
3349
+ ]);
3350
+
3351
+ // src/labels/StartLabel.ts
3352
+ var pixivnTestStartLabel = newLabel(
3353
+ "___pixi_vn_example_start_label___",
3354
+ [
3355
+ () => {
3356
+ let currentTimeName = "";
3357
+ const hour = (/* @__PURE__ */ new Date()).getHours();
3358
+ if (hour >= 5 && hour < 12) {
3359
+ currentTimeName = "morning";
3360
+ } else if (hour >= 12 && hour < 18) {
3361
+ currentTimeName = "afternoon";
3362
+ } else if (hour >= 18 && hour < 22) {
3363
+ currentTimeName = "evening";
3364
+ } else {
3365
+ currentTimeName = "night";
3366
+ }
3367
+ setDialogue({ character: juliette, text: `Good ${currentTimeName}! I'm ${juliette.name}, your virtual assistant. I'm here to help you with your tests.` });
3368
+ },
3369
+ () => setDialogue({ character: juliette, text: `You are running the Pixi\u2019VN test. This test will guide you through the different features of the library.` }),
3370
+ (props) => GameStepManager.jumpLabel(pixivnTestStartLabel2, props)
3371
+ ]
3372
+ );
3373
+ var RESTART_TEST_LABEL = "___pixi_vn_restart_test_label___";
3374
+ var pixivnTestStartLabel2 = newLabel(
3375
+ RESTART_TEST_LABEL,
3376
+ [
3377
+ () => {
3378
+ GameWindowManager.clear();
3379
+ setDialogue({ character: juliette, text: "Which test would you like to start with?" });
3380
+ setChoiceMenuOptions([
3381
+ new ChoiceMenuOption("Images and Animations", imagesAnimationsTest),
3382
+ new ChoiceMenuOption("Markdown Test", markdownTest)
3383
+ ]);
3384
+ },
3385
+ (props) => GameStepManager.jumpLabel(RESTART_TEST_LABEL, props)
3386
+ ]
3387
+ );
3388
+
2628
3389
  Object.defineProperty(exports, "Assets", {
2629
3390
  enumerable: true,
2630
3391
  get: function () { return pixi_js.Assets; }
@@ -2645,7 +3406,6 @@ exports.GameStorageManager = GameStorageManager;
2645
3406
  exports.GameWindowManager = GameWindowManager;
2646
3407
  exports.Label = Label;
2647
3408
  exports.Pause = Pause;
2648
- exports.PauseValueType = PauseValueType;
2649
3409
  exports.Repeat = Repeat;
2650
3410
  exports.StoredClassModel = StoredClassModel;
2651
3411
  exports.TickerBase = TickerBase;
@@ -2665,16 +3425,22 @@ exports.getLabelById = getLabelById;
2665
3425
  exports.getSaveData = getSaveData;
2666
3426
  exports.getSaveJson = getSaveJson;
2667
3427
  exports.getTexture = getTexture;
2668
- exports.loadImages = loadImages;
3428
+ exports.juliette = juliette;
3429
+ exports.loadImage = loadImage;
2669
3430
  exports.loadSaveData = loadSaveData;
2670
3431
  exports.loadSaveJson = loadSaveJson;
2671
3432
  exports.newLabel = newLabel;
3433
+ exports.pixivnTestStartLabel = pixivnTestStartLabel;
2672
3434
  exports.removeCanvasElement = removeCanvasElement;
3435
+ exports.removeWithDissolveTransition = removeWithDissolveTransition;
3436
+ exports.removeWithFadeTransition = removeWithFadeTransition;
2673
3437
  exports.saveCharacter = saveCharacter;
2674
3438
  exports.setChoiceMenuOptions = setChoiceMenuOptions;
2675
3439
  exports.setDialogue = setDialogue;
2676
3440
  exports.setFlag = setFlag;
3441
+ exports.showImage = showImage;
2677
3442
  exports.showWithDissolveTransition = showWithDissolveTransition;
3443
+ exports.showWithFadeTransition = showWithFadeTransition;
2678
3444
  exports.tickerDecorator = tickerDecorator;
2679
3445
  //# sourceMappingURL=out.js.map
2680
3446
  //# sourceMappingURL=index.js.map