@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.mjs CHANGED
@@ -28,8 +28,7 @@ var __decorateClass = (decorators, target, key, kind) => {
28
28
  for (var i = decorators.length - 1, decorator; i >= 0; i--)
29
29
  if (decorator = decorators[i])
30
30
  result = (kind ? decorator(target, key, result) : decorator(result)) || result;
31
- if (kind && result)
32
- __defProp(target, key, result);
31
+ if (kind && result) __defProp(target, key, result);
33
32
  return result;
34
33
  };
35
34
  var __async = (__this, __arguments, generator) => {
@@ -144,7 +143,7 @@ function newCloseLabel(choiseIndex) {
144
143
  var registeredLabels = {};
145
144
  function newLabel(id, steps, onStepRun) {
146
145
  if (registeredLabels[id]) {
147
- console.warn(`[Pixi'VN] Label ${id} already exists, it will be overwritten`);
146
+ console.info(`[Pixi'VN] Label ${id} already exists, it will be overwritten`);
148
147
  }
149
148
  let label = new Label(id, steps, onStepRun);
150
149
  registeredLabels[id] = label;
@@ -334,7 +333,7 @@ function eventDecorator(name) {
334
333
  name = target.name;
335
334
  }
336
335
  if (registeredEvents[name]) {
337
- console.warn(`[Pixi'VN] Event ${name} already exists, it will be overwritten`);
336
+ console.info(`[Pixi'VN] Event ${name} already exists, it will be overwritten`);
338
337
  }
339
338
  registeredEvents[name] = target;
340
339
  };
@@ -666,7 +665,7 @@ function saveCharacter(character) {
666
665
  return;
667
666
  }
668
667
  if (registeredCharacters[character.id]) {
669
- console.warn(`[Pixi'VN] Character id ${character.id} already exists, it will be overwritten`);
668
+ console.info(`[Pixi'VN] Character id ${character.id} already exists, it will be overwritten`);
670
669
  }
671
670
  registeredCharacters[character.id] = character;
672
671
  }
@@ -695,7 +694,7 @@ function tickerDecorator(name) {
695
694
  name = target.name;
696
695
  }
697
696
  if (registeredTickers[name]) {
698
- console.warn(`[Pixi'VN] Ticker ${name} already exists, it will be overwritten`);
697
+ console.info(`[Pixi'VN] Ticker ${name} already exists, it will be overwritten`);
699
698
  }
700
699
  registeredTickers[name] = target;
701
700
  };
