@drincs/pixi-vn 0.6.1 → 0.6.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (289) hide show
  1. package/dist/{TickerBase-BAUiHet_.d.ts → TickerBase-3rLpDpmb.d.ts} +9 -0
  2. package/dist/{TickerBase-BctFf13y.d.mts → TickerBase-DKYzbzro.d.mts} +9 -0
  3. package/dist/classes/CanvasEvent.d.mts +6 -0
  4. package/dist/classes/CanvasEvent.d.ts +6 -0
  5. package/dist/classes/CanvasEvent.js +7 -0
  6. package/dist/classes/CanvasEvent.js.map +1 -1
  7. package/dist/classes/CanvasEvent.mjs +7 -0
  8. package/dist/classes/CanvasEvent.mjs.map +1 -1
  9. package/dist/classes/CharacterBaseModel.js +93 -65
  10. package/dist/classes/CharacterBaseModel.js.map +1 -1
  11. package/dist/classes/CharacterBaseModel.mjs +93 -65
  12. package/dist/classes/CharacterBaseModel.mjs.map +1 -1
  13. package/dist/classes/ChoiceMenuOption.js +94 -66
  14. package/dist/classes/ChoiceMenuOption.js.map +1 -1
  15. package/dist/classes/ChoiceMenuOption.mjs +94 -66
  16. package/dist/classes/ChoiceMenuOption.mjs.map +1 -1
  17. package/dist/classes/CloseLabel.js +1 -1
  18. package/dist/classes/CloseLabel.js.map +1 -1
  19. package/dist/classes/CloseLabel.mjs +1 -1
  20. package/dist/classes/CloseLabel.mjs.map +1 -1
  21. package/dist/classes/DialogueBaseModel.d.mts +2 -2
  22. package/dist/classes/DialogueBaseModel.d.ts +2 -2
  23. package/dist/classes/DialogueBaseModel.js +5 -5
  24. package/dist/classes/DialogueBaseModel.js.map +1 -1
  25. package/dist/classes/DialogueBaseModel.mjs +5 -5
  26. package/dist/classes/DialogueBaseModel.mjs.map +1 -1
  27. package/dist/classes/Label.d.mts +1 -1
  28. package/dist/classes/Label.d.ts +1 -1
  29. package/dist/classes/Label.js +1 -1
  30. package/dist/classes/Label.js.map +1 -1
  31. package/dist/classes/Label.mjs +1 -1
  32. package/dist/classes/Label.mjs.map +1 -1
  33. package/dist/classes/StoredClassModel.js +93 -65
  34. package/dist/classes/StoredClassModel.js.map +1 -1
  35. package/dist/classes/StoredClassModel.mjs +93 -65
  36. package/dist/classes/StoredClassModel.mjs.map +1 -1
  37. package/dist/classes/canvas/CanvasBase.d.mts +5 -1
  38. package/dist/classes/canvas/CanvasBase.d.ts +5 -1
  39. package/dist/classes/canvas/CanvasBase.js +7 -0
  40. package/dist/classes/canvas/CanvasBase.js.map +1 -1
  41. package/dist/classes/canvas/CanvasBase.mjs +7 -0
  42. package/dist/classes/canvas/CanvasBase.mjs.map +1 -1
  43. package/dist/classes/canvas/CanvasContainer.d.mts +4 -1
  44. package/dist/classes/canvas/CanvasContainer.d.ts +4 -1
  45. package/dist/classes/canvas/CanvasContainer.js +57 -37
  46. package/dist/classes/canvas/CanvasContainer.js.map +1 -1
  47. package/dist/classes/canvas/CanvasContainer.mjs +57 -38
  48. package/dist/classes/canvas/CanvasContainer.mjs.map +1 -1
  49. package/dist/classes/canvas/CanvasImage.d.mts +4 -2
  50. package/dist/classes/canvas/CanvasImage.d.ts +4 -2
  51. package/dist/classes/canvas/CanvasImage.js +33 -20
  52. package/dist/classes/canvas/CanvasImage.js.map +1 -1
  53. package/dist/classes/canvas/CanvasImage.mjs +30 -20
  54. package/dist/classes/canvas/CanvasImage.mjs.map +1 -1
  55. package/dist/classes/canvas/CanvasSprite.d.mts +5 -2
  56. package/dist/classes/canvas/CanvasSprite.d.ts +5 -2
  57. package/dist/classes/canvas/CanvasSprite.js +25 -17
  58. package/dist/classes/canvas/CanvasSprite.js.map +1 -1
  59. package/dist/classes/canvas/CanvasSprite.mjs +25 -18
  60. package/dist/classes/canvas/CanvasSprite.mjs.map +1 -1
  61. package/dist/classes/canvas/CanvasText.d.mts +6 -3
  62. package/dist/classes/canvas/CanvasText.d.ts +6 -3
  63. package/dist/classes/canvas/CanvasText.js +25 -17
  64. package/dist/classes/canvas/CanvasText.js.map +1 -1
  65. package/dist/classes/canvas/CanvasText.mjs +25 -18
  66. package/dist/classes/canvas/CanvasText.mjs.map +1 -1
  67. package/dist/classes/canvas/index.js +184 -158
  68. package/dist/classes/canvas/index.js.map +1 -1
  69. package/dist/classes/canvas/index.mjs +184 -158
  70. package/dist/classes/canvas/index.mjs.map +1 -1
  71. package/dist/classes/index.d.mts +1 -0
  72. package/dist/classes/index.d.ts +1 -0
  73. package/dist/classes/index.js +106 -71
  74. package/dist/classes/index.js.map +1 -1
  75. package/dist/classes/index.mjs +106 -71
  76. package/dist/classes/index.mjs.map +1 -1
  77. package/dist/classes/ticker/FadeAlphaTicker.d.mts +2 -1
  78. package/dist/classes/ticker/FadeAlphaTicker.d.ts +2 -1
  79. package/dist/classes/ticker/FadeAlphaTicker.js +93 -65
  80. package/dist/classes/ticker/FadeAlphaTicker.js.map +1 -1
  81. package/dist/classes/ticker/FadeAlphaTicker.mjs +93 -65
  82. package/dist/classes/ticker/FadeAlphaTicker.mjs.map +1 -1
  83. package/dist/classes/ticker/MoveTicker.d.mts +2 -1
  84. package/dist/classes/ticker/MoveTicker.d.ts +2 -1
  85. package/dist/classes/ticker/MoveTicker.js +93 -65
  86. package/dist/classes/ticker/MoveTicker.js.map +1 -1
  87. package/dist/classes/ticker/MoveTicker.mjs +93 -65
  88. package/dist/classes/ticker/MoveTicker.mjs.map +1 -1
  89. package/dist/classes/ticker/RotateTicker.d.mts +2 -1
  90. package/dist/classes/ticker/RotateTicker.d.ts +2 -1
  91. package/dist/classes/ticker/RotateTicker.js +93 -65
  92. package/dist/classes/ticker/RotateTicker.js.map +1 -1
  93. package/dist/classes/ticker/RotateTicker.mjs +93 -65
  94. package/dist/classes/ticker/RotateTicker.mjs.map +1 -1
  95. package/dist/classes/ticker/TickerBase.d.mts +2 -1
  96. package/dist/classes/ticker/TickerBase.d.ts +2 -1
  97. package/dist/classes/ticker/TickerBase.js +5 -0
  98. package/dist/classes/ticker/TickerBase.js.map +1 -1
  99. package/dist/classes/ticker/TickerBase.mjs +5 -0
  100. package/dist/classes/ticker/TickerBase.mjs.map +1 -1
  101. package/dist/classes/ticker/ZoomTicker.d.mts +9 -3
  102. package/dist/classes/ticker/ZoomTicker.d.ts +9 -3
  103. package/dist/classes/ticker/ZoomTicker.js +108 -66
  104. package/dist/classes/ticker/ZoomTicker.js.map +1 -1
  105. package/dist/classes/ticker/ZoomTicker.mjs +106 -66
  106. package/dist/classes/ticker/ZoomTicker.mjs.map +1 -1
  107. package/dist/classes/ticker/index.d.mts +2 -1
  108. package/dist/classes/ticker/index.d.ts +2 -1
  109. package/dist/classes/ticker/index.js +230 -202
  110. package/dist/classes/ticker/index.js.map +1 -1
  111. package/dist/classes/ticker/index.mjs +230 -202
  112. package/dist/classes/ticker/index.mjs.map +1 -1
  113. package/dist/constants.d.mts +1 -1
  114. package/dist/constants.d.ts +1 -1
  115. package/dist/constants.js +1 -1
  116. package/dist/constants.js.map +1 -1
  117. package/dist/constants.mjs +1 -1
  118. package/dist/constants.mjs.map +1 -1
  119. package/dist/decorators/CanvasElementDecorator.d.mts +3 -3
  120. package/dist/decorators/CanvasElementDecorator.d.ts +3 -3
  121. package/dist/decorators/CanvasElementDecorator.js +63 -43
  122. package/dist/decorators/CanvasElementDecorator.js.map +1 -1
  123. package/dist/decorators/CanvasElementDecorator.mjs +62 -42
  124. package/dist/decorators/CanvasElementDecorator.mjs.map +1 -1
  125. package/dist/decorators/EventDecorator.d.mts +7 -7
  126. package/dist/decorators/EventDecorator.d.ts +7 -7
  127. package/dist/decorators/EventDecorator.js +11 -10
  128. package/dist/decorators/EventDecorator.js.map +1 -1
  129. package/dist/decorators/EventDecorator.mjs +10 -9
  130. package/dist/decorators/EventDecorator.mjs.map +1 -1
  131. package/dist/decorators/LabelDecorator.js +94 -66
  132. package/dist/decorators/LabelDecorator.js.map +1 -1
  133. package/dist/decorators/LabelDecorator.mjs +94 -66
  134. package/dist/decorators/LabelDecorator.mjs.map +1 -1
  135. package/dist/decorators/TickerDecorator.d.mts +5 -5
  136. package/dist/decorators/TickerDecorator.d.ts +5 -5
  137. package/dist/decorators/TickerDecorator.js +6 -5
  138. package/dist/decorators/TickerDecorator.js.map +1 -1
  139. package/dist/decorators/TickerDecorator.mjs +6 -5
  140. package/dist/decorators/TickerDecorator.mjs.map +1 -1
  141. package/dist/decorators/index.d.mts +1 -1
  142. package/dist/decorators/index.d.ts +1 -1
  143. package/dist/decorators/index.js +96 -66
  144. package/dist/decorators/index.js.map +1 -1
  145. package/dist/decorators/index.mjs +96 -66
  146. package/dist/decorators/index.mjs.map +1 -1
  147. package/dist/functions/CanvasUtility.js +56 -37
  148. package/dist/functions/CanvasUtility.js.map +1 -1
  149. package/dist/functions/CanvasUtility.mjs +56 -37
  150. package/dist/functions/CanvasUtility.mjs.map +1 -1
  151. package/dist/functions/DialogueUtility.d.mts +1 -1
  152. package/dist/functions/DialogueUtility.d.ts +1 -1
  153. package/dist/functions/DialogueUtility.js +240 -201
  154. package/dist/functions/DialogueUtility.js.map +1 -1
  155. package/dist/functions/DialogueUtility.mjs +240 -201
  156. package/dist/functions/DialogueUtility.mjs.map +1 -1
  157. package/dist/functions/FlagsUtility.js +93 -65
  158. package/dist/functions/FlagsUtility.js.map +1 -1
  159. package/dist/functions/FlagsUtility.mjs +93 -65
  160. package/dist/functions/FlagsUtility.mjs.map +1 -1
  161. package/dist/functions/GameUtility.js +93 -65
  162. package/dist/functions/GameUtility.js.map +1 -1
  163. package/dist/functions/GameUtility.mjs +93 -65
  164. package/dist/functions/GameUtility.mjs.map +1 -1
  165. package/dist/functions/ImageUtility.d.mts +35 -2
  166. package/dist/functions/ImageUtility.d.ts +35 -2
  167. package/dist/functions/ImageUtility.js +371 -186
  168. package/dist/functions/ImageUtility.js.map +1 -1
  169. package/dist/functions/ImageUtility.mjs +368 -187
  170. package/dist/functions/ImageUtility.mjs.map +1 -1
  171. package/dist/functions/SavesUtility.d.mts +2 -2
  172. package/dist/functions/SavesUtility.d.ts +2 -2
  173. package/dist/functions/SavesUtility.js +141 -71
  174. package/dist/functions/SavesUtility.js.map +1 -1
  175. package/dist/functions/SavesUtility.mjs +141 -71
  176. package/dist/functions/SavesUtility.mjs.map +1 -1
  177. package/dist/functions/index.d.mts +6 -3
  178. package/dist/functions/index.d.ts +6 -3
  179. package/dist/functions/index.js +277 -81
  180. package/dist/functions/index.js.map +1 -1
  181. package/dist/functions/index.mjs +275 -83
  182. package/dist/functions/index.mjs.map +1 -1
  183. package/dist/index.d.mts +4 -4
  184. package/dist/index.d.ts +4 -4
  185. package/dist/index.js +644 -153
  186. package/dist/index.js.map +1 -1
  187. package/dist/index.mjs +642 -155
  188. package/dist/index.mjs.map +1 -1
  189. package/dist/interface/IHistoryStep.d.mts +2 -2
  190. package/dist/interface/IHistoryStep.d.ts +2 -2
  191. package/dist/interface/ISaveData.d.mts +2 -2
  192. package/dist/interface/ISaveData.d.ts +2 -2
  193. package/dist/interface/ITicker.d.mts +2 -1
  194. package/dist/interface/ITicker.d.ts +2 -1
  195. package/dist/interface/ITickersSteps.d.mts +12 -3
  196. package/dist/interface/ITickersSteps.d.ts +12 -3
  197. package/dist/interface/TickerHistory.d.mts +3 -3
  198. package/dist/interface/TickerHistory.d.ts +3 -3
  199. package/dist/interface/canvas/ICanvasBaseMemory.d.mts +1 -1
  200. package/dist/interface/canvas/ICanvasBaseMemory.d.ts +1 -1
  201. package/dist/interface/canvas/ICanvasImageMemory.d.mts +2 -2
  202. package/dist/interface/canvas/ICanvasImageMemory.d.ts +2 -2
  203. package/dist/interface/canvas/ICanvasSpriteMemory.d.mts +1 -2
  204. package/dist/interface/canvas/ICanvasSpriteMemory.d.ts +1 -2
  205. package/dist/interface/canvas/ICanvasTextTextMemory.d.mts +1 -2
  206. package/dist/interface/canvas/ICanvasTextTextMemory.d.ts +1 -2
  207. package/dist/interface/export/ExportedCanvas.d.mts +2 -2
  208. package/dist/interface/export/ExportedCanvas.d.ts +2 -2
  209. package/dist/interface/export/ExportedStep.d.mts +2 -2
  210. package/dist/interface/export/ExportedStep.d.ts +2 -2
  211. package/dist/interface/export/index.d.mts +2 -2
  212. package/dist/interface/export/index.d.ts +2 -2
  213. package/dist/interface/index.d.mts +2 -2
  214. package/dist/interface/index.d.ts +2 -2
  215. package/dist/labels/BaseCanvasElementTestLabel.js +400 -372
  216. package/dist/labels/BaseCanvasElementTestLabel.js.map +1 -1
  217. package/dist/labels/BaseCanvasElementTestLabel.mjs +401 -373
  218. package/dist/labels/BaseCanvasElementTestLabel.mjs.map +1 -1
  219. package/dist/labels/{EventsTestLabel.d.mts → CanvasEventsTestLabel.d.mts} +4 -7
  220. package/dist/labels/{EventsTestLabel.d.ts → CanvasEventsTestLabel.d.ts} +4 -7
  221. package/dist/labels/{EventsTestLabel.js → CanvasEventsTestLabel.js} +320 -98
  222. package/dist/labels/CanvasEventsTestLabel.js.map +1 -0
  223. package/dist/labels/{EventsTestLabel.mjs → CanvasEventsTestLabel.mjs} +320 -98
  224. package/dist/labels/CanvasEventsTestLabel.mjs.map +1 -0
  225. package/dist/labels/{TintingTestLabel.d.mts → CustomTickerCanvasElementTestLabel.d.mts} +5 -4
  226. package/dist/labels/{TintingTestLabel.d.ts → CustomTickerCanvasElementTestLabel.d.ts} +5 -4
  227. package/dist/labels/CustomTickerCanvasElementTestLabel.js +2792 -0
  228. package/dist/labels/CustomTickerCanvasElementTestLabel.js.map +1 -0
  229. package/dist/labels/CustomTickerCanvasElementTestLabel.mjs +2786 -0
  230. package/dist/labels/CustomTickerCanvasElementTestLabel.mjs.map +1 -0
  231. package/dist/labels/{ShowImageTest.js → ImagesAnimationsTestLabel.js} +373 -82
  232. package/dist/labels/ImagesAnimationsTestLabel.js.map +1 -0
  233. package/dist/labels/{ShowImageTest.mjs → ImagesAnimationsTestLabel.mjs} +373 -82
  234. package/dist/labels/ImagesAnimationsTestLabel.mjs.map +1 -0
  235. package/dist/labels/MarkdownTest.js +150 -80
  236. package/dist/labels/MarkdownTest.js.map +1 -1
  237. package/dist/labels/MarkdownTest.mjs +150 -80
  238. package/dist/labels/MarkdownTest.mjs.map +1 -1
  239. package/dist/labels/StartLabel.js +689 -152
  240. package/dist/labels/StartLabel.js.map +1 -1
  241. package/dist/labels/StartLabel.mjs +690 -153
  242. package/dist/labels/StartLabel.mjs.map +1 -1
  243. package/dist/labels/TestConstant.d.mts +3 -1
  244. package/dist/labels/TestConstant.d.ts +3 -1
  245. package/dist/labels/TestConstant.js +97 -65
  246. package/dist/labels/TestConstant.js.map +1 -1
  247. package/dist/labels/TestConstant.mjs +96 -66
  248. package/dist/labels/TestConstant.mjs.map +1 -1
  249. package/dist/labels/TickerTestLabel.js +472 -402
  250. package/dist/labels/TickerTestLabel.js.map +1 -1
  251. package/dist/labels/TickerTestLabel.mjs +473 -403
  252. package/dist/labels/TickerTestLabel.mjs.map +1 -1
  253. package/dist/labels/index.js +689 -152
  254. package/dist/labels/index.js.map +1 -1
  255. package/dist/labels/index.mjs +690 -153
  256. package/dist/labels/index.mjs.map +1 -1
  257. package/dist/managers/StepManager.d.mts +5 -4
  258. package/dist/managers/StepManager.d.ts +5 -4
  259. package/dist/managers/StepManager.js +140 -70
  260. package/dist/managers/StepManager.js.map +1 -1
  261. package/dist/managers/StepManager.mjs +140 -70
  262. package/dist/managers/StepManager.mjs.map +1 -1
  263. package/dist/managers/WindowManager.d.mts +1 -1
  264. package/dist/managers/WindowManager.d.ts +1 -1
  265. package/dist/managers/WindowManager.js +84 -60
  266. package/dist/managers/WindowManager.js.map +1 -1
  267. package/dist/managers/WindowManager.mjs +84 -60
  268. package/dist/managers/WindowManager.mjs.map +1 -1
  269. package/dist/managers/index.d.mts +2 -2
  270. package/dist/managers/index.d.ts +2 -2
  271. package/dist/managers/index.js +140 -70
  272. package/dist/managers/index.js.map +1 -1
  273. package/dist/managers/index.mjs +140 -70
  274. package/dist/managers/index.mjs.map +1 -1
  275. package/dist/types/ticker/MoveTickerProps.d.mts +1 -1
  276. package/dist/types/ticker/MoveTickerProps.d.ts +1 -1
  277. package/dist/types/ticker/RotateTickerProps.d.mts +1 -1
  278. package/dist/types/ticker/RotateTickerProps.d.ts +1 -1
  279. package/package.json +1 -1
  280. package/dist/labels/EventsTestLabel.js.map +0 -1
  281. package/dist/labels/EventsTestLabel.mjs.map +0 -1
  282. package/dist/labels/ShowImageTest.js.map +0 -1
  283. package/dist/labels/ShowImageTest.mjs.map +0 -1
  284. package/dist/labels/TintingTestLabel.js +0 -1786
  285. package/dist/labels/TintingTestLabel.js.map +0 -1
  286. package/dist/labels/TintingTestLabel.mjs +0 -1780
  287. package/dist/labels/TintingTestLabel.mjs.map +0 -1
  288. /package/dist/labels/{ShowImageTest.d.mts → ImagesAnimationsTestLabel.d.mts} +0 -0
  289. /package/dist/labels/{ShowImageTest.d.ts → ImagesAnimationsTestLabel.d.ts} +0 -0