@@ -717,18 +716,6 @@ function geTickerInstanceByClassName(tickerName, args, duration, priority) {
717
716
  // src/types/CloseType.ts
718
717
  var Close = "close";
719
718
 
720
- // src/types/PauseType.ts
721
- var PauseValueType = "pause";
722
- function Pause(duration) {
723
- return {
724
- type: PauseValueType,
725
- duration
726
- };
727
- }
728
-
729
- // src/types/RepeatType.ts
730
- var Repeat = "repeat";
731
-
732
719
  // src/classes/ChoiceMenuOption.ts
733
720
  var ChoiceMenuOption = class {
734
721
  /**
@@ -761,8 +748,9 @@ var ChoiceMenuOption = class {
761
748
  var ChoiceMenuOptionClose = class {
762
749
  /**
763
750
  * @param text Text to be displayed in the menu
751
+ * @param closeCurrentLabel If true, the current label will be closed. @default false
764
752
  */
765
- constructor(text) {
753
+ constructor(text, closeCurrentLabel = false) {
766
754
  /**
767
755
  * Label to be opened when the option is selected
768
756
  */
@@ -776,6 +764,7 @@ var ChoiceMenuOptionClose = class {
776
764
  */
777
765
  this.props = {};
778
766
  this.text = text;
767
+ this.closeCurrentLabel = closeCurrentLabel;
779
768
  }
780
769
  };
781
770
 
@@ -814,7 +803,8 @@ function setChoiceMenuOptions(options) {
814
803
  if (option instanceof ChoiceMenuOptionClose) {
815
804
  return {
816
805
  text: option.text,
817
- type: Close
806
+ type: Close,
807
+ closeCurrentLabel: option.closeCurrentLabel
818
808
  };
819
809
  }
820
810
  return __spreadProps(__spreadValues({}, option), {
@@ -835,6 +825,7 @@ function getChoiceMenuOptions() {
835
825
  text: option.text,
836
826
  label: itemLabel,
837
827
  type: Close,
828
+ closeCurrentLabel: option.closeCurrentLabel,
838
829
  props: {}
839
830
  });
840
831
  return;
@@ -921,8 +912,8 @@ function clearAllGameDatas() {
921
912
  var TickerBase = class {
922
913
  /**
923
914
  * @param args The arguments that you want to pass to the ticker.
924
- * @param duration The duration of the ticker. If is undefined, the ticker will be called every frame.
925
- * @param priority The priority of the ticker. If is undefined, the priority will be UPDATE_PRIORITY.NORMAL.
915
+ * @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
916
+ * @param priority The priority of the ticker. @default UPDATE_PRIORITY.NORMAL
926
917
  */
927
918
  constructor(args, duration, priority) {
928
919
  this.args = args;
@@ -932,28 +923,26 @@ var TickerBase = class {
932
923
  /**
933
924
  * The method that will be called every frame.
934
925
  * This method should be overridden and you can use GameWindowManager.addCanvasElement() to get the canvas element of the canvas, and edit them.
935
- * @param t The ticker that is calling this method
936
- * @param args The arguments that you passed when you added the ticker
937
- * @param tags The tags of the canvas elements that are connected to this ticker
926
+ * @param _ticker The ticker that is calling this method
927
+ * @param _args The arguments that you passed when you added the ticker
928
+ * @param _tags The tags of the canvas elements that are connected to this ticker
929
+ * @param _tickerId The id of the ticker. You can use this to get the ticker from the {@link GameWindowManager.currentTickers}
938
930
  */
939
- fn(_t, _args, _tags) {
931
+ fn(_ticker, _args, _tags, _tickerId) {
940
932
  throw new Error("[Pixi'VN] The method TickerBase.fn() must be overridden");
941
933
  }
942
934
  };
943
- var TickerFadeAlpha = class extends TickerBase {
944
- /**
945
- * The method that will be called every frame to fade the alpha of the canvas element of the canvas.
946
- * @param delta The delta time
947
- * @param args The arguments that are passed to the ticker
948
- * @param tags The tags of the canvas element that are connected to this ticker
949
- */
950
- fn(t, args, tags) {
935
+
936
+ // src/classes/ticker/FadeAlphaTicker.ts
937
+ var FadeAlphaTicker = class extends TickerBase {
938
+ fn(ticker, args, tags, tickerId) {
951
939
  let type = args.type === void 0 ? "hide" : args.type;
952
- let speed = args.speed === void 0 ? 0.1 : args.speed;
940
+ let duration = args.duration === void 0 ? 1 : args.duration;
941
+ let speed = 1 / (duration * 60);
953
942
  let limit = args.limit === void 0 ? type === "hide" ? 0 : 1 : args.limit;
954
- let removeElementAfter = args.tagToRemoveAfter || [];
955
- if (typeof removeElementAfter === "string") {
956
- removeElementAfter = [removeElementAfter];
943
+ let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
944
+ if (typeof tagToRemoveAfter2 === "string") {
945
+ tagToRemoveAfter2 = [tagToRemoveAfter2];
957
946
  }
958
947
  if (type === "hide" && limit < 0) {
959
948
  limit = 0;
@@ -974,61 +963,88 @@ var TickerFadeAlpha = class extends TickerBase {
974
963
  let element = GameWindowManager.getCanvasElement(tag);
975
964
  if (element && element instanceof Container) {
976
965
  if (type === "show" && element.alpha < limit) {
977
- element.alpha += speed * t.deltaTime;
966
+ element.alpha += speed * ticker.deltaTime;
978
967
  } else if (type === "hide" && element.alpha > limit) {
979
- element.alpha -= speed * t.deltaTime;
980
- } else {
968
+ element.alpha -= speed * ticker.deltaTime;
969
+ }
970
+ if (type === "show" && element.alpha >= limit) {
971
+ element.alpha = limit;
972
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
973
+ } else if (type === "hide" && element.alpha <= limit) {
981
974
  element.alpha = limit;
982
- GameWindowManager.removeAssociationBetweenTickerCanvasElement(tag, this);
983
- GameWindowManager.removeCanvasElement(removeElementAfter);
975
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
984
976
  }
985
977
  }
986
978
  });
987
979
  }
988
980
  };
989
- TickerFadeAlpha = __decorateClass([
981
+ FadeAlphaTicker = __decorateClass([
990
982
  tickerDecorator()
991
- ], TickerFadeAlpha);
983
+ ], FadeAlphaTicker);
992
984
 
993
985
  // src/functions/TickerUtility.ts
994
986
  function updateTickerProgression(args, propertyName, progression) {
995
- if (args.hasOwnProperty(propertyName) && typeof args[propertyName] !== "number") {
987
+ if (args[propertyName] === void 0 || !progression || args[propertyName] === progression.limit) {
996
988
  return;
997
989
  }
998
- if (args[propertyName] !== void 0 && progression && args[propertyName] !== progression.limit) {
990
+ if (typeof args[propertyName] === "number") {
999
991
  if (progression.type === "linear") {
1000
- args[propertyName] += progression.amt;
1001
- if (progression.limit !== void 0) {
1002
- if (args[propertyName] > progression.limit && progression.amt > 0) {
1003
- args[propertyName] = progression.limit;
1004
- } else if (args[propertyName] < progression.limit && progression.amt < 0) {
1005
- args[propertyName] = progression.limit;
1006
- }
1007
- }
992
+ args[propertyName] = getLinearProgression(args[propertyName], progression);
1008
993
  } else if (progression.type === "exponential") {
1009
- args[propertyName] += args[propertyName] * progression.percentage;
1010
- if (progression.limit !== void 0) {
1011
- if (args[propertyName] > progression.limit && progression.percentage > 0) {
1012
- args[propertyName] = progression.limit;
1013
- } else if (args[propertyName] < progression.limit && progression.percentage < 0) {
1014
- args[propertyName] = progression.limit;
1015
- }
1016
- }
994
+ args[propertyName] = getExponentialProgression(args[propertyName], progression);
995
+ }
996
+ } 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") {
997
+ if (progression.type === "linear") {
998
+ args[propertyName].x = getLinearProgression(args[propertyName].x, progression);
999
+ args[propertyName].y = getLinearProgression(args[propertyName].y, progression);
1000
+ } else if (progression.type === "exponential") {
1001
+ args[propertyName].x = getExponentialProgression(args[propertyName].x, progression);
1002
+ args[propertyName].y = getExponentialProgression(args[propertyName].y, progression);
1017
1003
  }
1018
1004
  }
1019
1005
  }
1006
+ function getLinearProgression(number, progression) {
1007
+ if (progression.limit !== void 0) {
1008
+ if (number > progression.limit && progression.amt > 0) {
1009
+ return progression.limit;
1010
+ } else if (number < progression.limit && progression.amt < 0) {
1011
+ return progression.limit;
1012
+ }
1013
+ }
1014
+ return number + progression.amt / 60;
1015
+ }
1016
+ function getExponentialProgression(number, progression) {
1017
+ if (progression.limit !== void 0) {
1018
+ if (number > progression.limit && progression.percentage > 0) {
1019
+ return progression.limit;
1020
+ } else if (number < progression.limit && progression.percentage < 0) {
1021
+ return progression.limit;
1022
+ }
1023
+ }
1024
+ return number + number * progression.percentage;
1025
+ }
1020
1026
 
1021
- // src/classes/ticker/TickerMove.ts
1022
- var TickerMove = class extends TickerBase {
1023
- /**
1024
- * The method that will be called every frame to move the canvas element of the canvas.
1025
- * @param t The ticker that is calling this method
1026
- * @param args The arguments that are passed to the ticker
1027
- * @param tags The tags of the canvas element that are connected to this ticker
1028
- */
1029
- fn(t, args, tags) {
1030
- let speed = args.speed === void 0 ? 0.1 : args.speed;
1027
+ // src/classes/ticker/MoveTicker.ts
1028
+ var MoveTicker = class extends TickerBase {
1029
+ fn(ticker, args, tags, tickerId) {
1030
+ let xSpeed = 1;
1031
+ let ySpeed = 1;
1032
+ if (args.speed) {
1033
+ if (typeof args.speed === "number") {
1034
+ xSpeed = args.speed;
1035
+ ySpeed = args.speed;
1036
+ } else {
1037
+ xSpeed = args.speed.x;
1038
+ ySpeed = args.speed.y;
1039
+ }
1040
+ }
1041
+ xSpeed /= 60;
1042
+ ySpeed /= 60;
1031
1043
  let destination = args.destination;
1044
+ let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
1045
+ if (typeof tagToRemoveAfter2 === "string") {
1046
+ tagToRemoveAfter2 = [tagToRemoveAfter2];
1047
+ }
1032
1048
  tags.filter((tag) => {
1033
1049
  var _a;
1034
1050
  let element = GameWindowManager.getCanvasElement(tag);
@@ -1041,41 +1057,42 @@ var TickerMove = class extends TickerBase {
1041
1057
  }).forEach((tag) => {
1042
1058
  let element = GameWindowManager.getCanvasElement(tag);
1043
1059
  if (element && element instanceof Container) {
1044
- let xDistance = destination.x - element.x;
1060
+ let xDistance = destination.x - element.x > 0 ? 1 : -1;
1045
1061
  if (xDistance != 0) {
1046
- element.x += xDistance / speed * t.deltaTime;
1062
+ element.x += xDistance * xSpeed * ticker.deltaTime;
1047
1063
  let newDistance = destination.x - element.x;
1048
1064
  if (xDistance < 0 && newDistance > 0 || xDistance > 0 && newDistance < 0) {
1049
1065
  element.x = destination.x;
1050
1066
  }
1051
1067
  }
1052
- let yDistance = destination.y - element.y;
1068
+ let yDistance = destination.y - element.y > 0 ? 1 : -1;
1053
1069
  if (yDistance != 0) {
1054
- element.y += yDistance / speed * t.deltaTime;
1070
+ element.y += yDistance * ySpeed * ticker.deltaTime;
1055
1071
  let newDistance = destination.y - element.y;
1056
1072
  if (yDistance < 0 && newDistance > 0 || yDistance > 0 && newDistance < 0) {
1057
1073
  element.y = destination.y;
1058
1074
  }
1059
1075
  }
1076
+ if (element.x == destination.x && element.y == destination.y) {
1077
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
1078
+ }
1060
1079
  }
1061
1080
  });
1062
1081
  if (args.speedProgression)
1063
1082
  updateTickerProgression(args, "speed", args.speedProgression);
1064
1083
  }
1065
1084
  };
1066
- TickerMove = __decorateClass([
1085
+ MoveTicker = __decorateClass([
1067
1086
  tickerDecorator()
1068
- ], TickerMove);
1069
- var TickerRotate = class extends TickerBase {
1070
- /**
1071
- * The method that will be called every frame to rotate the canvas element of the canvas.
1072
- * @param delta The delta time
1073
- * @param args The arguments that are passed to the ticker
1074
- * @param tags The tags of the canvas element that are connected to this ticker
1075
- */
1076
- fn(t, args, tags) {
1077
- let speed = args.speed === void 0 ? 0.1 : args.speed;
1087
+ ], MoveTicker);
1088
+ var RotateTicker = class extends TickerBase {
1089
+ fn(ticker, args, tags, tickerId) {
1090
+ let speed = (args.speed === void 0 ? 1 : args.speed) / 60;
1078
1091
  let clockwise = args.clockwise === void 0 ? true : args.clockwise;
1092
+ let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
1093
+ if (typeof tagToRemoveAfter2 === "string") {
1094
+ tagToRemoveAfter2 = [tagToRemoveAfter2];
1095
+ }
1079
1096
  tags.filter((tag) => {
1080
1097
  var _a;
1081
1098
  let element = GameWindowManager.getCanvasElement(tag);
@@ -1089,18 +1106,118 @@ var TickerRotate = class extends TickerBase {
1089
1106
  let element = GameWindowManager.getCanvasElement(tag);
1090
1107
  if (element && element instanceof Container) {
1091
1108
  if (clockwise)
1092
- element.rotation += speed * t.deltaTime;
1109
+ element.rotation += speed * ticker.deltaTime;
1093
1110
  else
1094
- element.rotation -= speed * t.deltaTime;
1111
+ element.rotation -= speed * ticker.deltaTime;
1112
+ if (speed < 1e-5 && !(args.speedProgression && args.speedProgression.type == "linear" && args.speedProgression.amt != 0)) {
1113
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
1114
+ }
1115
+ }
1116
+ });
1117
+ if (args.speedProgression)
1118
+ updateTickerProgression(args, "speed", args.speedProgression);
1119
+ }
1120
+ };
1121
+ RotateTicker = __decorateClass([
1122
+ tickerDecorator()
1123
+ ], RotateTicker);
1124
+ var ZoomTicker = class extends TickerBase {
1125
+ fn(ticker, args, tags, tickerId) {
1126
+ let xSpeed = 0.1;
1127
+ let ySpeed = 0.1;
1128
+ if (args.speed) {
1129
+ if (typeof args.speed === "number") {
1130
+ xSpeed = args.speed;
1131
+ ySpeed = args.speed;
1132
+ } else {
1133
+ xSpeed = args.speed.x;
1134
+ ySpeed = args.speed.y;
1135
+ }
1136
+ }
1137
+ xSpeed /= 60;
1138
+ ySpeed /= 60;
1139
+ let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
1140
+ if (typeof tagToRemoveAfter2 === "string") {
1141
+ tagToRemoveAfter2 = [tagToRemoveAfter2];
1142
+ }
1143
+ let type = args.type || "zoom";
1144
+ let xLimit = Infinity;
1145
+ let yLimit = Infinity;
1146
+ if (args.limit) {
1147
+ if (typeof args.limit === "number") {
1148
+ xLimit = args.limit;
1149
+ yLimit = args.limit;
1150
+ } else {
1151
+ xLimit = args.limit.x;
1152
+ yLimit = args.limit.y;
1153
+ }
1154
+ }
1155
+ tags.filter((tag) => {
1156
+ var _a;
1157
+ let element = GameWindowManager.getCanvasElement(tag);
1158
+ if (args.startOnlyIfHaveTexture) {
1159
+ if (element && element instanceof Sprite && ((_a = element.texture) == null ? void 0 : _a.label) == "EMPTY") {
1160
+ return false;
1161
+ }
1162
+ }
1163
+ return true;
1164
+ }).forEach((tag) => {
1165
+ let element = GameWindowManager.getCanvasElement(tag);
1166
+ if (element && element instanceof Container) {
1167
+ if (type === "zoom" && (element.scale.x < xLimit || element.scale.y < yLimit)) {
1168
+ element.scale.x += xSpeed * ticker.deltaTime;
1169
+ element.scale.y += ySpeed * ticker.deltaTime;
1170
+ } else if (type === "unzoom" && (element.scale.x > xLimit || element.scale.y > yLimit)) {
1171
+ element.scale.x -= xSpeed * ticker.deltaTime;
1172
+ element.scale.y -= ySpeed * ticker.deltaTime;
1173
+ }
1174
+ if (type === "zoom") {
1175
+ if (element.scale.x > xLimit) {
1176
+ element.scale.x = xLimit;
1177
+ }
1178
+ if (element.scale.y > yLimit) {
1179
+ element.scale.y = yLimit;
1180
+ }
1181
+ if (element.scale.x >= xLimit && element.scale.y >= yLimit) {
1182
+ element.scale.x = xLimit;
1183
+ element.scale.y = yLimit;
1184
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
1185
+ }
1186
+ } else if (type === "unzoom") {
1187
+ if (element.scale.x < xLimit) {
1188
+ element.scale.x = xLimit;
1189
+ }
1190
+ if (element.scale.y < yLimit) {
1191
+ element.scale.y = yLimit;
1192
+ }
1193
+ if (element.scale.x <= xLimit && element.scale.y <= yLimit) {
1194
+ element.scale.x = xLimit;
1195
+ element.scale.y = yLimit;
1196
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
1197
+ }
1198
+ }
1199
+ if (xSpeed < 1e-5 && ySpeed < 1e-5 && !(args.speedProgression && args.speedProgression.type == "linear" && args.speedProgression.amt != 0)) {
1200
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
1201
+ }
1095
1202
  }
1096
1203
  });
1097
1204
  if (args.speedProgression)
1098
1205
  updateTickerProgression(args, "speed", args.speedProgression);
1099
1206
  }
1100
1207
  };
1101
- TickerRotate = __decorateClass([
1208
+ ZoomTicker = __decorateClass([
1102
1209
  tickerDecorator()
1103
- ], TickerRotate);
1210
+ ], ZoomTicker);
1211
+
1212
+ // src/constants.ts
1213
+ var PIXIVN_VERSION = "0.6.1";
1214
+ var Repeat = "repeat";
1215
+ function Pause(duration) {
1216
+ return {
1217
+ type: "pause",
1218
+ duration
1219
+ };
1220
+ }
1104
1221
 
1105
1222
  // src/functions/ImageUtility.ts
1106
1223
  function addImage(tag, imageUrl) {
@@ -1109,7 +1226,7 @@ function addImage(tag, imageUrl) {
1109
1226
  GameWindowManager.addCanvasElement(tag, image);
1110
1227
  return image;
1111
1228
  }
1112
- function loadImages(canvasImages) {
1229
+ function loadImage(canvasImages) {
1113
1230
  return __async(this, null, function* () {
1114
1231
  if (!Array.isArray(canvasImages)) {
1115
1232
  return [canvasImages];
@@ -1130,39 +1247,92 @@ function loadImages(canvasImages) {
1130
1247
  });
1131
1248
  });
1132
1249
  }
1250
+ function showImage(tag, imageUrl) {
1251
+ return __async(this, null, function* () {
1252
+ let image = addImage(tag, imageUrl);
1253
+ yield image.load();
1254
+ return image;
1255
+ });
1256
+ }
1133
1257
  function removeCanvasElement(tag) {
1134
1258
  GameWindowManager.removeCanvasElement(tag);
1135
1259
  }
1136
- function showWithDissolveTransition(tag, image, speed, priority) {
1137
- return __async(this, null, function* () {
1138
- let specialTag = void 0;
1260
+ function showWithDissolveTransition(_0, _1) {
1261
+ return __async(this, arguments, function* (tag, image, props = {}, priority) {
1262
+ var _a;
1263
+ let oldCanvasTag = void 0;
1139
1264
  if (GameWindowManager.getCanvasElement(tag)) {
1140
- specialTag = tag + "_temp_disolve";
1141
- GameWindowManager.editTagCanvasElement(tag, specialTag);
1265
+ oldCanvasTag = tag + "_temp_disolve";
1266
+ GameWindowManager.editCanvasElementTag(tag, oldCanvasTag);
1142
1267
  }
1143
1268
  let canvasElement;
1144
1269
  if (typeof image === "string") {
1145
1270
  canvasElement = addImage(tag, image);
1146
1271
  } else {
1147
1272
  canvasElement = image;
1273
+ GameWindowManager.addCanvasElement(tag, canvasElement);
1274
+ }
1275
+ if (canvasElement instanceof CanvasImage && ((_a = canvasElement.texture) == null ? void 0 : _a.label) == "EMPTY") {
1276
+ yield canvasElement.load();
1148
1277
  }
1149
1278
  canvasElement.alpha = 0;
1150
- let effect = new TickerFadeAlpha({
1151
- speed,
1279
+ let effect = new FadeAlphaTicker(__spreadProps(__spreadValues({}, props), {
1152
1280
  type: "show",
1153
- tagToRemoveAfter: specialTag,
1281
+ tagToRemoveAfter: oldCanvasTag,
1154
1282
  startOnlyIfHaveTexture: true
1155
- }, 1e4, priority);
1283
+ }), 10, priority);
1156
1284
  GameWindowManager.addTicker(tag, effect);
1157
- if (canvasElement instanceof CanvasImage) {
1158
- return canvasElement.load();
1159
- }
1160
1285
  return;
1161
1286
  });
1162
1287
  }
1163
-
1164
- // src/constants.ts
1165
- var PIXIVN_VERSION = "0.6.0";
1288
+ function removeWithDissolveTransition(tag, props = {}, priority) {
1289
+ if (typeof tag === "string") {
1290
+ tag = [tag];
1291
+ }
1292
+ let effect = new FadeAlphaTicker(__spreadProps(__spreadValues({}, props), {
1293
+ type: "hide",
1294
+ tagToRemoveAfter: tag,
1295
+ startOnlyIfHaveTexture: true
1296
+ }), 10, priority);
1297
+ GameWindowManager.addTicker(tag, effect);
1298
+ }
1299
+ function showWithFadeTransition(_0, _1) {
1300
+ return __async(this, arguments, function* (tag, image, props = {}, priority) {
1301
+ var _a;
1302
+ if (!GameWindowManager.getCanvasElement(tag)) {
1303
+ return showWithDissolveTransition(tag, image, props, priority);
1304
+ }
1305
+ let oldCanvasTag = tag + "_temp_fade";
1306
+ GameWindowManager.editCanvasElementTag(tag, oldCanvasTag);
1307
+ let canvasElement;
1308
+ if (typeof image === "string") {
1309
+ canvasElement = addImage(tag, image);
1310
+ } else {
1311
+ canvasElement = image;
1312
+ GameWindowManager.addCanvasElement(tag, canvasElement);
1313
+ }
1314
+ if (canvasElement instanceof CanvasImage && ((_a = canvasElement.texture) == null ? void 0 : _a.label) == "EMPTY") {
1315
+ yield canvasElement.load();
1316
+ }
1317
+ canvasElement.alpha = 0;
1318
+ GameWindowManager.addTickersSteps(oldCanvasTag, [
1319
+ new FadeAlphaTicker(__spreadProps(__spreadValues({}, props), {
1320
+ type: "hide",
1321
+ startOnlyIfHaveTexture: true
1322
+ }))
1323
+ ]);
1324
+ GameWindowManager.addTickersSteps(tag, [
1325
+ Pause(props.duration || 1),
1326
+ new FadeAlphaTicker(__spreadProps(__spreadValues({}, props), {
1327
+ type: "show",
1328
+ startOnlyIfHaveTexture: true
1329
+ }))
1330
+ ]);
1331
+ });
1332
+ }
1333
+ function removeWithFadeTransition(tag, props = {}, priority) {
1334
+ return removeWithDissolveTransition(tag, props, priority);
1335
+ }
1166
1336
 
1167
1337
  // src/functions/SavesUtility.ts
1168
1338
  function getSaveData() {
@@ -1339,6 +1509,9 @@ function asciiArtLog() {
1339
1509
  `);
1340
1510
  }
1341
1511
 
1512
+ // src/types/ticker/TagToRemoveAfterType.ts
1513
+ var tagToRemoveAfter = "tagToRemoveAfter";
1514
+
1342
1515
  // src/managers/WindowManager.ts
1343
1516
  var _GameWindowManager = class _GameWindowManager {
1344
1517
  constructor() {
@@ -1521,25 +1694,25 @@ var _GameWindowManager = class _GameWindowManager {
1521
1694
  /**
1522
1695
  * Remove a canvas element from the canvas.
1523
1696
  * And remove all tickers that are not connected to any canvas element.
1524
- * @param tag The tag of the canvas element to be removed.
1697
+ * @param tags The tag of the canvas element to be removed.
1525
1698
  * @returns
1526
1699
  * @example
1527
1700
  * ```typescript
1528
1701
  * GameWindowManager.removeCanvasElement("bunny");
1529
1702
  * ```
1530
1703
  */
1531
- static removeCanvasElement(tag) {
1532
- if (typeof tag === "string") {
1533
- tag = [tag];
1704
+ static removeCanvasElement(tags) {
1705
+ if (typeof tags === "string") {
1706
+ tags = [tags];
1534
1707
  }
1535
- tag.forEach((t) => {
1536
- if (_GameWindowManager._children[t]) {
1537
- _GameWindowManager.app.stage.removeChild(_GameWindowManager._children[t]);
1538
- delete _GameWindowManager._children[t];
1708
+ tags.forEach((tag) => {
1709
+ if (_GameWindowManager._children[tag]) {
1710
+ _GameWindowManager.app.stage.removeChild(_GameWindowManager._children[tag]);
1711
+ delete _GameWindowManager._children[tag];
1712
+ _GameWindowManager.removeTickerByCanvasElement(tag);
1539
1713
  }
1540
1714
  });
1541
- _GameWindowManager.removeTickersWithoutAssociatedCanvasElement();
1542
- _GameWindowManager.childrenTagsOrder = _GameWindowManager.childrenTagsOrder.filter((t) => !tag.includes(t));
1715
+ _GameWindowManager.childrenTagsOrder = _GameWindowManager.childrenTagsOrder.filter((t) => !tags.includes(t));
1543
1716
  }
1544
1717
  /**
1545
1718
  * Get a canvas element by the tag.
@@ -1569,18 +1742,43 @@ var _GameWindowManager = class _GameWindowManager {
1569
1742
  _GameWindowManager.app.stage.removeChildren();
1570
1743
  _GameWindowManager._children = {};
1571
1744
  _GameWindowManager.childrenTagsOrder = [];
1572
- _GameWindowManager.removeTickers();
1745
+ _GameWindowManager.removeAllTickers();
1573
1746
  }
1574
1747
  /**
1575
1748
  * Edit the tag of a canvas element.
1576
1749
  * @param oldTag The old tag of the canvas element.
1577
1750
  * @param newTag The new tag of the canvas element.
1578
1751
  */
1579
- static editTagCanvasElement(oldTag, newTag) {
1752
+ static editCanvasElementTag(oldTag, newTag) {
1580
1753
  if (_GameWindowManager._children[oldTag]) {
1581
1754
  _GameWindowManager._children[newTag] = _GameWindowManager._children[oldTag];
1582
1755
  delete _GameWindowManager._children[oldTag];
1583
1756
  }
1757
+ if (_GameWindowManager._currentTickersSteps[oldTag]) {
1758
+ _GameWindowManager._currentTickersSteps[newTag] = _GameWindowManager._currentTickersSteps[oldTag];
1759
+ delete _GameWindowManager._currentTickersSteps[oldTag];
1760
+ }
1761
+ for (let id in _GameWindowManager._currentTickers) {
1762
+ let ticker = _GameWindowManager._currentTickers[id];
1763
+ if (ticker.canvasElementTags.includes(oldTag)) {
1764
+ ticker.canvasElementTags = ticker.canvasElementTags.map((t) => t === oldTag ? newTag : t);
1765
+ if (ticker.args.hasOwnProperty(tagToRemoveAfter)) {
1766
+ let tagToRemoveAfter2 = ticker.args.tagToRemoveAfter;
1767
+ if (typeof tagToRemoveAfter2 === "string") {
1768
+ tagToRemoveAfter2 = [tagToRemoveAfter2];
1769
+ }
1770
+ if (Array.isArray(tagToRemoveAfter2)) {
1771
+ ticker.args.tagToRemoveAfter = tagToRemoveAfter2.map((t) => t === oldTag ? newTag : t);
1772
+ }
1773
+ }
1774
+ }
1775
+ }
1776
+ for (let timeout in _GameWindowManager._currentTickersTimeouts) {
1777
+ let TickerTimeout = _GameWindowManager._currentTickersTimeouts[timeout];
1778
+ if (TickerTimeout.tags.includes(oldTag)) {
1779
+ TickerTimeout.tags = TickerTimeout.tags.map((t) => t === oldTag ? newTag : t);
1780
+ }
1781
+ }
1584
1782
  }
1585
1783
  /** Edit Tickers Methods */
1586
1784
  /**
@@ -1589,23 +1787,38 @@ var _GameWindowManager = class _GameWindowManager {
1589
1787
  static get currentTickers() {
1590
1788
  return _GameWindowManager._currentTickers;
1591
1789
  }
1790
+ static get currentTickersList() {
1791
+ return Object.values(_GameWindowManager._currentTickers);
1792
+ }
1793
+ static get currentTickersWithoutCreatedBySteps() {
1794
+ return Object.fromEntries(Object.entries(_GameWindowManager._currentTickers).filter(([_, ticker]) => !ticker.createdByTicketStepsId));
1795
+ }
1592
1796
  /**
1593
1797
  * The steps of the tickers
1594
1798
  */
1595
1799
  static get currentTickersSteps() {
1596
1800
  return _GameWindowManager._currentTickersSteps;
1597
1801
  }
1802
+ static generateTickerId(tickerData) {
1803
+ try {
1804
+ return sha1(JSON.stringify(tickerData)).toString() + "_" + Math.random().toString(36).substring(7);
1805
+ } catch (e) {
1806
+ throw new Error(`[Pixi'VN] Error to generate ticker id: ${e}`);
1807
+ }
1808
+ }
1598
1809
  /**
1599
- * Run a ticker.
1810
+ * Run a ticker. You can run multiple addTicker with the same tag and different tickerClasses.
1811
+ * If you run a ticker with the same tag and tickerClass, the old ticker will be removed.
1812
+ * If already exists a sequence of tickers with the same tag, it will be removed.
1600
1813
  * @param canvasEslementTag The tag of the canvas element that will use the ticker.
1601
1814
  * @param ticker The ticker class to be run.
1602
1815
  * @param args The arguments to be used in the ticker.
1603
- * @param duration The time to be used in the ticker. This number is in milliseconds. If it is undefined, the ticker will run forever.
1816
+ * @param duration The time to be used in the ticker. This number is in seconds. If it is undefined, the ticker will run forever.
1604
1817
  * @param priority The priority to be used in the ticker.
1605
1818
  * @returns
1606
1819
  * @example
1607
1820
  * ```typescript
1608
- * GameWindowManager.addTicker("alien", new TickerRotate({ speed: 0.2 }))
1821
+ * GameWindowManager.addTicker("alien", new RotateTicker({ speed: 0.2 }))
1609
1822
  * ```
1610
1823
  */
1611
1824
  static addTicker(canvasElementTag, ticker) {
@@ -1613,82 +1826,88 @@ var _GameWindowManager = class _GameWindowManager {
1613
1826
  if (typeof canvasElementTag === "string") {
1614
1827
  canvasElementTag = [canvasElementTag];
1615
1828
  }
1616
- let t = geTickerInstanceByClassName(tickerName, ticker.args, ticker.duration, ticker.priority);
1617
- if (!t) {
1829
+ if (!geTickerInstanceByClassName(tickerName, ticker.args, ticker.duration, ticker.priority)) {
1618
1830
  console.error(`[Pixi'VN] Ticker ${tickerName} not found`);
1619
1831
  return;
1620
1832
  }
1621
- _GameWindowManager.removeAssociationBetweenTickerCanvasElement(canvasElementTag, ticker);
1622
1833
  let tickerHistory = {
1623
1834
  fn: () => {
1624
1835
  },
1625
1836
  className: tickerName,
1626
- args: ticker.args,
1837
+ args: createExportableElement(ticker.args),
1627
1838
  canvasElementTags: canvasElementTag,
1628
1839
  priority: ticker.priority,
1629
1840
  duration: ticker.duration
1630
1841
  };
1631
- _GameWindowManager.pushTicker(tickerHistory, t);
1632
- _GameWindowManager.removeTickersWithoutAssociatedCanvasElement();
1842
+ let id = _GameWindowManager.generateTickerId(tickerHistory);
1843
+ _GameWindowManager.pushTicker(id, tickerHistory, ticker);
1633
1844
  if (ticker.duration) {
1634
1845
  let timeout = setTimeout(() => {
1635
1846
  _GameWindowManager.removeTickerTimeoutInfo(timeout);
1636
- _GameWindowManager.nextTickerStep(canvasElementTag);
1637
- }, ticker.duration);
1638
- _GameWindowManager.addTickerTimeoutInfo(canvasElementTag, tickerName, timeout.toString());
1847
+ let tickerTimeoutInfo = _GameWindowManager._currentTickersTimeouts[timeout.toString()];
1848
+ if (tickerTimeoutInfo) {
1849
+ _GameWindowManager.removeTicker(id);
1850
+ }
1851
+ }, ticker.duration * 1e3);
1852
+ _GameWindowManager.addTickerTimeoutInfo(canvasElementTag, tickerName, timeout.toString(), true);
1639
1853
  }
1640
1854
  }
1641
- static pushTicker(tickerData, ticker) {
1855
+ static pushTicker(id, tickerData, ticker) {
1642
1856
  _GameWindowManager.removeAssociationBetweenTickerCanvasElement(tickerData.canvasElementTags, tickerData);
1643
- _GameWindowManager._currentTickers.push(tickerData);
1857
+ _GameWindowManager._currentTickers[id] = tickerData;
1644
1858
  tickerData.fn = (t) => {
1645
- ticker == null ? void 0 : ticker.fn(t, tickerData.args, tickerData.canvasElementTags);
1859
+ let data = _GameWindowManager._currentTickers[id];
1860
+ if (data) {
1861
+ ticker == null ? void 0 : ticker.fn(t, data.args, data.canvasElementTags, id);
1862
+ }
1646
1863
  };
1647
1864
  _GameWindowManager.app.ticker.add(tickerData.fn, void 0, tickerData.priority);
1648
1865
  }
1649
1866
  /**
1650
- * Run a sequence of tickers.
1867
+ * Run a sequence of tickers. If exists a ticker steps with the same tag, it will be removed.
1651
1868
  * @param tag The tag of canvas element that will use the tickers.
1652
1869
  * @param steps The steps of the tickers.
1870
+ * @param currentStepNumber The current step number. It is used to continue the sequence of tickers.
1653
1871
  * @returns
1654
1872
  * @example
1655
1873
  * ```typescript
1656
1874
  * GameWindowManager.addTickersSteps("alien", [
1657
- * new TickerRotate({ speed: 0.1, clockwise: true }, 2000),
1658
- * Pause(500),
1659
- * new TickerRotate({ speed: 0.2, clockwise: false }, 2000),
1875
+ * new RotateTicker({ speed: 0.1, clockwise: true }, 2), // 2 seconds
1876
+ * Pause(1), // 1 second
1877
+ * new RotateTicker({ speed: 0.2, clockwise: false }, 2),
1660
1878
  * Repeat,
1661
1879
  * ])
1662
1880
  * ```
1663
1881
  */
1664
- static addTickersSteps(tag, steps) {
1882
+ static addTickersSteps(tag, steps, currentStepNumber = 0) {
1665
1883
  if (steps.length == 0) {
1666
1884
  console.warn("[Pixi'VN] The steps of the tickers is empty");
1667
1885
  return;
1668
1886
  }
1669
- let alredyExists = _GameWindowManager._currentTickersSteps[tag] !== void 0;
1887
+ _GameWindowManager.removeTickerStepByCanvasElement(tag);
1670
1888
  _GameWindowManager._currentTickersSteps[tag] = {
1671
- currentStepNumber: 0,
1672
- steps: steps.map((s) => {
1673
- if (s === Repeat) {
1674
- return s;
1675
- }
1676
- if (!s.duration) {
1677
- console.warn("[Pixi'VN] Duration is not defined, so it will be set to 1000");
1678
- s.duration = 1e3;
1889
+ currentStepNumber,
1890
+ steps: steps.map((step) => {
1891
+ if (step === Repeat) {
1892
+ return step;
1679
1893
  }
1680
- if (s.hasOwnProperty("type") && s.type === PauseValueType) {
1681
- return s;
1894
+ if (step.hasOwnProperty("type") && step.type === "pause") {
1895
+ return step;
1682
1896
  }
1683
- let tickerName = s.constructor.name;
1897
+ let tickerName = step.constructor.name;
1684
1898
  return {
1685
1899
  ticker: tickerName,
1686
- args: s.args,
1687
- duration: s.duration
1900
+ args: createExportableElement(step.args),
1901
+ duration: step.duration
1688
1902
  };
1689
1903
  })
1690
1904
  };
1691
- if (!alredyExists) {
1905
+ _GameWindowManager.runTickersSteps(tag);
1906
+ }
1907
+ static restoneTickersSteps(data) {
1908
+ for (let tag in data) {
1909
+ let steps = data[tag];
1910
+ _GameWindowManager._currentTickersSteps[tag] = steps;
1692
1911
  _GameWindowManager.runTickersSteps(tag);
1693
1912
  }
1694
1913
  }
@@ -1702,12 +1921,17 @@ var _GameWindowManager = class _GameWindowManager {
1702
1921
  return;
1703
1922
  }
1704
1923
  }
1705
- if (step.hasOwnProperty("type") && step.type === PauseValueType) {
1924
+ if (step.hasOwnProperty("type") && step.type === "pause") {
1706
1925
  let timeout = setTimeout(() => {
1926
+ let tickerTimeoutInfo = _GameWindowManager._currentTickersTimeouts[timeout.toString()];
1927
+ if (tickerTimeoutInfo) {
1928
+ tickerTimeoutInfo.tags.forEach((tag2) => {
1929
+ _GameWindowManager.nextTickerStep(tag2);
1930
+ });
1931
+ }
1707
1932
  _GameWindowManager.removeTickerTimeoutInfo(timeout);
1708
- _GameWindowManager.nextTickerStep(tag);
1709
- }, step.duration);
1710
- _GameWindowManager.addTickerTimeoutInfo(tag, "steps", timeout.toString());
1933
+ }, step.duration * 1e3);
1934
+ _GameWindowManager.addTickerTimeoutInfo(tag, "steps", timeout.toString(), false);
1711
1935
  return;
1712
1936
  }
1713
1937
  let ticker = geTickerInstanceByClassName(step.ticker, step.args, step.duration, step.priority);
@@ -1715,57 +1939,88 @@ var _GameWindowManager = class _GameWindowManager {
1715
1939
  console.error(`[Pixi'VN] Ticker ${step.ticker} not found`);
1716
1940
  return;
1717
1941
  }
1718
- _GameWindowManager.addTicker(tag, ticker);
1942
+ let tickerName = ticker.constructor.name;
1943
+ let tickerHistory = {
1944
+ fn: () => {
1945
+ },
1946
+ className: tickerName,
1947
+ args: createExportableElement(ticker.args),
1948
+ canvasElementTags: [tag],
1949
+ priority: ticker.priority,
1950
+ duration: ticker.duration,
1951
+ createdByTicketStepsId: tag
1952
+ };
1953
+ let id = _GameWindowManager.generateTickerId(tickerHistory);
1954
+ _GameWindowManager.pushTicker(id, tickerHistory, ticker);
1955
+ if (ticker.duration) {
1956
+ let timeout = setTimeout(() => {
1957
+ let tickerTimeoutInfo = _GameWindowManager._currentTickersTimeouts[timeout.toString()];
1958
+ if (tickerTimeoutInfo) {
1959
+ _GameWindowManager.removeTicker(id);
1960
+ tickerTimeoutInfo.tags.forEach((tag2) => {
1961
+ _GameWindowManager.nextTickerStep(tag2);
1962
+ });
1963
+ }
1964
+ _GameWindowManager.removeTickerTimeoutInfo(timeout);
1965
+ }, ticker.duration * 1e3);
1966
+ _GameWindowManager.addTickerTimeoutInfo(tag, tickerName, timeout.toString(), false);
1967
+ }
1719
1968
  }
1720
1969
  static nextTickerStep(tag) {
1721
- if (typeof tag === "string") {
1722
- tag = [tag];
1970
+ if (_GameWindowManager._currentTickersSteps[tag]) {
1971
+ let steps = _GameWindowManager._currentTickersSteps[tag];
1972
+ if (steps.currentStepNumber + 1 < steps.steps.length) {
1973
+ steps.currentStepNumber++;
1974
+ _GameWindowManager._currentTickersSteps[tag] = steps;
1975
+ _GameWindowManager.runTickersSteps(tag);
1976
+ } else {
1977
+ _GameWindowManager.removeTickerStepByCanvasElement(tag);
1978
+ }
1723
1979
  }
1724
- tag.forEach((tag2) => {
1725
- if (_GameWindowManager._currentTickersSteps[tag2]) {
1726
- let steps = _GameWindowManager._currentTickersSteps[tag2];
1727
- if (steps.currentStepNumber + 1 < steps.steps.length) {
1728
- steps.currentStepNumber++;
1729
- _GameWindowManager._currentTickersSteps[tag2] = steps;
1730
- _GameWindowManager.runTickersSteps(tag2);
1731
- } else {
1732
- delete _GameWindowManager._currentTickersSteps[tag2];
1733
- }
1980
+ }
1981
+ static onEndOfTicker(canvasElementTags, ticker, canvasElementTagsToDelete, tickerId) {
1982
+ let tickerData = _GameWindowManager._currentTickers[tickerId];
1983
+ _GameWindowManager.removeAssociationBetweenTickerCanvasElement(canvasElementTags, ticker);
1984
+ _GameWindowManager.removeCanvasElement(canvasElementTagsToDelete);
1985
+ if (tickerData) {
1986
+ _GameWindowManager.removeTicker(tickerId);
1987
+ if (tickerData.duration == void 0 && tickerData.createdByTicketStepsId) {
1988
+ _GameWindowManager.nextTickerStep(tickerData.createdByTicketStepsId);
1734
1989
  }
1735
- });
1990
+ }
1736
1991
  }
1737
1992
  /**
1738
1993
  * Remove a connection between a canvas element and a ticker.
1739
1994
  * And remove the ticker if there is no canvas element connected to it.
1740
- * @param tag The tag of the canvas element that will use the ticker.
1995
+ * @param tags The tag of the canvas element that will use the ticker.
1741
1996
  * @param ticker The ticker class to be removed.
1742
1997
  * @example
1743
1998
  * ```typescript
1744
- * GameWindowManager.removeAssociationBetweenTickerCanvasElement("alien", TickerRotate)
1999
+ * GameWindowManager.removeAssociationBetweenTickerCanvasElement("alien", RotateTicker)
1745
2000
  * ```
1746
2001
  */
1747
- static removeAssociationBetweenTickerCanvasElement(tag, ticker) {
2002
+ static removeAssociationBetweenTickerCanvasElement(tags, ticker) {
1748
2003
  let tickerName;
1749
- if (ticker instanceof TickerBase) {
2004
+ if (typeof ticker === "string") {
2005
+ tickerName = ticker;
2006
+ } else if (ticker instanceof TickerBase) {
1750
2007
  tickerName = ticker.constructor.name;
1751
2008
  } else {
1752
2009
  tickerName = ticker.name;
1753
2010
  }
1754
- if (typeof tag === "string") {
1755
- tag = [tag];
2011
+ if (typeof tags === "string") {
2012
+ tags = [tags];
1756
2013
  }
1757
- _GameWindowManager._currentTickers = _GameWindowManager._currentTickers.map((t) => {
1758
- if (t.className === tickerName) {
1759
- t.canvasElementTags = t.canvasElementTags.filter((e) => !tag.includes(e));
2014
+ for (let id in _GameWindowManager._currentTickers) {
2015
+ let ticker2 = _GameWindowManager._currentTickers[id];
2016
+ if (ticker2.className === tickerName) {
2017
+ _GameWindowManager._currentTickers[id].canvasElementTags = ticker2.canvasElementTags.filter((e) => !tags.includes(e));
1760
2018
  }
1761
- return t;
1762
- });
1763
- for (let timeout in _GameWindowManager.currentTickersTimeouts) {
1764
- let t = _GameWindowManager.currentTickersTimeouts[timeout].tags.filter((e) => !tag.includes(e));
1765
- if (t.length == 0) {
1766
- _GameWindowManager.removeTickerTimeoutInfo(timeout);
1767
- } else {
1768
- _GameWindowManager.currentTickersTimeouts[timeout].tags = t;
2019
+ }
2020
+ for (let timeout in _GameWindowManager._currentTickersTimeouts) {
2021
+ let TickerTimeout = _GameWindowManager._currentTickersTimeouts[timeout];
2022
+ if (TickerTimeout.ticker === tickerName && TickerTimeout.canBeDeletedBeforeEnd) {
2023
+ _GameWindowManager._currentTickersTimeouts[timeout].tags = TickerTimeout.tags.filter((t) => !tags.includes(t));
1769
2024
  }
1770
2025
  }
1771
2026
  _GameWindowManager.removeTickersWithoutAssociatedCanvasElement();
@@ -1774,49 +2029,117 @@ var _GameWindowManager = class _GameWindowManager {
1774
2029
  * Remove all tickers that are not connected to any existing canvas element.
1775
2030
  */
1776
2031
  static removeTickersWithoutAssociatedCanvasElement() {
1777
- let currentTickers = _GameWindowManager._currentTickers.map((t) => {
1778
- t.canvasElementTags = t.canvasElementTags.filter((e) => _GameWindowManager._children[e]);
1779
- return t;
1780
- });
1781
- currentTickers.filter((t) => t.canvasElementTags.length === 0).forEach((t) => {
1782
- _GameWindowManager.app.ticker.remove(t.fn);
1783
- });
1784
- currentTickers = currentTickers.filter((t) => t.canvasElementTags.length > 0);
1785
- _GameWindowManager._currentTickers = currentTickers;
2032
+ for (let id in _GameWindowManager._currentTickers) {
2033
+ let ticker = _GameWindowManager._currentTickers[id];
2034
+ ticker.canvasElementTags = ticker.canvasElementTags.filter((e) => _GameWindowManager._children[e]);
2035
+ if (ticker.canvasElementTags.length === 0) {
2036
+ _GameWindowManager.removeTicker(id);
2037
+ }
2038
+ }
1786
2039
  for (let tag in _GameWindowManager._currentTickersSteps) {
1787
2040
  if (_GameWindowManager._children[tag] === void 0) {
1788
2041
  delete _GameWindowManager._currentTickersSteps[tag];
1789
2042
  }
1790
2043
  }
2044
+ Object.entries(_GameWindowManager._currentTickersTimeouts).forEach(([timeout, { tags }]) => {
2045
+ if (tags.length === 0) {
2046
+ _GameWindowManager.removeTickerTimeout(timeout);
2047
+ }
2048
+ });
1791
2049
  }
1792
- static addTickerTimeoutInfo(tags, ticker, timeout) {
2050
+ static addTickerTimeoutInfo(tags, ticker, timeout, canBeDeletedBeforeEnd) {
1793
2051
  if (typeof tags === "string") {
1794
2052
  tags = [tags];
1795
2053
  }
1796
- _GameWindowManager.currentTickersTimeouts[timeout] = {
2054
+ _GameWindowManager._currentTickersTimeouts[timeout] = {
1797
2055
  tags,
1798
- ticker
2056
+ ticker,
2057
+ canBeDeletedBeforeEnd
1799
2058
  };
1800
2059
  }
1801
2060
  static removeTickerTimeoutInfo(timeout) {
1802
2061
  if (typeof timeout !== "string") {
1803
2062
  timeout = timeout.toString();
1804
2063
  }
1805
- if (_GameWindowManager.currentTickersTimeouts[timeout]) {
1806
- delete _GameWindowManager.currentTickersTimeouts[timeout];
2064
+ if (_GameWindowManager._currentTickersTimeouts[timeout]) {
2065
+ delete _GameWindowManager._currentTickersTimeouts[timeout];
2066
+ }
2067
+ }
2068
+ static removeTickerTimeout(timeout) {
2069
+ if (typeof timeout !== "string") {
2070
+ timeout = timeout.toString();
2071
+ }
2072
+ clearTimeout(Number(timeout));
2073
+ _GameWindowManager.removeTickerTimeoutInfo(timeout);
2074
+ }
2075
+ static removeTickerTimeoutsByTag(tag, checkCanBeDeletedBeforeEnd) {
2076
+ for (let timeout in _GameWindowManager._currentTickersTimeouts) {
2077
+ let tagsWithoutTagToRemove = _GameWindowManager._currentTickersTimeouts[timeout].tags.filter((t) => t !== tag);
2078
+ if (tagsWithoutTagToRemove.length === 0) {
2079
+ let canBeDeletedBeforeEnd = _GameWindowManager._currentTickersTimeouts[timeout].canBeDeletedBeforeEnd;
2080
+ if (!checkCanBeDeletedBeforeEnd || canBeDeletedBeforeEnd) {
2081
+ _GameWindowManager.removeTickerTimeout(timeout);
2082
+ }
2083
+ } else {
2084
+ _GameWindowManager._currentTickersTimeouts[timeout].tags = tagsWithoutTagToRemove;
2085
+ }
1807
2086
  }
1808
2087
  }
1809
2088
  /**
1810
2089
  * Remove all tickers from the canvas.
1811
2090
  */
1812
- static removeTickers() {
2091
+ static removeAllTickers() {
1813
2092
  _GameWindowManager._currentTickersSteps = {};
1814
- _GameWindowManager._currentTickers.forEach((t) => {
1815
- _GameWindowManager.app.ticker.remove(t.fn);
2093
+ Object.keys(_GameWindowManager._currentTickers).forEach((id) => {
2094
+ _GameWindowManager.removeTicker(id);
1816
2095
  });
1817
- _GameWindowManager._currentTickers = [];
1818
- for (let timeout in _GameWindowManager.currentTickersTimeouts) {
1819
- _GameWindowManager.removeTickerTimeoutInfo(timeout);
2096
+ _GameWindowManager._currentTickers = {};
2097
+ for (let timeout in _GameWindowManager._currentTickersTimeouts) {
2098
+ _GameWindowManager.removeTickerTimeout(timeout);
2099
+ }
2100
+ }
2101
+ /**
2102
+ * Remove all tickers from a canvas element.
2103
+ * @param tag The tag of the canvas element that will use the ticker.
2104
+ */
2105
+ static removeTickerByCanvasElement(tag) {
2106
+ if (typeof tag === "string") {
2107
+ tag = [tag];
2108
+ }
2109
+ tag.forEach((tag2) => {
2110
+ for (let id in _GameWindowManager._currentTickers) {
2111
+ let ticker = _GameWindowManager._currentTickers[id];
2112
+ if (ticker.canvasElementTags.includes(tag2)) {
2113
+ _GameWindowManager.removeTicker(id);
2114
+ }
2115
+ }
2116
+ if (_GameWindowManager._currentTickersSteps[tag2]) {
2117
+ delete _GameWindowManager._currentTickersSteps[tag2];
2118
+ }
2119
+ _GameWindowManager.removeTickerTimeoutsByTag(tag2, false);
2120
+ delete _GameWindowManager._currentTickersSteps[tag2];
2121
+ });
2122
+ }
2123
+ static removeTickerStepByCanvasElement(tag) {
2124
+ if (_GameWindowManager._currentTickersSteps[tag]) {
2125
+ delete _GameWindowManager._currentTickersSteps[tag];
2126
+ }
2127
+ for (let id in _GameWindowManager._currentTickers) {
2128
+ let ticker = _GameWindowManager._currentTickers[id];
2129
+ if (ticker.createdByTicketStepsId === tag) {
2130
+ _GameWindowManager.removeTicker(id);
2131
+ }
2132
+ }
2133
+ }
2134
+ static removeTicker(tickerId) {
2135
+ let ticker = _GameWindowManager._currentTickers[tickerId];
2136
+ if (ticker) {
2137
+ if (ticker.args.hasOwnProperty(tagToRemoveAfter)) {
2138
+ let tagToRemoveAfter2 = ticker.args.tagToRemoveAfter;
2139
+ _GameWindowManager.removeCanvasElement(tagToRemoveAfter2);
2140
+ }
2141
+ _GameWindowManager.app.ticker.remove(ticker.fn);
2142
+ delete _GameWindowManager._currentTickers[tickerId];
1820
2143
  }
1821
2144
  }
1822
2145
  /**
@@ -1843,7 +2166,8 @@ var _GameWindowManager = class _GameWindowManager {
1843
2166
  currentElements[tag] = exportCanvasElement(_GameWindowManager._children[tag]);
1844
2167
  }
1845
2168
  return {
1846
- currentTickers: createExportableElement(_GameWindowManager._currentTickers),
2169
+ currentTickers: createExportableElement(_GameWindowManager.currentTickersWithoutCreatedBySteps),
2170
+ currentTickersSteps: createExportableElement(_GameWindowManager._currentTickersSteps),
1847
2171
  currentElements: createExportableElement(currentElements),
1848
2172
  childrenTagsOrder: createExportableElement(_GameWindowManager.childrenTagsOrder)
1849
2173
  };
@@ -1878,7 +2202,8 @@ var _GameWindowManager = class _GameWindowManager {
1878
2202
  }
1879
2203
  if (data.hasOwnProperty("currentTickers")) {
1880
2204
  let currentTickers = data["currentTickers"];
1881
- currentTickers.forEach((t) => {
2205
+ for (let id in currentTickers) {
2206
+ let t = currentTickers[id];
1882
2207
  let tags = t.canvasElementTags;
1883
2208
  let ticker = geTickerInstanceByClassName(t.className, t.args, t.duration, t.priority);
1884
2209
  if (ticker) {
@@ -1886,7 +2211,11 @@ var _GameWindowManager = class _GameWindowManager {
1886
2211
  } else {
1887
2212
  console.error(`[Pixi'VN] Ticker ${t.className} not found`);
1888
2213
  }
1889
- });
2214
+ }
2215
+ }
2216
+ if (data.hasOwnProperty("currentTickersSteps")) {
2217
+ let currentTickersSteps = data["currentTickersSteps"];
2218
+ _GameWindowManager.restoneTickersSteps(currentTickersSteps);
1890
2219
  }
1891
2220
  } catch (e) {
1892
2221
  console.error("[Pixi'VN] Error importing data", e);
@@ -1900,9 +2229,9 @@ _GameWindowManager._children = {};
1900
2229
  * The order of the children tags.
1901
2230
  */
1902
2231
  _GameWindowManager.childrenTagsOrder = [];
1903
- _GameWindowManager._currentTickers = [];
2232
+ _GameWindowManager._currentTickers = {};
1904
2233
  _GameWindowManager._currentTickersSteps = {};
1905
- _GameWindowManager.currentTickersTimeouts = {};
2234
+ _GameWindowManager._currentTickersTimeouts = {};
1906
2235
  var GameWindowManager = _GameWindowManager;
1907
2236
 
1908
2237
  // src/managers/StepManager.ts
@@ -1969,7 +2298,8 @@ var _GameStepManager = class _GameStepManager {
1969
2298
  canvas: {
1970
2299
  childrenTagsOrder: [],
1971
2300
  currentElements: {},
1972
- currentTickers: []
2301
+ currentTickers: {},
2302
+ currentTickersSteps: {}
1973
2303
  },
1974
2304
  labelIndex: -1,
1975
2305
  openedLabels: []
@@ -2180,8 +2510,15 @@ var _GameStepManager = class _GameStepManager {
2180
2510
  }
2181
2511
  try {
2182
2512
  if (labelId === CLOSE_LABEL_ID) {
2183
- let closeLabel = newCloseLabel(choiseMade);
2184
- return _GameStepManager.closeChoiceMenu(closeLabel, props);
2513
+ let closeCurrentLabel = newCloseLabel(choiseMade);
2514
+ let choice = {
2515
+ label: closeCurrentLabel,
2516
+ text: "",
2517
+ closeCurrentLabel: false,
2518
+ type: "close",
2519
+ props: {}
2520
+ };
2521
+ return _GameStepManager.closeChoiceMenu(choice, props);
2185
2522
  }
2186
2523
  let tempLabel = getLabelById(labelId);
2187
2524
  if (!tempLabel) {
@@ -2231,8 +2568,15 @@ var _GameStepManager = class _GameStepManager {
2231
2568
  }
2232
2569
  try {
2233
2570
  if (labelId === CLOSE_LABEL_ID) {
2234
- let closeLabel = newCloseLabel(choiseMade);
2235
- return _GameStepManager.closeChoiceMenu(closeLabel, props);
2571
+ let closeCurrentLabel = newCloseLabel(choiseMade);
2572
+ let choice = {
2573
+ label: closeCurrentLabel,
2574
+ text: "",
2575
+ closeCurrentLabel: false,
2576
+ type: "close",
2577
+ props: {}
2578
+ };
2579
+ return _GameStepManager.closeChoiceMenu(choice, props);
2236
2580
  }
2237
2581
  let tempLabel = getLabelById(labelId);
2238
2582
  if (!tempLabel) {
@@ -2248,7 +2592,8 @@ var _GameStepManager = class _GameStepManager {
2248
2592
  }
2249
2593
  /**
2250
2594
  * When the player is in a choice menu, can use this function to exit to the choice menu.
2251
- * @param props The props to pass to the step.
2595
+ * @param choice
2596
+ * @param props
2252
2597
  * @returns StepLabelResultType or undefined.
2253
2598
  * @example
2254
2599
  * ```typescript
@@ -2259,12 +2604,16 @@ var _GameStepManager = class _GameStepManager {
2259
2604
  * })
2260
2605
  * ```
2261
2606
  */
2262
- static closeChoiceMenu(label, props) {
2607
+ static closeChoiceMenu(choice, props) {
2263
2608
  return __async(this, null, function* () {
2609
+ let label = choice.label;
2264
2610
  let choiseMade = void 0;
2265
2611
  if (typeof label.choiseIndex === "number") {
2266
2612
  choiseMade = label.choiseIndex;
2267
2613
  }
2614
+ if (choice.closeCurrentLabel) {
2615
+ _GameStepManager.closeCurrentLabel();
2616
+ }
2268
2617
  return _GameStepManager.runNextStep(props, choiseMade);
2269
2618
  });
2270
2619
  }
@@ -2620,6 +2969,418 @@ var DialogueBaseModel = class {
2620
2969
  }
2621
2970
  };
2622
2971
 
2623
- export { CanvasBase, CanvasContainer, CanvasEvent, CanvasImage, CanvasSprite, CanvasText, CharacterBaseModel2 as CharacterBaseModel, ChoiceMenuOption, ChoiceMenuOptionClose, Close, DialogueBaseModel, GameStepManager, GameStorageManager, GameWindowManager, Label, Pause, PauseValueType, Repeat, StoredClassModel, TickerBase, TickerFadeAlpha, TickerMove, TickerRotate, addImage, canvasElementDecorator, clearAllGameDatas, clearChoiceMenuOptions, clearDialogue, eventDecorator, getAllCharacters, getCharacterById, getChoiceMenuOptions, getDialogue, getDialogueHistory, getFlag, getLabelById, getSaveData, getSaveJson, getTexture, loadImages, loadSaveData, loadSaveJson, newLabel, removeCanvasElement, saveCharacter, setChoiceMenuOptions, setDialogue, setFlag, showWithDissolveTransition, tickerDecorator };
2972
+ // src/labels/TestConstant.ts
2973
+ var juliette = new CharacterBaseModel2("___pixivn_juliette___", {
2974
+ name: "Juliette",
2975
+ age: 25,
2976
+ 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",
2977
+ color: "#ac0086"
2978
+ });
2979
+ saveCharacter(juliette);
2980
+ var eggHeadImage = "https://pixijs.com/assets/eggHead.png";
2981
+ var eggHeadName = `<span style="color:purple">Egg Head</span>`;
2982
+ var flowerTopImage = "https://pixijs.com/assets/flowerTop.png";
2983
+ var flowerTopName = `<span style="color:green">Flower Top</span>`;
2984
+ var helmlokImage = "https://pixijs.com/assets/helmlok.png";
2985
+ var helmlokName = `<span style="color:blue">Helmlok</span>`;
2986
+ var skullyImage = "https://pixijs.com/assets/skully.png";
2987
+ var skullyName = `<span style="color:red">Skully</span>`;
2988
+
2989
+ // src/labels/MarkdownTest.ts
2990
+ var MARKDOWN_TEST_LABEL = "___pixi_vn_markdown_test___";
2991
+ var markdownTest = newLabel(MARKDOWN_TEST_LABEL, [
2992
+ () => __async(void 0, null, function* () {
2993
+ setDialogue({
2994
+ character: juliette,
2995
+ text: `
2996
+ # Markdown Test
2997
+
2998
+ 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.
2999
+
3000
+ For example in React, you can use the library [react-markdown](https://www.npmjs.com/package/react-markdown).
3001
+
3002
+ ## Colored Text
3003
+
3004
+ <span style="color:blue">some *blue* text</span>.
3005
+
3006
+ <span style="color:red">some *red* text</span>.
3007
+
3008
+ <span style="color:green">some *green* text</span>.
3009
+
3010
+ ## Bold Text
3011
+
3012
+ **This is bold text.**
3013
+
3014
+ ## Italic Text
3015
+
3016
+ *This is italic text.*
3017
+
3018
+ ## Delete Text
3019
+
3020
+ ~~This is deleted text.~~
3021
+
3022
+ ## Link Test
3023
+
3024
+ [Link to Google](https://www.google.com)
3025
+
3026
+ ## H2 Test
3027
+
3028
+ ### H3 Test
3029
+
3030
+ #### H4 Test
3031
+
3032
+ ## Code Test
3033
+
3034
+ \`Hello World\`
3035
+
3036
+ \`\`\`js
3037
+ console.log("Hello World")
3038
+ \`\`\`
3039
+
3040
+ ## List Test
3041
+
3042
+ - Item 1
3043
+ * Item 2
3044
+ - [x] Item 3
3045
+
3046
+ ## Table Test
3047
+
3048
+ | Header 1 | Header 2 |
3049
+ | -------- | -------- |
3050
+ | Cell 1 | Cell 2 |
3051
+
3052
+ ## Separator Test
3053
+
3054
+ ***
3055
+ Footer
3056
+
3057
+ `
3058
+ });
3059
+ })
3060
+ ]);
3061
+
3062
+ // src/labels/ShowImageTest.ts
3063
+ var IMAGE_ANIMAIONS_TEST_LABEL = "___pixi_vn_images_animations_test___";
3064
+ var imagesAnimationsTest = newLabel(IMAGE_ANIMAIONS_TEST_LABEL, [
3065
+ () => __async(void 0, null, function* () {
3066
+ setDialogue({ character: juliette, text: `These are my 4 puppets: ${eggHeadName}, ${flowerTopName}, ${helmlokName} and ${skullyName}. They can appear, disappear and animate at my will.` });
3067
+ let eggHead = addImage("eggHead", eggHeadImage);
3068
+ yield eggHead.load();
3069
+ eggHead.x = 100;
3070
+ eggHead.y = 100;
3071
+ let flowerTop = addImage("flowerTop", flowerTopImage);
3072
+ flowerTop.x = 300;
3073
+ flowerTop.y = 100;
3074
+ flowerTop.load();
3075
+ let helmlok = addImage("helmlok", helmlokImage);
3076
+ helmlok.x = 100;
3077
+ helmlok.y = 300;
3078
+ let skully = addImage("skully", skullyImage);
3079
+ skully.x = 300;
3080
+ skully.y = 300;
3081
+ yield loadImage([helmlok, skully]);
3082
+ }),
3083
+ () => __async(void 0, null, function* () {
3084
+ setDialogue({ character: juliette, text: "Here's what they can do." });
3085
+ setChoiceMenuOptions([
3086
+ new ChoiceMenuOption("Dissolve effect", imagesDissolveTest),
3087
+ new ChoiceMenuOption("Fade effect", imagesFadeTest),
3088
+ new ChoiceMenuOption("Rotate", imagesRotateTest),
3089
+ new ChoiceMenuOption("Move", imagesMoveTest),
3090
+ new ChoiceMenuOption("Zoom", imagesZoomTest),
3091
+ new ChoiceMenuOptionClose("Cancel", true)
3092
+ ]);
3093
+ }),
3094
+ (props) => GameStepManager.jumpLabel(IMAGE_ANIMAIONS_TEST_LABEL, props)
3095
+ ]);
3096
+ var imagesDissolveTest = newLabel("___pixi_vn_images_dissolve_test___", [
3097
+ () => {
3098
+ setDialogue({
3099
+ character: juliette,
3100
+ text: `Here's what's going to happen:
3101
+ - ${eggHeadName} will disappear with a dissolve effect. If you go next, ${eggHeadName} reappears with a dissolve effect without stopping the dissolve effect
3102
+ - ${eggHeadName} will appear instead of ${flowerTopName}.
3103
+ - ${helmlokName} will disappear with a fade effect and reappear with a fade effect, and repeat.
3104
+ - ${skullyName} will disappear with a fade effect, wait for 0.5 seconds, and reappear with a fade effect.`
3105
+ });
3106
+ removeWithDissolveTransition(["eggHead"], { duration: 2 });
3107
+ let eggHead = new CanvasImage({ x: 300, y: 100 }, eggHeadImage);
3108
+ showWithDissolveTransition("flowerTop", eggHead, { duration: 1 });
3109
+ GameWindowManager.addTickersSteps(
3110
+ "helmlok",
3111
+ [
3112
+ new FadeAlphaTicker({
3113
+ duration: 1,
3114
+ type: "hide"
3115
+ }, 1),
3116
+ new FadeAlphaTicker({
3117
+ duration: 1,
3118
+ type: "show"
3119
+ }, 1),
3120
+ Repeat
3121
+ ]
3122
+ );
3123
+ GameWindowManager.addTickersSteps(
3124
+ "skully",
3125
+ [
3126
+ new FadeAlphaTicker({
3127
+ duration: 0.5,
3128
+ type: "hide",
3129
+ limit: 0.3
3130
+ }, 1),
3131
+ Pause(0.5),
3132
+ new FadeAlphaTicker({
3133
+ duration: 1,
3134
+ type: "show"
3135
+ }, 1)
3136
+ ]
3137
+ );
3138
+ },
3139
+ () => __async(void 0, null, function* () {
3140
+ showWithDissolveTransition("eggHead", eggHeadImage, { duration: 0.5 });
3141
+ })
3142
+ ]);
3143
+ var imagesFadeTest = newLabel("___pixi_vn_images_fade_test___", [
3144
+ () => {
3145
+ setDialogue({
3146
+ character: juliette,
3147
+ text: `Here's what's going to happen:
3148
+ - ${eggHeadName} will disappear with a dissolve effect. If you go next, ${eggHeadName} reappears with a dissolve effect with stopping the dissolve effect
3149
+ - ${eggHeadName} will appear instead of ${flowerTopName}.
3150
+ - ${helmlokName} will disappear with a fade effect and reappear with a fade effect, and repeat.
3151
+ - ${skullyName} will disappear with a fade effect, wait for 0.5 seconds, and reappear with a fade effect.`
3152
+ });
3153
+ removeWithFadeTransition(["eggHead"], { duration: 2 });
3154
+ let eggHead = new CanvasImage({ x: 300, y: 100 }, eggHeadImage);
3155
+ showWithFadeTransition("flowerTop", eggHead, { duration: 1 });
3156
+ GameWindowManager.addTickersSteps(
3157
+ "helmlok",
3158
+ [
3159
+ new FadeAlphaTicker({
3160
+ duration: 1,
3161
+ type: "hide"
3162
+ }),
3163
+ new FadeAlphaTicker({
3164
+ duration: 1,
3165
+ type: "show"
3166
+ }),
3167
+ Repeat
3168
+ ]
3169
+ );
3170
+ GameWindowManager.addTickersSteps(
3171
+ "skully",
3172
+ [
3173
+ new FadeAlphaTicker({
3174
+ duration: 0.5,
3175
+ type: "hide",
3176
+ limit: 0.3
3177
+ }),
3178
+ Pause(0.5),
3179
+ new FadeAlphaTicker({
3180
+ duration: 1,
3181
+ type: "show"
3182
+ })
3183
+ ]
3184
+ );
3185
+ },
3186
+ () => __async(void 0, null, function* () {
3187
+ let eggHeadOld = GameWindowManager.getCanvasElement("eggHead");
3188
+ if (eggHeadOld)
3189
+ eggHeadOld.alpha = 0;
3190
+ showWithFadeTransition("eggHead", eggHeadImage, { duration: 0.5 });
3191
+ })
3192
+ ]);
3193
+ var imagesRotateTest = newLabel("___pixi_vn_images_rotate_test___", [
3194
+ () => {
3195
+ setDialogue({
3196
+ character: juliette,
3197
+ text: `Here's what's going to happen:
3198
+ - ${eggHeadName} will rotate with a anchor set to 0.
3199
+ - ${flowerTopName} will rotate with a anchor set to 0.5 and a exponential speed progression.
3200
+ - ${helmlokName} will rotate with a anchor set to 0.5, rotate 2 times, move to the right, rotate 5 times, and repeat.
3201
+ - ${skullyName} will rotate with a anchor set to 1, rotate 3 times, wait for 0.5 seconds, rotate 7 times.`
3202
+ });
3203
+ let eggHead = GameWindowManager.getCanvasElement("eggHead");
3204
+ if (eggHead)
3205
+ eggHead.anchor.set(0);
3206
+ let flowerTop = GameWindowManager.getCanvasElement("flowerTop");
3207
+ if (flowerTop)
3208
+ flowerTop.anchor.set(0.5);
3209
+ let helmlok = GameWindowManager.getCanvasElement("helmlok");
3210
+ if (helmlok)
3211
+ helmlok.anchor.set(0.5);
3212
+ let skully = GameWindowManager.getCanvasElement("skully");
3213
+ if (skully)
3214
+ skully.anchor.set(1);
3215
+ GameWindowManager.addTicker("eggHead", new RotateTicker({
3216
+ speed: 6,
3217
+ clockwise: true
3218
+ }));
3219
+ GameWindowManager.addTicker("flowerTop", new RotateTicker({
3220
+ speed: 6,
3221
+ clockwise: false,
3222
+ speedProgression: { type: "exponential", percentage: 0.01, limit: 300 }
3223
+ }));
3224
+ GameWindowManager.addTickersSteps("helmlok", [
3225
+ new RotateTicker({
3226
+ speed: 6,
3227
+ clockwise: true
3228
+ }, 2),
3229
+ new RotateTicker({
3230
+ speed: 100,
3231
+ clockwise: false,
3232
+ speedProgression: { type: "exponential", percentage: -0.05 }
3233
+ }),
3234
+ Repeat
3235
+ ]);
3236
+ GameWindowManager.addTickersSteps("skully", [
3237
+ new RotateTicker({
3238
+ speed: 6,
3239
+ clockwise: true
3240
+ }, 3),
3241
+ Pause(0.5),
3242
+ new RotateTicker({
3243
+ speed: 6,
3244
+ clockwise: false
3245
+ }, 7)
3246
+ ]);
3247
+ }
3248
+ ]);
3249
+ var imagesMoveTest = newLabel("___pixi_vn_images_move_test___", [
3250
+ () => {
3251
+ setDialogue({
3252
+ character: juliette,
3253
+ text: `Here's what's going to happen:
3254
+ - ${eggHeadName} will move to { x: 500, y: 100 } with a speed of 0.4.
3255
+ - ${flowerTopName} will move to { x: 500, y: 300 } with a speed of 0.3.
3256
+ - ${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.
3257
+ - ${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.`
3258
+ });
3259
+ GameWindowManager.addTicker("eggHead", new MoveTicker({
3260
+ destination: { x: 500, y: 100 },
3261
+ speed: 24
3262
+ }));
3263
+ GameWindowManager.addTicker("flowerTop", new MoveTicker({
3264
+ destination: { x: 500, y: 300 },
3265
+ speed: 18
3266
+ }));
3267
+ GameWindowManager.addTickersSteps("helmlok", [
3268
+ new MoveTicker({
3269
+ destination: { x: 100, y: 500 },
3270
+ speed: 1200,
3271
+ speedProgression: { type: "linear", amt: -12, limit: 60 }
3272
+ }),
3273
+ new MoveTicker({
3274
+ destination: { x: 1700, y: 500 },
3275
+ speed: 6,
3276
+ speedProgression: { type: "linear", amt: 3 }
3277
+ }),
3278
+ Repeat
3279
+ ]);
3280
+ GameWindowManager.addTickersSteps("skully", [
3281
+ new MoveTicker({
3282
+ destination: { x: 500, y: 500 },
3283
+ speed: 60
3284
+ }),
3285
+ Pause(0.5),
3286
+ new MoveTicker({
3287
+ destination: { x: 100, y: 100 },
3288
+ speed: 60
3289
+ })
3290
+ ]);
3291
+ }
3292
+ ]);
3293
+ var imagesZoomTest = newLabel("___pixi_vn_images_zoom_test___", [
3294
+ () => {
3295
+ setDialogue({
3296
+ character: juliette,
3297
+ text: `Here's what's going to happen:
3298
+ - ${eggHeadName} will zoom out with a speed of 3 and a limit of -0.5.
3299
+ - ${flowerTopName} will zoom in with a speed of 3 and a limit of 2.
3300
+ - ${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.
3301
+ - ${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.`
3302
+ });
3303
+ let eggHead = GameWindowManager.getCanvasElement("eggHead");
3304
+ if (eggHead)
3305
+ eggHead.scale.set(2);
3306
+ let helmlok = GameWindowManager.getCanvasElement("helmlok");
3307
+ if (helmlok)
3308
+ helmlok.anchor.set(0.5);
3309
+ GameWindowManager.addTicker("eggHead", new ZoomTicker({
3310
+ speed: 3,
3311
+ limit: -0.5,
3312
+ type: "unzoom"
3313
+ }));
3314
+ GameWindowManager.addTicker("flowerTop", new ZoomTicker({
3315
+ speed: 3,
3316
+ limit: 2
3317
+ }));
3318
+ GameWindowManager.addTickersSteps("helmlok", [
3319
+ new ZoomTicker({
3320
+ speed: 3,
3321
+ limit: -1,
3322
+ type: "unzoom"
3323
+ }),
3324
+ new ZoomTicker({
3325
+ speed: 3,
3326
+ limit: 1
3327
+ }),
3328
+ Repeat
3329
+ ]);
3330
+ GameWindowManager.addTickersSteps("skully", [
3331
+ new ZoomTicker({
3332
+ speed: 0.1,
3333
+ limit: 5,
3334
+ speedProgression: { type: "exponential", percentage: 0.02 }
3335
+ }),
3336
+ Pause(0.5),
3337
+ new ZoomTicker({
3338
+ "type": "unzoom",
3339
+ speed: 3,
3340
+ limit: 1
3341
+ })
3342
+ ]);
3343
+ }
3344
+ ]);
3345
+
3346
+ // src/labels/StartLabel.ts
3347
+ var pixivnTestStartLabel = newLabel(
3348
+ "___pixi_vn_example_start_label___",
3349
+ [
3350
+ () => {
3351
+ let currentTimeName = "";
3352
+ const hour = (/* @__PURE__ */ new Date()).getHours();
3353
+ if (hour >= 5 && hour < 12) {
3354
+ currentTimeName = "morning";
3355
+ } else if (hour >= 12 && hour < 18) {
3356
+ currentTimeName = "afternoon";
3357
+ } else if (hour >= 18 && hour < 22) {
3358
+ currentTimeName = "evening";
3359
+ } else {
3360
+ currentTimeName = "night";
3361
+ }
3362
+ setDialogue({ character: juliette, text: `Good ${currentTimeName}! I'm ${juliette.name}, your virtual assistant. I'm here to help you with your tests.` });
3363
+ },
3364
+ () => setDialogue({ character: juliette, text: `You are running the Pixi\u2019VN test. This test will guide you through the different features of the library.` }),
3365
+ (props) => GameStepManager.jumpLabel(pixivnTestStartLabel2, props)
3366
+ ]
3367
+ );
3368
+ var RESTART_TEST_LABEL = "___pixi_vn_restart_test_label___";
3369
+ var pixivnTestStartLabel2 = newLabel(
3370
+ RESTART_TEST_LABEL,
3371
+ [
3372
+ () => {
3373
+ GameWindowManager.clear();
3374
+ setDialogue({ character: juliette, text: "Which test would you like to start with?" });
3375
+ setChoiceMenuOptions([
3376
+ new ChoiceMenuOption("Images and Animations", imagesAnimationsTest),
3377
+ new ChoiceMenuOption("Markdown Test", markdownTest)
3378
+ ]);
3379
+ },
3380
+ (props) => GameStepManager.jumpLabel(RESTART_TEST_LABEL, props)
3381
+ ]
3382
+ );
3383
+
3384
+ export { CanvasBase, CanvasContainer, CanvasEvent, CanvasImage, CanvasSprite, CanvasText, CharacterBaseModel2 as CharacterBaseModel, ChoiceMenuOption, ChoiceMenuOptionClose, Close, DialogueBaseModel, FadeAlphaTicker, GameStepManager, GameStorageManager, GameWindowManager, Label, MoveTicker, Pause, Repeat, RotateTicker, StoredClassModel, TickerBase, ZoomTicker, addImage, canvasElementDecorator, clearAllGameDatas, clearChoiceMenuOptions, clearDialogue, eventDecorator, getAllCharacters, getCharacterById, getChoiceMenuOptions, getDialogue, getDialogueHistory, getFlag, getLabelById, getSaveData, getSaveJson, getTexture, juliette, loadImage, loadSaveData, loadSaveJson, newLabel, pixivnTestStartLabel, removeCanvasElement, removeWithDissolveTransition, removeWithFadeTransition, saveCharacter, setChoiceMenuOptions, setDialogue, setFlag, showImage, showWithDissolveTransition, showWithFadeTransition, tickerDecorator };
2624
3385
  //# sourceMappingURL=out.js.map
2625
3386
  //# sourceMappingURL=index.mjs.map