@@ -1,4 +1,4 @@
1
- import { Sprite, Container, Assets, FillGradient, Color, TextStyle, Text, Application, Texture } from 'pixi.js';
1
+ import { Sprite, Container, Application, Assets, FillGradient, Color, TextStyle, Text, Texture } from 'pixi.js';
2
2
  import 'deep-diff';
3
3
  import sha1 from 'crypto-js/sha1';
4
4
 
@@ -50,138 +50,6 @@ var __async = (__this, __arguments, generator) => {
50
50
  step((generator = generator.apply(__this, __arguments)).next());
51
51
  });
52
52
  };
53
-
54
- // src/decorators/CanvasElementDecorator.ts
55
- var registeredCanvasElement = {};
56
- function getCanvasElementInstanceByClassName(canvasName) {
57
- try {
58
- let eventType = registeredCanvasElement[canvasName];
59
- if (!eventType) {
60
- if (canvasName === "CanvasContainer") {
61
- eventType = CanvasContainer;
62
- } else if (canvasName === "CanvasImage") {
63
- eventType = CanvasImage;
64
- } else if (canvasName === "CanvasSprite") {
65
- eventType = CanvasSprite;
66
- } else if (canvasName === "CanvasText") {
67
- eventType = CanvasText;
68
- }
69
- }
70
- if (!eventType) {
71
- console.error(`[Pixi'VN] CanvasElement ${canvasName} not found`);
72
- return;
73
- }
74
- let canvasElement = new eventType();
75
- return canvasElement;
76
- } catch (e) {
77
- console.error(`[Pixi'VN] Error while getting CanvasElement ${canvasName}`, e);
78
- return;
79
- }
80
- }
81
-
82
- // src/functions/CanvasUtility.ts
83
- function getTextureMemory(texture) {
84
- let sourceTexture = texture.source;
85
- let textureMemory = {
86
- image: sourceTexture.label
87
- };
88
- return textureMemory;
89
- }
90
- function exportCanvasElement(element) {
91
- return element.memory;
92
- }
93
- function importCanvasElement(memory) {
94
- let element = getCanvasElementInstanceByClassName(memory.className);
95
- if (element) {
96
- element.memory = memory;
97
- } else {
98
- throw new Error("[Pixi'VN] The element " + memory.className + " could not be created");
99
- }
100
- return element;
101
- }
102
-
103
- // src/classes/canvas/CanvasContainer.ts
104
- var CanvasContainer = class extends Container {
105
- get memory() {
106
- let memory = getMemoryContainer(this);
107
- this.children.forEach((child) => {
108
- memory.elements.push(exportCanvasElement(child));
109
- });
110
- return memory;
111
- }
112
- set memory(value) {
113
- setMemoryContainer(this, value);
114
- value.elements.forEach((child) => {
115
- this.addChild(importCanvasElement(child));
116
- });
117
- }
118
- };
119
- function getMemoryContainer(element) {
120
- return {
121
- className: "CanvasContainer",
122
- elements: [],
123
- width: element.width,
124
- height: element.height,
125
- isRenderGroup: element.isRenderGroup,
126
- blendMode: element.blendMode,
127
- tint: element.tint,
128
- alpha: element.alpha,
129
- angle: element.angle,
130
- renderable: element.renderable,
131
- rotation: element.rotation,
132
- scale: { x: element.scale.x, y: element.scale.y },
133
- pivot: { x: element.pivot.x, y: element.pivot.y },
134
- position: { x: element.position.x, y: element.position.y },
135
- skew: { x: element.skew.x, y: element.skew.y },
136
- visible: element.visible,
137
- culled: element.culled,
138
- x: element.x,
139
- y: element.y,
140
- boundsArea: element.boundsArea,
141
- cursor: element.cursor,
142
- eventMode: element.eventMode,
143
- interactive: element.interactive,
144
- interactiveChildren: element.interactiveChildren,
145
- hitArea: element.hitArea
146
- };
147
- }
148
- function setMemoryContainer(element, memory) {
149
- memory.width && (element.width = memory.width);
150
- memory.height && (element.height = memory.height);
151
- memory.isRenderGroup && (element.isRenderGroup = memory.isRenderGroup);
152
- memory.blendMode && (element.blendMode = memory.blendMode);
153
- memory.tint && (element.tint = memory.tint);
154
- memory.alpha && (element.alpha = memory.alpha);
155
- memory.angle && (element.angle = memory.angle);
156
- memory.renderable && (element.renderable = memory.renderable);
157
- memory.rotation && (element.rotation = memory.rotation);
158
- if (memory.scale) {
159
- if (typeof memory.scale === "number") {
160
- element.scale.set(memory.scale, memory.scale);
161
- } else {
162
- element.scale.set(memory.scale.x, memory.scale.y);
163
- }
164
- }
165
- if (memory.pivot) {
166
- if (typeof memory.pivot === "number") {
167
- element.pivot.set(memory.pivot, memory.pivot);
168
- } else {
169
- element.pivot.set(memory.pivot.x, memory.pivot.y);
170
- }
171
- }
172
- memory.position && element.position.set(memory.position.x, memory.position.y);
173
- memory.skew && element.skew.set(memory.skew.x, memory.skew.y);
174
- memory.visible && (element.visible = memory.visible);
175
- memory.culled && (element.culled = memory.culled);
176
- memory.x && (element.x = memory.x);
177
- memory.y && (element.y = memory.y);
178
- memory.boundsArea && (element.boundsArea = memory.boundsArea);
179
- memory.cursor && (element.cursor = memory.cursor);
180
- memory.eventMode && (element.eventMode = memory.eventMode);
181
- memory.interactive && (element.interactive = memory.interactive);
182
- memory.interactiveChildren && (element.interactiveChildren = memory.interactiveChildren);
183
- memory.hitArea && (element.hitArea = memory.hitArea);
184
- }
185
53
  function getTexture(imageUrl) {
186
54
  return __async(this, null, function* () {
187
55
  if (Assets.cache.has(imageUrl)) {
@@ -234,40 +102,43 @@ function getTextStyle(style) {
234
102
 
235
103
  // src/decorators/EventDecorator.ts
236
104
  var registeredEvents = {};
237
- function getEventTypeByClassName(eventName) {
105
+ function getEventTypeById(eventId) {
238
106
  try {
239
- let eventType = registeredEvents[eventName];
107
+ let eventType = registeredEvents[eventId];
240
108
  if (!eventType) {
241
- console.error(`[Pixi'VN] Event ${eventName} not found`);
109
+ console.error(`[Pixi'VN] Event ${eventId} not found`);
242
110
  return;
243
111
  }
244
112
  new eventType();
245
113
  return eventType;
246
114
  } catch (e) {
247
- console.error(`[Pixi'VN] Error while getting Event ${eventName}`, e);
115
+ console.error(`[Pixi'VN] Error while getting Event ${eventId}`, e);
248
116
  return;
249
117
  }
250
118
  }
251
- function getEventInstanceByClassName(eventName) {
119
+ function getEventInstanceById(eventId) {
252
120
  try {
253
- let eventType = registeredEvents[eventName];
121
+ let eventType = registeredEvents[eventId];
254
122
  if (!eventType) {
255
- console.error(`[Pixi'VN] Event ${eventName} not found`);
123
+ console.error(`[Pixi'VN] Event ${eventId} not found`);
256
124
  return;
257
125
  }
258
126
  let event = new eventType();
259
127
  return event;
260
128
  } catch (e) {
261
- console.error(`[Pixi'VN] Error while getting Event ${eventName}`, e);
129
+ console.error(`[Pixi'VN] Error while getting Event ${eventId}`, e);
262
130
  return;
263
131
  }
264
132
  }
265
133
 
266
134
  // src/classes/canvas/CanvasSprite.ts
135
+ var CANVAS_SPRITE_ID = "CanvasSprite";
267
136
  var CanvasSprite = class _CanvasSprite extends Sprite {
268
- constructor() {
269
- super(...arguments);
137
+ constructor(options) {
138
+ super(options);
139
+ this.pixivnId = CANVAS_SPRITE_ID;
270
140
  this._onEvents = {};
141
+ this.pixivnId = this.constructor.prototype.pixivnId;
271
142
  }
272
143
  get memory() {
273
144
  return getMemorySprite(this);
@@ -308,9 +179,9 @@ var CanvasSprite = class _CanvasSprite extends Sprite {
308
179
  * ```
309
180
  */
310
181
  onEvent(event, eventClass) {
311
- let className = eventClass.name;
312
- let instance = getEventInstanceByClassName(className);
313
- this._onEvents[event] = className;
182
+ let id = eventClass.prototype.id;
183
+ let instance = getEventInstanceById(id);
184
+ this._onEvents[event] = id;
314
185
  if (instance) {
315
186
  super.on(event, () => {
316
187
  instance.fn(event, this);
@@ -339,7 +210,7 @@ var CanvasSprite = class _CanvasSprite extends Sprite {
339
210
  function getMemorySprite(element) {
340
211
  let temp = getMemoryContainer(element);
341
212
  return __spreadProps(__spreadValues({}, temp), {
342
- className: "CanvasSprite",
213
+ pixivnId: element.pixivnId,
343
214
  textureImage: getTextureMemory(element.texture),
344
215
  anchor: { x: element.anchor.x, y: element.anchor.y },
345
216
  roundPixels: element.roundPixels,
@@ -362,8 +233,8 @@ function setMemorySprite(element, memory) {
362
233
  }
363
234
  memory.roundPixels && (element.roundPixels = memory.roundPixels);
364
235
  for (let event in memory.onEvents) {
365
- let className = memory.onEvents[event];
366
- let instance = getEventTypeByClassName(className);
236
+ let id = memory.onEvents[event];
237
+ let instance = getEventTypeById(id);
367
238
  if (instance) {
368
239
  element.onEvent(event, instance);
369
240
  }
@@ -371,9 +242,11 @@ function setMemorySprite(element, memory) {
371
242
  }
372
243
 
373
244
  // src/classes/canvas/CanvasImage.ts
245
+ var CANVAS_IMAGE_ID = "CanvasImage";
374
246
  var CanvasImage = class _CanvasImage extends CanvasSprite {
375
247
  constructor(options, imageLink) {
376
248
  super(options);
249
+ this.pixivnId = CANVAS_IMAGE_ID;
377
250
  this.imageLink = "";
378
251
  if (imageLink) {
379
252
  this.imageLink = imageLink;
@@ -381,12 +254,13 @@ var CanvasImage = class _CanvasImage extends CanvasSprite {
381
254
  }
382
255
  get memory() {
383
256
  return __spreadProps(__spreadValues({}, getMemorySprite(this)), {
384
- className: "CanvasImage",
385
- textureImage: { image: this.imageLink }
257
+ pixivnId: this.pixivnId,
258
+ imageLink: this.imageLink
386
259
  });
387
260
  }
388
261
  set memory(memory) {
389
262
  setMemorySprite(this, memory);
263
+ this.imageLink = memory.imageLink;
390
264
  }
391
265
  static from(source, skipCache) {
392
266
  let sprite = Sprite.from(source, skipCache);
@@ -414,10 +288,13 @@ var CanvasImage = class _CanvasImage extends CanvasSprite {
414
288
  });
415
289
  }
416
290
  };
291
+ var CANVAS_TEXT_ID = "CanvasText";
417
292
  var CanvasText = class extends Text {
418
- constructor() {
419
- super(...arguments);
293
+ constructor(options) {
294
+ super(options);
295
+ this.pixivnId = CANVAS_TEXT_ID;
420
296
  this._onEvents = {};
297
+ this.pixivnId = this.constructor.prototype.pixivnId;
421
298
  }
422
299
  get memory() {
423
300
  return getMemoryText(this);
@@ -458,9 +335,9 @@ var CanvasText = class extends Text {
458
335
  * ```
459
336
  */
460
337
  onEvent(event, eventClass) {
461
- let className = eventClass.name;
462
- let instance = getEventInstanceByClassName(className);
463
- this._onEvents[event] = className;
338
+ let id = eventClass.prototype.id;
339
+ let instance = getEventInstanceById(id);
340
+ this._onEvents[event] = id;
464
341
  if (instance) {
465
342
  super.on(event, () => {
466
343
  instance.fn(event, this);
@@ -483,7 +360,7 @@ var CanvasText = class extends Text {
483
360
  function getMemoryText(element) {
484
361
  let temp = getMemoryContainer(element);
485
362
  return __spreadProps(__spreadValues({}, temp), {
486
- className: "CanvasText",
363
+ pixivnId: element.pixivnId,
487
364
  anchor: { x: element.anchor.x, y: element.anchor.y },
488
365
  text: element.text,
489
366
  resolution: element.resolution,
@@ -506,13 +383,155 @@ function setMemoryText(element, memory) {
506
383
  memory.style && (element.style = memory.style);
507
384
  memory.roundPixels && (element.roundPixels = memory.roundPixels);
508
385
  for (let event in memory.onEvents) {
509
- let className = memory.onEvents[event];
510
- let instance = getEventTypeByClassName(className);
386
+ let id = memory.onEvents[event];
387
+ let instance = getEventTypeById(id);
511
388
  if (instance) {
512
389
  element.onEvent(event, instance);
513
390
  }
514
391
  }
515
392
  }
393
+
394
+ // src/decorators/CanvasElementDecorator.ts
395
+ var registeredCanvasElement = {};
396
+ function getCanvasElementInstanceById(canvasId) {
397
+ try {
398
+ let eventType = registeredCanvasElement[canvasId];
399
+ if (!eventType) {
400
+ if (canvasId === CANVAS_CONTAINER_ID) {
401
+ eventType = CanvasContainer;
402
+ } else if (canvasId === CANVAS_IMAGE_ID) {
403
+ eventType = CanvasImage;
404
+ } else if (canvasId === CANVAS_SPRITE_ID) {
405
+ eventType = CanvasSprite;
406
+ } else if (canvasId === CANVAS_TEXT_ID) {
407
+ eventType = CanvasText;
408
+ }
409
+ }
410
+ if (!eventType) {
411
+ console.error(`[Pixi'VN] CanvasElement ${canvasId} not found`);
412
+ return;
413
+ }
414
+ let canvasElement = new eventType();
415
+ return canvasElement;
416
+ } catch (e) {
417
+ console.error(`[Pixi'VN] Error while getting CanvasElement ${canvasId}`, e);
418
+ return;
419
+ }
420
+ }
421
+
422
+ // src/functions/CanvasUtility.ts
423
+ function getTextureMemory(texture) {
424
+ let sourceTexture = texture.source;
425
+ let textureMemory = {
426
+ image: sourceTexture.label
427
+ };
428
+ return textureMemory;
429
+ }
430
+ function exportCanvasElement(element) {
431
+ return element.memory;
432
+ }
433
+ function importCanvasElement(memory) {
434
+ let element = getCanvasElementInstanceById(memory.pixivnId);
435
+ if (element) {
436
+ element.memory = memory;
437
+ } else {
438
+ throw new Error("[Pixi'VN] The element " + memory.pixivnId + " could not be created");
439
+ }
440
+ return element;
441
+ }
442
+
443
+ // src/classes/canvas/CanvasContainer.ts
444
+ var CANVAS_CONTAINER_ID = "CanvasContainer";
445
+ var CanvasContainer = class extends Container {
446
+ constructor(options) {
447
+ super(options);
448
+ this.pixivnId = CANVAS_CONTAINER_ID;
449
+ this.pixivnId = this.constructor.prototype.pixivnId;
450
+ }
451
+ get memory() {
452
+ let memory = getMemoryContainer(this);
453
+ this.children.forEach((child) => {
454
+ memory.elements.push(exportCanvasElement(child));
455
+ });
456
+ return memory;
457
+ }
458
+ set memory(value) {
459
+ setMemoryContainer(this, value);
460
+ value.elements.forEach((child) => {
461
+ this.addChild(importCanvasElement(child));
462
+ });
463
+ }
464
+ };
465
+ function getMemoryContainer(element) {
466
+ let className = "CanvasContainer";
467
+ if (element.hasOwnProperty("pixivnId")) {
468
+ className = element.pixivnId;
469
+ }
470
+ return {
471
+ pixivnId: className,
472
+ elements: [],
473
+ width: element.width,
474
+ height: element.height,
475
+ isRenderGroup: element.isRenderGroup,
476
+ blendMode: element.blendMode,
477
+ tint: element.tint,
478
+ alpha: element.alpha,
479
+ angle: element.angle,
480
+ renderable: element.renderable,
481
+ rotation: element.rotation,
482
+ scale: { x: element.scale.x, y: element.scale.y },
483
+ pivot: { x: element.pivot.x, y: element.pivot.y },
484
+ position: { x: element.position.x, y: element.position.y },
485
+ skew: { x: element.skew.x, y: element.skew.y },
486
+ visible: element.visible,
487
+ culled: element.culled,
488
+ x: element.x,
489
+ y: element.y,
490
+ boundsArea: element.boundsArea,
491
+ cursor: element.cursor,
492
+ eventMode: element.eventMode,
493
+ interactive: element.interactive,
494
+ interactiveChildren: element.interactiveChildren,
495
+ hitArea: element.hitArea
496
+ };
497
+ }
498
+ function setMemoryContainer(element, memory) {
499
+ memory.width && (element.width = memory.width);
500
+ memory.height && (element.height = memory.height);
501
+ memory.isRenderGroup && (element.isRenderGroup = memory.isRenderGroup);
502
+ memory.blendMode && (element.blendMode = memory.blendMode);
503
+ memory.tint && (element.tint = memory.tint);
504
+ memory.alpha && (element.alpha = memory.alpha);
505
+ memory.angle && (element.angle = memory.angle);
506
+ memory.renderable && (element.renderable = memory.renderable);
507
+ memory.rotation && (element.rotation = memory.rotation);
508
+ if (memory.scale) {
509
+ if (typeof memory.scale === "number") {
510
+ element.scale.set(memory.scale, memory.scale);
511
+ } else {
512
+ element.scale.set(memory.scale.x, memory.scale.y);
513
+ }
514
+ }
515
+ if (memory.pivot) {
516
+ if (typeof memory.pivot === "number") {
517
+ element.pivot.set(memory.pivot, memory.pivot);
518
+ } else {
519
+ element.pivot.set(memory.pivot.x, memory.pivot.y);
520
+ }
521
+ }
522
+ memory.position && element.position.set(memory.position.x, memory.position.y);
523
+ memory.skew && element.skew.set(memory.skew.x, memory.skew.y);
524
+ memory.visible && (element.visible = memory.visible);
525
+ memory.culled && (element.culled = memory.culled);
526
+ memory.x && (element.x = memory.x);
527
+ memory.y && (element.y = memory.y);
528
+ memory.boundsArea && (element.boundsArea = memory.boundsArea);
529
+ memory.cursor && (element.cursor = memory.cursor);
530
+ memory.eventMode && (element.eventMode = memory.eventMode);
531
+ memory.interactive && (element.interactive = memory.interactive);
532
+ memory.interactiveChildren && (element.interactiveChildren = memory.interactiveChildren);
533
+ memory.hitArea && (element.hitArea = memory.hitArea);
534
+ }
516
535
  function checkIfStepsIsEqual(step1, step2) {
517
536
  return step1 === step2;
518
537
  }
@@ -532,7 +551,7 @@ var Label = class {
532
551
  this._choiseIndex = choiseIndex;
533
552
  }
534
553
  /**
535
- * Get the id of the label
554
+ * Get the id of the label. This variable is used in the system to get the label by id, {@link getLabelById}
536
555
  */
537
556
  get id() {
538
557
  return this._id;
@@ -546,46 +565,210 @@ var Label = class {
546
565
  if (typeof this._steps === "function") {
547
566
  return this._steps();
548
567
  }
549
- return this._steps;
550
- }
551
- /**
552
- * Get the corresponding steps number
553
- * @param externalSteps
554
- * @returns Numer of corresponding steps, for example, if externalSteps is [ABC, DEF, GHI] and the steps of the label is [ABC, GHT], the result will be 1
555
- */
556
- getCorrespondingStepsNumber(externalSteps) {
557
- if (externalSteps.length === 0) {
558
- return 0;
568
+ return this._steps;
569
+ }
570
+ /**
571
+ * Get the corresponding steps number
572
+ * @param externalSteps
573
+ * @returns Numer of corresponding steps, for example, if externalSteps is [ABC, DEF, GHI] and the steps of the label is [ABC, GHT], the result will be 1
574
+ */
575
+ getCorrespondingStepsNumber(externalSteps) {
576
+ if (externalSteps.length === 0) {
577
+ return 0;
578
+ }
579
+ let res = 0;
580
+ externalSteps.forEach((step, index) => {
581
+ if (checkIfStepsIsEqual(step, this.steps[index])) {
582
+ res = index;
583
+ }
584
+ });
585
+ return res;
586
+ }
587
+ /**
588
+ * Get the function that will be executed before any step is executed, is useful for example to make sure all images used have been cached
589
+ * @returns Promise<void> or void
590
+ * @example
591
+ * ```typescript
592
+ * newLabel("id", [], () => {
593
+ * Assets.load('path/to/image1.png')
594
+ * Assets.load('path/to/image2.png')
595
+ * })
596
+ * ```
597
+ */
598
+ get onStepRun() {
599
+ return this._onStepRun;
600
+ }
601
+ get choiseIndex() {
602
+ return this._choiseIndex;
603
+ }
604
+ };
605
+ function clearDialogue() {
606
+ GameStorageManager.setVariable(GameStorageManager.keysSystem.CURRENT_DIALOGUE_MEMORY_KEY, void 0);
607
+ }
608
+
609
+ // src/functions/TickerUtility.ts
610
+ function updateTickerProgression(args, propertyName, progression) {
611
+ if (args[propertyName] === void 0 || !progression || args[propertyName] === progression.limit) {
612
+ return;
613
+ }
614
+ if (typeof args[propertyName] === "number") {
615
+ if (progression.type === "linear") {
616
+ args[propertyName] = getLinearProgression(args[propertyName], progression);
617
+ } else if (progression.type === "exponential") {
618
+ args[propertyName] = getExponentialProgression(args[propertyName], progression);
619
+ }
620
+ } 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") {
621
+ if (progression.type === "linear") {
622
+ args[propertyName].x = getLinearProgression(args[propertyName].x, progression);
623
+ args[propertyName].y = getLinearProgression(args[propertyName].y, progression);
624
+ } else if (progression.type === "exponential") {
625
+ args[propertyName].x = getExponentialProgression(args[propertyName].x, progression);
626
+ args[propertyName].y = getExponentialProgression(args[propertyName].y, progression);
627
+ }
628
+ }
629
+ }
630
+ function getLinearProgression(number, progression) {
631
+ if (progression.limit !== void 0) {
632
+ if (number > progression.limit && progression.amt > 0) {
633
+ return progression.limit;
634
+ } else if (number < progression.limit && progression.amt < 0) {
635
+ return progression.limit;
636
+ }
637
+ }
638
+ return number + progression.amt / 60;
639
+ }
640
+ function getExponentialProgression(number, progression) {
641
+ if (progression.limit !== void 0) {
642
+ if (number > progression.limit && progression.percentage > 0) {
643
+ return progression.limit;
644
+ } else if (number < progression.limit && progression.percentage < 0) {
645
+ return progression.limit;
646
+ }
647
+ }
648
+ return number + number * progression.percentage;
649
+ }
650
+
651
+ // src/classes/ticker/TickerBase.ts
652
+ var TickerBase = class {
653
+ /**
654
+ * @param args The arguments that you want to pass to the ticker.
655
+ * @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
656
+ * @param priority The priority of the ticker. @default UPDATE_PRIORITY.NORMAL
657
+ */
658
+ constructor(args, duration, priority) {
659
+ /**
660
+ * Get the id of the ticker. This variable is used in the system to get the ticker by id, {@link geTickerInstanceById}
661
+ */
662
+ this.id = "ticker_id_not_set";
663
+ this.args = args;
664
+ this.duration = duration;
665
+ this.priority = priority;
666
+ this.id = this.constructor.prototype.id;
667
+ }
668
+ /**
669
+ * The method that will be called every frame.
670
+ * This method should be overridden and you can use GameWindowManager.addCanvasElement() to get the canvas element of the canvas, and edit them.
671
+ * @param _ticker The ticker that is calling this method
672
+ * @param _args The arguments that you passed when you added the ticker
673
+ * @param _tags The tags of the canvas elements that are connected to this ticker
674
+ * @param _tickerId The id of the ticker. You can use this to get the ticker from the {@link GameWindowManager.currentTickers}
675
+ */
676
+ fn(_ticker, _args, _tags, _tickerId) {
677
+ throw new Error("[Pixi'VN] The method TickerBase.fn() must be overridden");
678
+ }
679
+ };
680
+
681
+ // src/classes/ticker/ZoomTicker.ts
682
+ var ZoomTicker = class extends TickerBase {
683
+ fn(ticker, args, tags, tickerId) {
684
+ let xSpeed = 0.1;
685
+ let ySpeed = 0.1;
686
+ if (args.speed) {
687
+ if (typeof args.speed === "number") {
688
+ xSpeed = args.speed;
689
+ ySpeed = args.speed;
690
+ } else {
691
+ xSpeed = args.speed.x;
692
+ ySpeed = args.speed.y;
693
+ }
694
+ }
695
+ xSpeed /= 60;
696
+ ySpeed /= 60;
697
+ let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
698
+ if (typeof tagToRemoveAfter2 === "string") {
699
+ tagToRemoveAfter2 = [tagToRemoveAfter2];
559
700
  }
560
- let res = 0;
561
- externalSteps.forEach((step, index) => {
562
- if (checkIfStepsIsEqual(step, this.steps[index])) {
563
- res = index;
701
+ let type = args.type || "zoom";
702
+ let xLimit = type === "zoom" ? Infinity : 0;
703
+ let yLimit = type === "zoom" ? Infinity : 0;
704
+ if (args.limit) {
705
+ if (typeof args.limit === "number") {
706
+ xLimit = args.limit;
707
+ yLimit = args.limit;
708
+ } else {
709
+ xLimit = args.limit.x;
710
+ yLimit = args.limit.y;
711
+ }
712
+ }
713
+ tags.filter((tag) => {
714
+ var _a;
715
+ let element = GameWindowManager.getCanvasElement(tag);
716
+ if (args.startOnlyIfHaveTexture) {
717
+ if (element && element instanceof Sprite && ((_a = element.texture) == null ? void 0 : _a.label) == "EMPTY") {
718
+ return false;
719
+ }
720
+ }
721
+ return true;
722
+ }).forEach((tag) => {
723
+ let element = GameWindowManager.getCanvasElement(tag);
724
+ if (element && element instanceof Container) {
725
+ if (type === "zoom" && (element.scale.x < xLimit || element.scale.y < yLimit)) {
726
+ element.scale.x += xSpeed * ticker.deltaTime;
727
+ element.scale.y += ySpeed * ticker.deltaTime;
728
+ } else if (type === "unzoom" && (element.scale.x > xLimit || element.scale.y > yLimit)) {
729
+ element.scale.x -= xSpeed * ticker.deltaTime;
730
+ element.scale.y -= ySpeed * ticker.deltaTime;
731
+ }
732
+ if (type === "zoom") {
733
+ if (element.scale.x > xLimit) {
734
+ element.scale.x = xLimit;
735
+ }
736
+ if (element.scale.y > yLimit) {
737
+ element.scale.y = yLimit;
738
+ }
739
+ if (element.scale.x >= xLimit && element.scale.y >= yLimit) {
740
+ element.scale.x = xLimit;
741
+ element.scale.y = yLimit;
742
+ this.onEndOfTicker(tag, tickerId, element, tagToRemoveAfter2);
743
+ }
744
+ } else if (type === "unzoom") {
745
+ if (element.scale.x < xLimit) {
746
+ element.scale.x = xLimit;
747
+ }
748
+ if (element.scale.y < yLimit) {
749
+ element.scale.y = yLimit;
750
+ }
751
+ if (element.scale.x <= xLimit && element.scale.y <= yLimit) {
752
+ element.scale.x = xLimit;
753
+ element.scale.y = yLimit;
754
+ this.onEndOfTicker(tag, tickerId, element, tagToRemoveAfter2);
755
+ }
756
+ }
757
+ if (xSpeed < 1e-5 && ySpeed < 1e-5 && !(args.speedProgression && args.speedProgression.type == "linear" && args.speedProgression.amt != 0)) {
758
+ this.onEndOfTicker(tag, tickerId, element, tagToRemoveAfter2);
759
+ }
564
760
  }
565
761
  });
566
- return res;
567
- }
568
- /**
569
- * Get the function that will be executed before any step is executed, is useful for example to make sure all images used have been cached
570
- * @returns Promise<void> or void
571
- * @example
572
- * ```typescript
573
- * newLabel("id", [], () => {
574
- * Assets.load('path/to/image1.png')
575
- * Assets.load('path/to/image2.png')
576
- * })
577
- * ```
578
- */
579
- get onStepRun() {
580
- return this._onStepRun;
762
+ if (args.speedProgression)
763
+ updateTickerProgression(args, "speed", args.speedProgression);
581
764
  }
582
- get choiseIndex() {
583
- return this._choiseIndex;
765
+ onEndOfTicker(tag, tickerId, _element, tagToRemoveAfter2) {
766
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
584
767
  }
585
768
  };
586
- function clearDialogue() {
587
- GameStorageManager.setVariable(GameStorageManager.keysSystem.CURRENT_DIALOGUE_MEMORY_KEY, void 0);
588
- }
769
+ ZoomTicker = __decorateClass([
770
+ tickerDecorator()
771
+ ], ZoomTicker);
589
772
 
590
773
  // src/constants.ts
591
774
  var Repeat = "repeat";
@@ -691,31 +874,6 @@ var _GameStorageManager = class _GameStorageManager {
691
874
  _GameStorageManager.storage = {};
692
875
  var GameStorageManager = _GameStorageManager;
693
876
 
694
- // src/classes/ticker/TickerBase.ts
695
- var TickerBase = class {
696
- /**
697
- * @param args The arguments that you want to pass to the ticker.
698
- * @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
699
- * @param priority The priority of the ticker. @default UPDATE_PRIORITY.NORMAL
700
- */
701
- constructor(args, duration, priority) {
702
- this.args = args;
703
- this.duration = duration;
704
- this.priority = priority;
705
- }
706
- /**
707
- * The method that will be called every frame.
708
- * This method should be overridden and you can use GameWindowManager.addCanvasElement() to get the canvas element of the canvas, and edit them.
709
- * @param _ticker The ticker that is calling this method
710
- * @param _args The arguments that you passed when you added the ticker
711
- * @param _tags The tags of the canvas elements that are connected to this ticker
712
- * @param _tickerId The id of the ticker. You can use this to get the ticker from the {@link GameWindowManager.currentTickers}
713
- */
714
- fn(_ticker, _args, _tags, _tickerId) {
715
- throw new Error("[Pixi'VN] The method TickerBase.fn() must be overridden");
716
- }
717
- };
718
-
719
877
  // src/decorators/TickerDecorator.ts
720
878
  var registeredTickers = {};
721
879
  function tickerDecorator(name) {
@@ -726,19 +884,20 @@ function tickerDecorator(name) {
726
884
  if (registeredTickers[name]) {
727
885
  console.info(`[Pixi'VN] Ticker ${name} already exists, it will be overwritten`);
728
886
  }
887
+ target.prototype.id = name;
729
888
  registeredTickers[name] = target;
730
889
  };
731
890
  }
732
- function geTickerInstanceByClassName(tickerName, args, duration, priority) {
891
+ function geTickerInstanceById(tickerId, args, duration, priority) {
733
892
  try {
734
- let ticker = registeredTickers[tickerName];
893
+ let ticker = registeredTickers[tickerId];
735
894
  if (!ticker) {
736
- console.error(`[Pixi'VN] Ticker ${tickerName} not found`);
895
+ console.error(`[Pixi'VN] Ticker ${tickerId} not found`);
737
896
  return;
738
897
  }
739
898
  return new ticker(args, duration, priority);
740
899
  } catch (e) {
741
- console.error(`[Pixi'VN] Error while getting Ticker ${tickerName}`, e);
900
+ console.error(`[Pixi'VN] Error while getting Ticker ${tickerId}`, e);
742
901
  return;
743
902
  }
744
903
  }
@@ -1067,18 +1226,18 @@ var _GameWindowManager = class _GameWindowManager {
1067
1226
  * ```
1068
1227
  */
1069
1228
  static addTicker(canvasElementTag, ticker) {
1070
- let tickerName = ticker.constructor.name;
1229
+ let tickerId = ticker.id;
1071
1230
  if (typeof canvasElementTag === "string") {
1072
1231
  canvasElementTag = [canvasElementTag];
1073
1232
  }
1074
- if (!geTickerInstanceByClassName(tickerName, ticker.args, ticker.duration, ticker.priority)) {
1075
- console.error(`[Pixi'VN] Ticker ${tickerName} not found`);
1233
+ if (!geTickerInstanceById(tickerId, ticker.args, ticker.duration, ticker.priority)) {
1234
+ console.error(`[Pixi'VN] Ticker ${tickerId} not found`);
1076
1235
  return;
1077
1236
  }
1078
1237
  let tickerHistory = {
1079
1238
  fn: () => {
1080
1239
  },
1081
- className: tickerName,
1240
+ id: tickerId,
1082
1241
  args: createExportableElement(ticker.args),
1083
1242
  canvasElementTags: canvasElementTag,
1084
1243
  priority: ticker.priority,
@@ -1094,11 +1253,11 @@ var _GameWindowManager = class _GameWindowManager {
1094
1253
  _GameWindowManager.removeTicker(id);
1095
1254
  }
1096
1255
  }, ticker.duration * 1e3);
1097
- _GameWindowManager.addTickerTimeoutInfo(canvasElementTag, tickerName, timeout.toString(), true);
1256
+ _GameWindowManager.addTickerTimeoutInfo(canvasElementTag, tickerId, timeout.toString(), true);
1098
1257
  }
1099
1258
  }
1100
1259
  static pushTicker(id, tickerData, ticker) {
1101
- _GameWindowManager.removeAssociationBetweenTickerCanvasElement(tickerData.canvasElementTags, tickerData);
1260
+ _GameWindowManager.removeAssociationBetweenTickerCanvasElement(tickerData.canvasElementTags, ticker);
1102
1261
  _GameWindowManager._currentTickers[id] = tickerData;
1103
1262
  tickerData.fn = (t) => {
1104
1263
  let data = _GameWindowManager._currentTickers[id];
@@ -1139,9 +1298,9 @@ var _GameWindowManager = class _GameWindowManager {
1139
1298
  if (step.hasOwnProperty("type") && step.type === "pause") {
1140
1299
  return step;
1141
1300
  }
1142
- let tickerName = step.constructor.name;
1301
+ let tickerId = step.id;
1143
1302
  return {
1144
- ticker: tickerName,
1303
+ ticker: tickerId,
1145
1304
  args: createExportableElement(step.args),
1146
1305
  duration: step.duration
1147
1306
  };
@@ -1179,16 +1338,16 @@ var _GameWindowManager = class _GameWindowManager {
1179
1338
  _GameWindowManager.addTickerTimeoutInfo(tag, "steps", timeout.toString(), false);
1180
1339
  return;
1181
1340
  }
1182
- let ticker = geTickerInstanceByClassName(step.ticker, step.args, step.duration, step.priority);
1341
+ let ticker = geTickerInstanceById(step.ticker, step.args, step.duration, step.priority);
1183
1342
  if (!ticker) {
1184
1343
  console.error(`[Pixi'VN] Ticker ${step.ticker} not found`);
1185
1344
  return;
1186
1345
  }
1187
- let tickerName = ticker.constructor.name;
1346
+ let tickerName = ticker.id;
1188
1347
  let tickerHistory = {
1189
1348
  fn: () => {
1190
1349
  },
1191
- className: tickerName,
1350
+ id: tickerName,
1192
1351
  args: createExportableElement(ticker.args),
1193
1352
  canvasElementTags: [tag],
1194
1353
  priority: ticker.priority,
@@ -1245,26 +1404,26 @@ var _GameWindowManager = class _GameWindowManager {
1245
1404
  * ```
1246
1405
  */
1247
1406
  static removeAssociationBetweenTickerCanvasElement(tags, ticker) {
1248
- let tickerName;
1407
+ let tickerId;
1249
1408
  if (typeof ticker === "string") {
1250
- tickerName = ticker;
1409
+ tickerId = ticker;
1251
1410
  } else if (ticker instanceof TickerBase) {
1252
- tickerName = ticker.constructor.name;
1411
+ tickerId = ticker.id;
1253
1412
  } else {
1254
- tickerName = ticker.name;
1413
+ tickerId = ticker.prototype.id;
1255
1414
  }
1256
1415
  if (typeof tags === "string") {
1257
1416
  tags = [tags];
1258
1417
  }
1259
1418
  for (let id in _GameWindowManager._currentTickers) {
1260
1419
  let ticker2 = _GameWindowManager._currentTickers[id];
1261
- if (ticker2.className === tickerName) {
1420
+ if (ticker2.id === tickerId) {
1262
1421
  _GameWindowManager._currentTickers[id].canvasElementTags = ticker2.canvasElementTags.filter((e) => !tags.includes(e));
1263
1422
  }
1264
1423
  }
1265
1424
  for (let timeout in _GameWindowManager._currentTickersTimeouts) {
1266
1425
  let TickerTimeout = _GameWindowManager._currentTickersTimeouts[timeout];
1267
- if (TickerTimeout.ticker === tickerName && TickerTimeout.canBeDeletedBeforeEnd) {
1426
+ if (TickerTimeout.ticker === tickerId && TickerTimeout.canBeDeletedBeforeEnd) {
1268
1427
  _GameWindowManager._currentTickersTimeouts[timeout].tags = TickerTimeout.tags.filter((t) => !tags.includes(t));
1269
1428
  }
1270
1429
  }
@@ -1450,11 +1609,11 @@ var _GameWindowManager = class _GameWindowManager {
1450
1609
  for (let id in currentTickers) {
1451
1610
  let t = currentTickers[id];
1452
1611
  let tags = t.canvasElementTags;
1453
- let ticker = geTickerInstanceByClassName(t.className, t.args, t.duration, t.priority);
1612
+ let ticker = geTickerInstanceById(t.id, t.args, t.duration, t.priority);
1454
1613
  if (ticker) {
1455
1614
  _GameWindowManager.addTicker(tags, ticker);
1456
1615
  } else {
1457
- console.error(`[Pixi'VN] Ticker ${t.className} not found`);
1616
+ console.error(`[Pixi'VN] Ticker ${t.id} not found`);
1458
1617
  }
1459
1618
  }
1460
1619
  }
@@ -1538,50 +1697,6 @@ var FadeAlphaTicker = class extends TickerBase {
1538
1697
  FadeAlphaTicker = __decorateClass([
1539
1698
  tickerDecorator()
1540
1699
  ], FadeAlphaTicker);
1541
-
1542
- // src/functions/TickerUtility.ts
1543
- function updateTickerProgression(args, propertyName, progression) {
1544
- if (args[propertyName] === void 0 || !progression || args[propertyName] === progression.limit) {
1545
- return;
1546
- }
1547
- if (typeof args[propertyName] === "number") {
1548
- if (progression.type === "linear") {
1549
- args[propertyName] = getLinearProgression(args[propertyName], progression);
1550
- } else if (progression.type === "exponential") {
1551
- args[propertyName] = getExponentialProgression(args[propertyName], progression);
1552
- }
1553
- } 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") {
1554
- if (progression.type === "linear") {
1555
- args[propertyName].x = getLinearProgression(args[propertyName].x, progression);
1556
- args[propertyName].y = getLinearProgression(args[propertyName].y, progression);
1557
- } else if (progression.type === "exponential") {
1558
- args[propertyName].x = getExponentialProgression(args[propertyName].x, progression);
1559
- args[propertyName].y = getExponentialProgression(args[propertyName].y, progression);
1560
- }
1561
- }
1562
- }
1563
- function getLinearProgression(number, progression) {
1564
- if (progression.limit !== void 0) {
1565
- if (number > progression.limit && progression.amt > 0) {
1566
- return progression.limit;
1567
- } else if (number < progression.limit && progression.amt < 0) {
1568
- return progression.limit;
1569
- }
1570
- }
1571
- return number + progression.amt / 60;
1572
- }
1573
- function getExponentialProgression(number, progression) {
1574
- if (progression.limit !== void 0) {
1575
- if (number > progression.limit && progression.percentage > 0) {
1576
- return progression.limit;
1577
- } else if (number < progression.limit && progression.percentage < 0) {
1578
- return progression.limit;
1579
- }
1580
- }
1581
- return number + number * progression.percentage;
1582
- }
1583
-
1584
- // src/classes/ticker/MoveTicker.ts
1585
1700
  var MoveTicker = class extends TickerBase {
1586
1701
  fn(ticker, args, tags, tickerId) {
1587
1702
  let xSpeed = 1;
@@ -1678,93 +1793,6 @@ var RotateTicker = class extends TickerBase {
1678
1793
  RotateTicker = __decorateClass([
1679
1794
  tickerDecorator()
1680
1795
  ], RotateTicker);
1681
- var ZoomTicker = class extends TickerBase {
1682
- fn(ticker, args, tags, tickerId) {
1683
- let xSpeed = 0.1;
1684
- let ySpeed = 0.1;
1685
- if (args.speed) {
1686
- if (typeof args.speed === "number") {
1687
- xSpeed = args.speed;
1688
- ySpeed = args.speed;
1689
- } else {
1690
- xSpeed = args.speed.x;
1691
- ySpeed = args.speed.y;
1692
- }
1693
- }
1694
- xSpeed /= 60;
1695
- ySpeed /= 60;
1696
- let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
1697
- if (typeof tagToRemoveAfter2 === "string") {
1698
- tagToRemoveAfter2 = [tagToRemoveAfter2];
1699
- }
1700
- let type = args.type || "zoom";
1701
- let xLimit = Infinity;
1702
- let yLimit = Infinity;
1703
- if (args.limit) {
1704
- if (typeof args.limit === "number") {
1705
- xLimit = args.limit;
1706
- yLimit = args.limit;
1707
- } else {
1708
- xLimit = args.limit.x;
1709
- yLimit = args.limit.y;
1710
- }
1711
- }
1712
- tags.filter((tag) => {
1713
- var _a;
1714
- let element = GameWindowManager.getCanvasElement(tag);
1715
- if (args.startOnlyIfHaveTexture) {
1716
- if (element && element instanceof Sprite && ((_a = element.texture) == null ? void 0 : _a.label) == "EMPTY") {
1717
- return false;
1718
- }
1719
- }
1720
- return true;
1721
- }).forEach((tag) => {
1722
- let element = GameWindowManager.getCanvasElement(tag);
1723
- if (element && element instanceof Container) {
1724
- if (type === "zoom" && (element.scale.x < xLimit || element.scale.y < yLimit)) {
1725
- element.scale.x += xSpeed * ticker.deltaTime;
1726
- element.scale.y += ySpeed * ticker.deltaTime;
1727
- } else if (type === "unzoom" && (element.scale.x > xLimit || element.scale.y > yLimit)) {
1728
- element.scale.x -= xSpeed * ticker.deltaTime;
1729
- element.scale.y -= ySpeed * ticker.deltaTime;
1730
- }
1731
- if (type === "zoom") {
1732
- if (element.scale.x > xLimit) {
1733
- element.scale.x = xLimit;
1734
- }
1735
- if (element.scale.y > yLimit) {
1736
- element.scale.y = yLimit;
1737
- }
1738
- if (element.scale.x >= xLimit && element.scale.y >= yLimit) {
1739
- element.scale.x = xLimit;
1740
- element.scale.y = yLimit;
1741
- GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
1742
- }
1743
- } else if (type === "unzoom") {
1744
- if (element.scale.x < xLimit) {
1745
- element.scale.x = xLimit;
1746
- }
1747
- if (element.scale.y < yLimit) {
1748
- element.scale.y = yLimit;
1749
- }
1750
- if (element.scale.x <= xLimit && element.scale.y <= yLimit) {
1751
- element.scale.x = xLimit;
1752
- element.scale.y = yLimit;
1753
- GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
1754
- }
1755
- }
1756
- if (xSpeed < 1e-5 && ySpeed < 1e-5 && !(args.speedProgression && args.speedProgression.type == "linear" && args.speedProgression.amt != 0)) {
1757
- GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
1758
- }
1759
- }
1760
- });
1761
- if (args.speedProgression)
1762
- updateTickerProgression(args, "speed", args.speedProgression);
1763
- }
1764
- };
1765
- ZoomTicker = __decorateClass([
1766
- tickerDecorator()
1767
- ], ZoomTicker);
1768
1796
 
1769
1797
  // src/labels/BaseCanvasElementTestLabel.ts
1770
1798
  var baseCanvasElementTestLabel = newLabel(