@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
@@ -56,138 +56,6 @@ var __async = (__this, __arguments, generator) => {
56
56
  step((generator = generator.apply(__this, __arguments)).next());
57
57
  });
58
58
  };
59
-
60
- // src/decorators/CanvasElementDecorator.ts
61
- var registeredCanvasElement = {};
62
- function getCanvasElementInstanceByClassName(canvasName) {
63
- try {
64
- let eventType = registeredCanvasElement[canvasName];
65
- if (!eventType) {
66
- if (canvasName === "CanvasContainer") {
67
- eventType = CanvasContainer;
68
- } else if (canvasName === "CanvasImage") {
69
- eventType = CanvasImage;
70
- } else if (canvasName === "CanvasSprite") {
71
- eventType = CanvasSprite;
72
- } else if (canvasName === "CanvasText") {
73
- eventType = CanvasText;
74
- }
75
- }
76
- if (!eventType) {
77
- console.error(`[Pixi'VN] CanvasElement ${canvasName} not found`);
78
- return;
79
- }
80
- let canvasElement = new eventType();
81
- return canvasElement;
82
- } catch (e) {
83
- console.error(`[Pixi'VN] Error while getting CanvasElement ${canvasName}`, e);
84
- return;
85
- }
86
- }
87
-
88
- // src/functions/CanvasUtility.ts
89
- function getTextureMemory(texture) {
90
- let sourceTexture = texture.source;
91
- let textureMemory = {
92
- image: sourceTexture.label
93
- };
94
- return textureMemory;
95
- }
96
- function exportCanvasElement(element) {
97
- return element.memory;
98
- }
99
- function importCanvasElement(memory) {
100
- let element = getCanvasElementInstanceByClassName(memory.className);
101
- if (element) {
102
- element.memory = memory;
103
- } else {
104
- throw new Error("[Pixi'VN] The element " + memory.className + " could not be created");
105
- }
106
- return element;
107
- }
108
-
109
- // src/classes/canvas/CanvasContainer.ts
110
- var CanvasContainer = class extends pixi_js.Container {
111
- get memory() {
112
- let memory = getMemoryContainer(this);
113
- this.children.forEach((child) => {
114
- memory.elements.push(exportCanvasElement(child));
115
- });
116
- return memory;
117
- }
118
- set memory(value) {
119
- setMemoryContainer(this, value);
120
- value.elements.forEach((child) => {
121
- this.addChild(importCanvasElement(child));
122
- });
123
- }
124
- };
125
- function getMemoryContainer(element) {
126
- return {
127
- className: "CanvasContainer",
128
- elements: [],
129
- width: element.width,
130
- height: element.height,
131
- isRenderGroup: element.isRenderGroup,
132
- blendMode: element.blendMode,
133
- tint: element.tint,
134
- alpha: element.alpha,
135
- angle: element.angle,
136
- renderable: element.renderable,
137
- rotation: element.rotation,
138
- scale: { x: element.scale.x, y: element.scale.y },
139
- pivot: { x: element.pivot.x, y: element.pivot.y },
140
- position: { x: element.position.x, y: element.position.y },
141
- skew: { x: element.skew.x, y: element.skew.y },
142
- visible: element.visible,
143
- culled: element.culled,
144
- x: element.x,
145
- y: element.y,
146
- boundsArea: element.boundsArea,
147
- cursor: element.cursor,
148
- eventMode: element.eventMode,
149
- interactive: element.interactive,
150
- interactiveChildren: element.interactiveChildren,
151
- hitArea: element.hitArea
152
- };
153
- }
154
- function setMemoryContainer(element, memory) {
155
- memory.width && (element.width = memory.width);
156
- memory.height && (element.height = memory.height);
157
- memory.isRenderGroup && (element.isRenderGroup = memory.isRenderGroup);
158
- memory.blendMode && (element.blendMode = memory.blendMode);
159
- memory.tint && (element.tint = memory.tint);
160
- memory.alpha && (element.alpha = memory.alpha);
161
- memory.angle && (element.angle = memory.angle);
162
- memory.renderable && (element.renderable = memory.renderable);
163
- memory.rotation && (element.rotation = memory.rotation);
164
- if (memory.scale) {
165
- if (typeof memory.scale === "number") {
166
- element.scale.set(memory.scale, memory.scale);
167
- } else {
168
- element.scale.set(memory.scale.x, memory.scale.y);
169
- }
170
- }
171
- if (memory.pivot) {
172
- if (typeof memory.pivot === "number") {
173
- element.pivot.set(memory.pivot, memory.pivot);
174
- } else {
175
- element.pivot.set(memory.pivot.x, memory.pivot.y);
176
- }
177
- }
178
- memory.position && element.position.set(memory.position.x, memory.position.y);
179
- memory.skew && element.skew.set(memory.skew.x, memory.skew.y);
180
- memory.visible && (element.visible = memory.visible);
181
- memory.culled && (element.culled = memory.culled);
182
- memory.x && (element.x = memory.x);
183
- memory.y && (element.y = memory.y);
184
- memory.boundsArea && (element.boundsArea = memory.boundsArea);
185
- memory.cursor && (element.cursor = memory.cursor);
186
- memory.eventMode && (element.eventMode = memory.eventMode);
187
- memory.interactive && (element.interactive = memory.interactive);
188
- memory.interactiveChildren && (element.interactiveChildren = memory.interactiveChildren);
189
- memory.hitArea && (element.hitArea = memory.hitArea);
190
- }
191
59
  function getTexture(imageUrl) {
192
60
  return __async(this, null, function* () {
193
61
  if (pixi_js.Assets.cache.has(imageUrl)) {
@@ -240,40 +108,43 @@ function getTextStyle(style) {
240
108
 
241
109
  // src/decorators/EventDecorator.ts
242
110
  var registeredEvents = {};
243
- function getEventTypeByClassName(eventName) {
111
+ function getEventTypeById(eventId) {
244
112
  try {
245
- let eventType = registeredEvents[eventName];
113
+ let eventType = registeredEvents[eventId];
246
114
  if (!eventType) {
247
- console.error(`[Pixi'VN] Event ${eventName} not found`);
115
+ console.error(`[Pixi'VN] Event ${eventId} not found`);
248
116
  return;
249
117
  }
250
118
  new eventType();
251
119
  return eventType;
252
120
  } catch (e) {
253
- console.error(`[Pixi'VN] Error while getting Event ${eventName}`, e);
121
+ console.error(`[Pixi'VN] Error while getting Event ${eventId}`, e);
254
122
  return;
255
123
  }
256
124
  }
257
- function getEventInstanceByClassName(eventName) {
125
+ function getEventInstanceById(eventId) {
258
126
  try {
259
- let eventType = registeredEvents[eventName];
127
+ let eventType = registeredEvents[eventId];
260
128
  if (!eventType) {
261
- console.error(`[Pixi'VN] Event ${eventName} not found`);
129
+ console.error(`[Pixi'VN] Event ${eventId} not found`);
262
130
  return;
263
131
  }
264
132
  let event = new eventType();
265
133
  return event;
266
134
  } catch (e) {
267
- console.error(`[Pixi'VN] Error while getting Event ${eventName}`, e);
135
+ console.error(`[Pixi'VN] Error while getting Event ${eventId}`, e);
268
136
  return;
269
137
  }
270
138
  }
271
139
 
272
140
  // src/classes/canvas/CanvasSprite.ts
141
+ var CANVAS_SPRITE_ID = "CanvasSprite";
273
142
  var CanvasSprite = class _CanvasSprite extends pixi_js.Sprite {
274
- constructor() {
275
- super(...arguments);
143
+ constructor(options) {
144
+ super(options);
145
+ this.pixivnId = CANVAS_SPRITE_ID;
276
146
  this._onEvents = {};
147
+ this.pixivnId = this.constructor.prototype.pixivnId;
277
148
  }
278
149
  get memory() {
279
150
  return getMemorySprite(this);
@@ -314,9 +185,9 @@ var CanvasSprite = class _CanvasSprite extends pixi_js.Sprite {
314
185
  * ```
315
186
  */
316
187
  onEvent(event, eventClass) {
317
- let className = eventClass.name;
318
- let instance = getEventInstanceByClassName(className);
319
- this._onEvents[event] = className;
188
+ let id = eventClass.prototype.id;
189
+ let instance = getEventInstanceById(id);
190
+ this._onEvents[event] = id;
320
191
  if (instance) {
321
192
  super.on(event, () => {
322
193
  instance.fn(event, this);
@@ -345,7 +216,7 @@ var CanvasSprite = class _CanvasSprite extends pixi_js.Sprite {
345
216
  function getMemorySprite(element) {
346
217
  let temp = getMemoryContainer(element);
347
218
  return __spreadProps(__spreadValues({}, temp), {
348
- className: "CanvasSprite",
219
+ pixivnId: element.pixivnId,
349
220
  textureImage: getTextureMemory(element.texture),
350
221
  anchor: { x: element.anchor.x, y: element.anchor.y },
351
222
  roundPixels: element.roundPixels,
@@ -368,8 +239,8 @@ function setMemorySprite(element, memory) {
368
239
  }
369
240
  memory.roundPixels && (element.roundPixels = memory.roundPixels);
370
241
  for (let event in memory.onEvents) {
371
- let className = memory.onEvents[event];
372
- let instance = getEventTypeByClassName(className);
242
+ let id = memory.onEvents[event];
243
+ let instance = getEventTypeById(id);
373
244
  if (instance) {
374
245
  element.onEvent(event, instance);
375
246
  }
@@ -377,9 +248,11 @@ function setMemorySprite(element, memory) {
377
248
  }
378
249
 
379
250
  // src/classes/canvas/CanvasImage.ts
251
+ var CANVAS_IMAGE_ID = "CanvasImage";
380
252
  var CanvasImage = class _CanvasImage extends CanvasSprite {
381
253
  constructor(options, imageLink) {
382
254
  super(options);
255
+ this.pixivnId = CANVAS_IMAGE_ID;
383
256
  this.imageLink = "";
384
257
  if (imageLink) {
385
258
  this.imageLink = imageLink;
@@ -387,12 +260,13 @@ var CanvasImage = class _CanvasImage extends CanvasSprite {
387
260
  }
388
261
  get memory() {
389
262
  return __spreadProps(__spreadValues({}, getMemorySprite(this)), {
390
- className: "CanvasImage",
391
- textureImage: { image: this.imageLink }
263
+ pixivnId: this.pixivnId,
264
+ imageLink: this.imageLink
392
265
  });
393
266
  }
394
267
  set memory(memory) {
395
268
  setMemorySprite(this, memory);
269
+ this.imageLink = memory.imageLink;
396
270
  }
397
271
  static from(source, skipCache) {
398
272
  let sprite = pixi_js.Sprite.from(source, skipCache);
@@ -420,10 +294,13 @@ var CanvasImage = class _CanvasImage extends CanvasSprite {
420
294
  });
421
295
  }
422
296
  };
297
+ var CANVAS_TEXT_ID = "CanvasText";
423
298
  var CanvasText = class extends pixi_js.Text {
424
- constructor() {
425
- super(...arguments);
299
+ constructor(options) {
300
+ super(options);
301
+ this.pixivnId = CANVAS_TEXT_ID;
426
302
  this._onEvents = {};
303
+ this.pixivnId = this.constructor.prototype.pixivnId;
427
304
  }
428
305
  get memory() {
429
306
  return getMemoryText(this);
@@ -464,9 +341,9 @@ var CanvasText = class extends pixi_js.Text {
464
341
  * ```
465
342
  */
466
343
  onEvent(event, eventClass) {
467
- let className = eventClass.name;
468
- let instance = getEventInstanceByClassName(className);
469
- this._onEvents[event] = className;
344
+ let id = eventClass.prototype.id;
345
+ let instance = getEventInstanceById(id);
346
+ this._onEvents[event] = id;
470
347
  if (instance) {
471
348
  super.on(event, () => {
472
349
  instance.fn(event, this);
@@ -489,7 +366,7 @@ var CanvasText = class extends pixi_js.Text {
489
366
  function getMemoryText(element) {
490
367
  let temp = getMemoryContainer(element);
491
368
  return __spreadProps(__spreadValues({}, temp), {
492
- className: "CanvasText",
369
+ pixivnId: element.pixivnId,
493
370
  anchor: { x: element.anchor.x, y: element.anchor.y },
494
371
  text: element.text,
495
372
  resolution: element.resolution,
@@ -512,13 +389,155 @@ function setMemoryText(element, memory) {
512
389
  memory.style && (element.style = memory.style);
513
390
  memory.roundPixels && (element.roundPixels = memory.roundPixels);
514
391
  for (let event in memory.onEvents) {
515
- let className = memory.onEvents[event];
516
- let instance = getEventTypeByClassName(className);
392
+ let id = memory.onEvents[event];
393
+ let instance = getEventTypeById(id);
517
394
  if (instance) {
518
395
  element.onEvent(event, instance);
519
396
  }
520
397
  }
521
398
  }
399
+
400
+ // src/decorators/CanvasElementDecorator.ts
401
+ var registeredCanvasElement = {};
402
+ function getCanvasElementInstanceById(canvasId) {
403
+ try {
404
+ let eventType = registeredCanvasElement[canvasId];
405
+ if (!eventType) {
406
+ if (canvasId === CANVAS_CONTAINER_ID) {
407
+ eventType = CanvasContainer;
408
+ } else if (canvasId === CANVAS_IMAGE_ID) {
409
+ eventType = CanvasImage;
410
+ } else if (canvasId === CANVAS_SPRITE_ID) {
411
+ eventType = CanvasSprite;
412
+ } else if (canvasId === CANVAS_TEXT_ID) {
413
+ eventType = CanvasText;
414
+ }
415
+ }
416
+ if (!eventType) {
417
+ console.error(`[Pixi'VN] CanvasElement ${canvasId} not found`);
418
+ return;
419
+ }
420
+ let canvasElement = new eventType();
421
+ return canvasElement;
422
+ } catch (e) {
423
+ console.error(`[Pixi'VN] Error while getting CanvasElement ${canvasId}`, e);
424
+ return;
425
+ }
426
+ }
427
+
428
+ // src/functions/CanvasUtility.ts
429
+ function getTextureMemory(texture) {
430
+ let sourceTexture = texture.source;
431
+ let textureMemory = {
432
+ image: sourceTexture.label
433
+ };
434
+ return textureMemory;
435
+ }
436
+ function exportCanvasElement(element) {
437
+ return element.memory;
438
+ }
439
+ function importCanvasElement(memory) {
440
+ let element = getCanvasElementInstanceById(memory.pixivnId);
441
+ if (element) {
442
+ element.memory = memory;
443
+ } else {
444
+ throw new Error("[Pixi'VN] The element " + memory.pixivnId + " could not be created");
445
+ }
446
+ return element;
447
+ }
448
+
449
+ // src/classes/canvas/CanvasContainer.ts
450
+ var CANVAS_CONTAINER_ID = "CanvasContainer";
451
+ var CanvasContainer = class extends pixi_js.Container {
452
+ constructor(options) {
453
+ super(options);
454
+ this.pixivnId = CANVAS_CONTAINER_ID;
455
+ this.pixivnId = this.constructor.prototype.pixivnId;
456
+ }
457
+ get memory() {
458
+ let memory = getMemoryContainer(this);
459
+ this.children.forEach((child) => {
460
+ memory.elements.push(exportCanvasElement(child));
461
+ });
462
+ return memory;
463
+ }
464
+ set memory(value) {
465
+ setMemoryContainer(this, value);
466
+ value.elements.forEach((child) => {
467
+ this.addChild(importCanvasElement(child));
468
+ });
469
+ }
470
+ };
471
+ function getMemoryContainer(element) {
472
+ let className = "CanvasContainer";
473
+ if (element.hasOwnProperty("pixivnId")) {
474
+ className = element.pixivnId;
475
+ }
476
+ return {
477
+ pixivnId: className,
478
+ elements: [],
479
+ width: element.width,
480
+ height: element.height,
481
+ isRenderGroup: element.isRenderGroup,
482
+ blendMode: element.blendMode,
483
+ tint: element.tint,
484
+ alpha: element.alpha,
485
+ angle: element.angle,
486
+ renderable: element.renderable,
487
+ rotation: element.rotation,
488
+ scale: { x: element.scale.x, y: element.scale.y },
489
+ pivot: { x: element.pivot.x, y: element.pivot.y },
490
+ position: { x: element.position.x, y: element.position.y },
491
+ skew: { x: element.skew.x, y: element.skew.y },
492
+ visible: element.visible,
493
+ culled: element.culled,
494
+ x: element.x,
495
+ y: element.y,
496
+ boundsArea: element.boundsArea,
497
+ cursor: element.cursor,
498
+ eventMode: element.eventMode,
499
+ interactive: element.interactive,
500
+ interactiveChildren: element.interactiveChildren,
501
+ hitArea: element.hitArea
502
+ };
503
+ }
504
+ function setMemoryContainer(element, memory) {
505
+ memory.width && (element.width = memory.width);
506
+ memory.height && (element.height = memory.height);
507
+ memory.isRenderGroup && (element.isRenderGroup = memory.isRenderGroup);
508
+ memory.blendMode && (element.blendMode = memory.blendMode);
509
+ memory.tint && (element.tint = memory.tint);
510
+ memory.alpha && (element.alpha = memory.alpha);
511
+ memory.angle && (element.angle = memory.angle);
512
+ memory.renderable && (element.renderable = memory.renderable);
513
+ memory.rotation && (element.rotation = memory.rotation);
514
+ if (memory.scale) {
515
+ if (typeof memory.scale === "number") {
516
+ element.scale.set(memory.scale, memory.scale);
517
+ } else {
518
+ element.scale.set(memory.scale.x, memory.scale.y);
519
+ }
520
+ }
521
+ if (memory.pivot) {
522
+ if (typeof memory.pivot === "number") {
523
+ element.pivot.set(memory.pivot, memory.pivot);
524
+ } else {
525
+ element.pivot.set(memory.pivot.x, memory.pivot.y);
526
+ }
527
+ }
528
+ memory.position && element.position.set(memory.position.x, memory.position.y);
529
+ memory.skew && element.skew.set(memory.skew.x, memory.skew.y);
530
+ memory.visible && (element.visible = memory.visible);
531
+ memory.culled && (element.culled = memory.culled);
532
+ memory.x && (element.x = memory.x);
533
+ memory.y && (element.y = memory.y);
534
+ memory.boundsArea && (element.boundsArea = memory.boundsArea);
535
+ memory.cursor && (element.cursor = memory.cursor);
536
+ memory.eventMode && (element.eventMode = memory.eventMode);
537
+ memory.interactive && (element.interactive = memory.interactive);
538
+ memory.interactiveChildren && (element.interactiveChildren = memory.interactiveChildren);
539
+ memory.hitArea && (element.hitArea = memory.hitArea);
540
+ }
522
541
  function checkIfStepsIsEqual(step1, step2) {
523
542
  return step1 === step2;
524
543
  }
@@ -538,7 +557,7 @@ var Label = class {
538
557
  this._choiseIndex = choiseIndex;
539
558
  }
540
559
  /**
541
- * Get the id of the label
560
+ * Get the id of the label. This variable is used in the system to get the label by id, {@link getLabelById}
542
561
  */
543
562
  get id() {
544
563
  return this._id;
@@ -552,46 +571,210 @@ var Label = class {
552
571
  if (typeof this._steps === "function") {
553
572
  return this._steps();
554
573
  }
555
- return this._steps;
556
- }
557
- /**
558
- * Get the corresponding steps number
559
- * @param externalSteps
560
- * @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
561
- */
562
- getCorrespondingStepsNumber(externalSteps) {
563
- if (externalSteps.length === 0) {
564
- return 0;
574
+ return this._steps;
575
+ }
576
+ /**
577
+ * Get the corresponding steps number
578
+ * @param externalSteps
579
+ * @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
580
+ */
581
+ getCorrespondingStepsNumber(externalSteps) {
582
+ if (externalSteps.length === 0) {
583
+ return 0;
584
+ }
585
+ let res = 0;
586
+ externalSteps.forEach((step, index) => {
587
+ if (checkIfStepsIsEqual(step, this.steps[index])) {
588
+ res = index;
589
+ }
590
+ });
591
+ return res;
592
+ }
593
+ /**
594
+ * 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
595
+ * @returns Promise<void> or void
596
+ * @example
597
+ * ```typescript
598
+ * newLabel("id", [], () => {
599
+ * Assets.load('path/to/image1.png')
600
+ * Assets.load('path/to/image2.png')
601
+ * })
602
+ * ```
603
+ */
604
+ get onStepRun() {
605
+ return this._onStepRun;
606
+ }
607
+ get choiseIndex() {
608
+ return this._choiseIndex;
609
+ }
610
+ };
611
+ function clearDialogue() {
612
+ GameStorageManager.setVariable(GameStorageManager.keysSystem.CURRENT_DIALOGUE_MEMORY_KEY, void 0);
613
+ }
614
+
615
+ // src/functions/TickerUtility.ts
616
+ function updateTickerProgression(args, propertyName, progression) {
617
+ if (args[propertyName] === void 0 || !progression || args[propertyName] === progression.limit) {
618
+ return;
619
+ }
620
+ if (typeof args[propertyName] === "number") {
621
+ if (progression.type === "linear") {
622
+ args[propertyName] = getLinearProgression(args[propertyName], progression);
623
+ } else if (progression.type === "exponential") {
624
+ args[propertyName] = getExponentialProgression(args[propertyName], progression);
625
+ }
626
+ } 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") {
627
+ if (progression.type === "linear") {
628
+ args[propertyName].x = getLinearProgression(args[propertyName].x, progression);
629
+ args[propertyName].y = getLinearProgression(args[propertyName].y, progression);
630
+ } else if (progression.type === "exponential") {
631
+ args[propertyName].x = getExponentialProgression(args[propertyName].x, progression);
632
+ args[propertyName].y = getExponentialProgression(args[propertyName].y, progression);
633
+ }
634
+ }
635
+ }
636
+ function getLinearProgression(number, progression) {
637
+ if (progression.limit !== void 0) {
638
+ if (number > progression.limit && progression.amt > 0) {
639
+ return progression.limit;
640
+ } else if (number < progression.limit && progression.amt < 0) {
641
+ return progression.limit;
642
+ }
643
+ }
644
+ return number + progression.amt / 60;
645
+ }
646
+ function getExponentialProgression(number, progression) {
647
+ if (progression.limit !== void 0) {
648
+ if (number > progression.limit && progression.percentage > 0) {
649
+ return progression.limit;
650
+ } else if (number < progression.limit && progression.percentage < 0) {
651
+ return progression.limit;
652
+ }
653
+ }
654
+ return number + number * progression.percentage;
655
+ }
656
+
657
+ // src/classes/ticker/TickerBase.ts
658
+ var TickerBase = class {
659
+ /**
660
+ * @param args The arguments that you want to pass to the ticker.
661
+ * @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
662
+ * @param priority The priority of the ticker. @default UPDATE_PRIORITY.NORMAL
663
+ */
664
+ constructor(args, duration, priority) {
665
+ /**
666
+ * Get the id of the ticker. This variable is used in the system to get the ticker by id, {@link geTickerInstanceById}
667
+ */
668
+ this.id = "ticker_id_not_set";
669
+ this.args = args;
670
+ this.duration = duration;
671
+ this.priority = priority;
672
+ this.id = this.constructor.prototype.id;
673
+ }
674
+ /**
675
+ * The method that will be called every frame.
676
+ * This method should be overridden and you can use GameWindowManager.addCanvasElement() to get the canvas element of the canvas, and edit them.
677
+ * @param _ticker The ticker that is calling this method
678
+ * @param _args The arguments that you passed when you added the ticker
679
+ * @param _tags The tags of the canvas elements that are connected to this ticker
680
+ * @param _tickerId The id of the ticker. You can use this to get the ticker from the {@link GameWindowManager.currentTickers}
681
+ */
682
+ fn(_ticker, _args, _tags, _tickerId) {
683
+ throw new Error("[Pixi'VN] The method TickerBase.fn() must be overridden");
684
+ }
685
+ };
686
+
687
+ // src/classes/ticker/ZoomTicker.ts
688
+ var ZoomTicker = class extends TickerBase {
689
+ fn(ticker, args, tags, tickerId) {
690
+ let xSpeed = 0.1;
691
+ let ySpeed = 0.1;
692
+ if (args.speed) {
693
+ if (typeof args.speed === "number") {
694
+ xSpeed = args.speed;
695
+ ySpeed = args.speed;
696
+ } else {
697
+ xSpeed = args.speed.x;
698
+ ySpeed = args.speed.y;
699
+ }
700
+ }
701
+ xSpeed /= 60;
702
+ ySpeed /= 60;
703
+ let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
704
+ if (typeof tagToRemoveAfter2 === "string") {
705
+ tagToRemoveAfter2 = [tagToRemoveAfter2];
565
706
  }
566
- let res = 0;
567
- externalSteps.forEach((step, index) => {
568
- if (checkIfStepsIsEqual(step, this.steps[index])) {
569
- res = index;
707
+ let type = args.type || "zoom";
708
+ let xLimit = type === "zoom" ? Infinity : 0;
709
+ let yLimit = type === "zoom" ? Infinity : 0;
710
+ if (args.limit) {
711
+ if (typeof args.limit === "number") {
712
+ xLimit = args.limit;
713
+ yLimit = args.limit;
714
+ } else {
715
+ xLimit = args.limit.x;
716
+ yLimit = args.limit.y;
717
+ }
718
+ }
719
+ tags.filter((tag) => {
720
+ var _a;
721
+ let element = GameWindowManager.getCanvasElement(tag);
722
+ if (args.startOnlyIfHaveTexture) {
723
+ if (element && element instanceof pixi_js.Sprite && ((_a = element.texture) == null ? void 0 : _a.label) == "EMPTY") {
724
+ return false;
725
+ }
726
+ }
727
+ return true;
728
+ }).forEach((tag) => {
729
+ let element = GameWindowManager.getCanvasElement(tag);
730
+ if (element && element instanceof pixi_js.Container) {
731
+ if (type === "zoom" && (element.scale.x < xLimit || element.scale.y < yLimit)) {
732
+ element.scale.x += xSpeed * ticker.deltaTime;
733
+ element.scale.y += ySpeed * ticker.deltaTime;
734
+ } else if (type === "unzoom" && (element.scale.x > xLimit || element.scale.y > yLimit)) {
735
+ element.scale.x -= xSpeed * ticker.deltaTime;
736
+ element.scale.y -= ySpeed * ticker.deltaTime;
737
+ }
738
+ if (type === "zoom") {
739
+ if (element.scale.x > xLimit) {
740
+ element.scale.x = xLimit;
741
+ }
742
+ if (element.scale.y > yLimit) {
743
+ element.scale.y = yLimit;
744
+ }
745
+ if (element.scale.x >= xLimit && element.scale.y >= yLimit) {
746
+ element.scale.x = xLimit;
747
+ element.scale.y = yLimit;
748
+ this.onEndOfTicker(tag, tickerId, element, tagToRemoveAfter2);
749
+ }
750
+ } else if (type === "unzoom") {
751
+ if (element.scale.x < xLimit) {
752
+ element.scale.x = xLimit;
753
+ }
754
+ if (element.scale.y < yLimit) {
755
+ element.scale.y = yLimit;
756
+ }
757
+ if (element.scale.x <= xLimit && element.scale.y <= yLimit) {
758
+ element.scale.x = xLimit;
759
+ element.scale.y = yLimit;
760
+ this.onEndOfTicker(tag, tickerId, element, tagToRemoveAfter2);
761
+ }
762
+ }
763
+ if (xSpeed < 1e-5 && ySpeed < 1e-5 && !(args.speedProgression && args.speedProgression.type == "linear" && args.speedProgression.amt != 0)) {
764
+ this.onEndOfTicker(tag, tickerId, element, tagToRemoveAfter2);
765
+ }
570
766
  }
571
767
  });
572
- return res;
573
- }
574
- /**
575
- * 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
576
- * @returns Promise<void> or void
577
- * @example
578
- * ```typescript
579
- * newLabel("id", [], () => {
580
- * Assets.load('path/to/image1.png')
581
- * Assets.load('path/to/image2.png')
582
- * })
583
- * ```
584
- */
585
- get onStepRun() {
586
- return this._onStepRun;
768
+ if (args.speedProgression)
769
+ updateTickerProgression(args, "speed", args.speedProgression);
587
770
  }
588
- get choiseIndex() {
589
- return this._choiseIndex;
771
+ onEndOfTicker(tag, tickerId, _element, tagToRemoveAfter2) {
772
+ GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
590
773
  }
591
774
  };
592
- function clearDialogue() {
593
- GameStorageManager.setVariable(GameStorageManager.keysSystem.CURRENT_DIALOGUE_MEMORY_KEY, void 0);
594
- }
775
+ ZoomTicker = __decorateClass([
776
+ tickerDecorator()
777
+ ], ZoomTicker);
595
778
 
596
779
  // src/constants.ts
597
780
  var Repeat = "repeat";
@@ -697,31 +880,6 @@ var _GameStorageManager = class _GameStorageManager {
697
880
  _GameStorageManager.storage = {};
698
881
  var GameStorageManager = _GameStorageManager;
699
882
 
700
- // src/classes/ticker/TickerBase.ts
701
- var TickerBase = class {
702
- /**
703
- * @param args The arguments that you want to pass to the ticker.
704
- * @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
705
- * @param priority The priority of the ticker. @default UPDATE_PRIORITY.NORMAL
706
- */
707
- constructor(args, duration, priority) {
708
- this.args = args;
709
- this.duration = duration;
710
- this.priority = priority;
711
- }
712
- /**
713
- * The method that will be called every frame.
714
- * This method should be overridden and you can use GameWindowManager.addCanvasElement() to get the canvas element of the canvas, and edit them.
715
- * @param _ticker The ticker that is calling this method
716
- * @param _args The arguments that you passed when you added the ticker
717
- * @param _tags The tags of the canvas elements that are connected to this ticker
718
- * @param _tickerId The id of the ticker. You can use this to get the ticker from the {@link GameWindowManager.currentTickers}
719
- */
720
- fn(_ticker, _args, _tags, _tickerId) {
721
- throw new Error("[Pixi'VN] The method TickerBase.fn() must be overridden");
722
- }
723
- };
724
-
725
883
  // src/decorators/TickerDecorator.ts
726
884
  var registeredTickers = {};
727
885
  function tickerDecorator(name) {
@@ -732,19 +890,20 @@ function tickerDecorator(name) {
732
890
  if (registeredTickers[name]) {
733
891
  console.info(`[Pixi'VN] Ticker ${name} already exists, it will be overwritten`);
734
892
  }
893
+ target.prototype.id = name;
735
894
  registeredTickers[name] = target;
736
895
  };
737
896
  }
738
- function geTickerInstanceByClassName(tickerName, args, duration, priority) {
897
+ function geTickerInstanceById(tickerId, args, duration, priority) {
739
898
  try {
740
- let ticker = registeredTickers[tickerName];
899
+ let ticker = registeredTickers[tickerId];
741
900
  if (!ticker) {
742
- console.error(`[Pixi'VN] Ticker ${tickerName} not found`);
901
+ console.error(`[Pixi'VN] Ticker ${tickerId} not found`);
743
902
  return;
744
903
  }
745
904
  return new ticker(args, duration, priority);
746
905
  } catch (e) {
747
- console.error(`[Pixi'VN] Error while getting Ticker ${tickerName}`, e);
906
+ console.error(`[Pixi'VN] Error while getting Ticker ${tickerId}`, e);
748
907
  return;
749
908
  }
750
909
  }
@@ -1073,18 +1232,18 @@ var _GameWindowManager = class _GameWindowManager {
1073
1232
  * ```
1074
1233
  */
1075
1234
  static addTicker(canvasElementTag, ticker) {
1076
- let tickerName = ticker.constructor.name;
1235
+ let tickerId = ticker.id;
1077
1236
  if (typeof canvasElementTag === "string") {
1078
1237
  canvasElementTag = [canvasElementTag];
1079
1238
  }
1080
- if (!geTickerInstanceByClassName(tickerName, ticker.args, ticker.duration, ticker.priority)) {
1081
- console.error(`[Pixi'VN] Ticker ${tickerName} not found`);
1239
+ if (!geTickerInstanceById(tickerId, ticker.args, ticker.duration, ticker.priority)) {
1240
+ console.error(`[Pixi'VN] Ticker ${tickerId} not found`);
1082
1241
  return;
1083
1242
  }
1084
1243
  let tickerHistory = {
1085
1244
  fn: () => {
1086
1245
  },
1087
- className: tickerName,
1246
+ id: tickerId,
1088
1247
  args: createExportableElement(ticker.args),
1089
1248
  canvasElementTags: canvasElementTag,
1090
1249
  priority: ticker.priority,
@@ -1100,11 +1259,11 @@ var _GameWindowManager = class _GameWindowManager {
1100
1259
  _GameWindowManager.removeTicker(id);
1101
1260
  }
1102
1261
  }, ticker.duration * 1e3);
1103
- _GameWindowManager.addTickerTimeoutInfo(canvasElementTag, tickerName, timeout.toString(), true);
1262
+ _GameWindowManager.addTickerTimeoutInfo(canvasElementTag, tickerId, timeout.toString(), true);
1104
1263
  }
1105
1264
  }
1106
1265
  static pushTicker(id, tickerData, ticker) {
1107
- _GameWindowManager.removeAssociationBetweenTickerCanvasElement(tickerData.canvasElementTags, tickerData);
1266
+ _GameWindowManager.removeAssociationBetweenTickerCanvasElement(tickerData.canvasElementTags, ticker);
1108
1267
  _GameWindowManager._currentTickers[id] = tickerData;
1109
1268
  tickerData.fn = (t) => {
1110
1269
  let data = _GameWindowManager._currentTickers[id];
@@ -1145,9 +1304,9 @@ var _GameWindowManager = class _GameWindowManager {
1145
1304
  if (step.hasOwnProperty("type") && step.type === "pause") {
1146
1305
  return step;
1147
1306
  }
1148
- let tickerName = step.constructor.name;
1307
+ let tickerId = step.id;
1149
1308
  return {
1150
- ticker: tickerName,
1309
+ ticker: tickerId,
1151
1310
  args: createExportableElement(step.args),
1152
1311
  duration: step.duration
1153
1312
  };
@@ -1185,16 +1344,16 @@ var _GameWindowManager = class _GameWindowManager {
1185
1344
  _GameWindowManager.addTickerTimeoutInfo(tag, "steps", timeout.toString(), false);
1186
1345
  return;
1187
1346
  }
1188
- let ticker = geTickerInstanceByClassName(step.ticker, step.args, step.duration, step.priority);
1347
+ let ticker = geTickerInstanceById(step.ticker, step.args, step.duration, step.priority);
1189
1348
  if (!ticker) {
1190
1349
  console.error(`[Pixi'VN] Ticker ${step.ticker} not found`);
1191
1350
  return;
1192
1351
  }
1193
- let tickerName = ticker.constructor.name;
1352
+ let tickerName = ticker.id;
1194
1353
  let tickerHistory = {
1195
1354
  fn: () => {
1196
1355
  },
1197
- className: tickerName,
1356
+ id: tickerName,
1198
1357
  args: createExportableElement(ticker.args),
1199
1358
  canvasElementTags: [tag],
1200
1359
  priority: ticker.priority,
@@ -1251,26 +1410,26 @@ var _GameWindowManager = class _GameWindowManager {
1251
1410
  * ```
1252
1411
  */
1253
1412
  static removeAssociationBetweenTickerCanvasElement(tags, ticker) {
1254
- let tickerName;
1413
+ let tickerId;
1255
1414
  if (typeof ticker === "string") {
1256
- tickerName = ticker;
1415
+ tickerId = ticker;
1257
1416
  } else if (ticker instanceof TickerBase) {
1258
- tickerName = ticker.constructor.name;
1417
+ tickerId = ticker.id;
1259
1418
  } else {
1260
- tickerName = ticker.name;
1419
+ tickerId = ticker.prototype.id;
1261
1420
  }
1262
1421
  if (typeof tags === "string") {
1263
1422
  tags = [tags];
1264
1423
  }
1265
1424
  for (let id in _GameWindowManager._currentTickers) {
1266
1425
  let ticker2 = _GameWindowManager._currentTickers[id];
1267
- if (ticker2.className === tickerName) {
1426
+ if (ticker2.id === tickerId) {
1268
1427
  _GameWindowManager._currentTickers[id].canvasElementTags = ticker2.canvasElementTags.filter((e) => !tags.includes(e));
1269
1428
  }
1270
1429
  }
1271
1430
  for (let timeout in _GameWindowManager._currentTickersTimeouts) {
1272
1431
  let TickerTimeout = _GameWindowManager._currentTickersTimeouts[timeout];
1273
- if (TickerTimeout.ticker === tickerName && TickerTimeout.canBeDeletedBeforeEnd) {
1432
+ if (TickerTimeout.ticker === tickerId && TickerTimeout.canBeDeletedBeforeEnd) {
1274
1433
  _GameWindowManager._currentTickersTimeouts[timeout].tags = TickerTimeout.tags.filter((t) => !tags.includes(t));
1275
1434
  }
1276
1435
  }
@@ -1456,11 +1615,11 @@ var _GameWindowManager = class _GameWindowManager {
1456
1615
  for (let id in currentTickers) {
1457
1616
  let t = currentTickers[id];
1458
1617
  let tags = t.canvasElementTags;
1459
- let ticker = geTickerInstanceByClassName(t.className, t.args, t.duration, t.priority);
1618
+ let ticker = geTickerInstanceById(t.id, t.args, t.duration, t.priority);
1460
1619
  if (ticker) {
1461
1620
  _GameWindowManager.addTicker(tags, ticker);
1462
1621
  } else {
1463
- console.error(`[Pixi'VN] Ticker ${t.className} not found`);
1622
+ console.error(`[Pixi'VN] Ticker ${t.id} not found`);
1464
1623
  }
1465
1624
  }
1466
1625
  }
@@ -1544,50 +1703,6 @@ var FadeAlphaTicker = class extends TickerBase {
1544
1703
  FadeAlphaTicker = __decorateClass([
1545
1704
  tickerDecorator()
1546
1705
  ], FadeAlphaTicker);
1547
-
1548
- // src/functions/TickerUtility.ts
1549
- function updateTickerProgression(args, propertyName, progression) {
1550
- if (args[propertyName] === void 0 || !progression || args[propertyName] === progression.limit) {
1551
- return;
1552
- }
1553
- if (typeof args[propertyName] === "number") {
1554
- if (progression.type === "linear") {
1555
- args[propertyName] = getLinearProgression(args[propertyName], progression);
1556
- } else if (progression.type === "exponential") {
1557
- args[propertyName] = getExponentialProgression(args[propertyName], progression);
1558
- }
1559
- } 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") {
1560
- if (progression.type === "linear") {
1561
- args[propertyName].x = getLinearProgression(args[propertyName].x, progression);
1562
- args[propertyName].y = getLinearProgression(args[propertyName].y, progression);
1563
- } else if (progression.type === "exponential") {
1564
- args[propertyName].x = getExponentialProgression(args[propertyName].x, progression);
1565
- args[propertyName].y = getExponentialProgression(args[propertyName].y, progression);
1566
- }
1567
- }
1568
- }
1569
- function getLinearProgression(number, progression) {
1570
- if (progression.limit !== void 0) {
1571
- if (number > progression.limit && progression.amt > 0) {
1572
- return progression.limit;
1573
- } else if (number < progression.limit && progression.amt < 0) {
1574
- return progression.limit;
1575
- }
1576
- }
1577
- return number + progression.amt / 60;
1578
- }
1579
- function getExponentialProgression(number, progression) {
1580
- if (progression.limit !== void 0) {
1581
- if (number > progression.limit && progression.percentage > 0) {
1582
- return progression.limit;
1583
- } else if (number < progression.limit && progression.percentage < 0) {
1584
- return progression.limit;
1585
- }
1586
- }
1587
- return number + number * progression.percentage;
1588
- }
1589
-
1590
- // src/classes/ticker/MoveTicker.ts
1591
1706
  var MoveTicker = class extends TickerBase {
1592
1707
  fn(ticker, args, tags, tickerId) {
1593
1708
  let xSpeed = 1;
@@ -1684,93 +1799,6 @@ var RotateTicker = class extends TickerBase {
1684
1799
  RotateTicker = __decorateClass([
1685
1800
  tickerDecorator()
1686
1801
  ], RotateTicker);
1687
- var ZoomTicker = class extends TickerBase {
1688
- fn(ticker, args, tags, tickerId) {
1689
- let xSpeed = 0.1;
1690
- let ySpeed = 0.1;
1691
- if (args.speed) {
1692
- if (typeof args.speed === "number") {
1693
- xSpeed = args.speed;
1694
- ySpeed = args.speed;
1695
- } else {
1696
- xSpeed = args.speed.x;
1697
- ySpeed = args.speed.y;
1698
- }
1699
- }
1700
- xSpeed /= 60;
1701
- ySpeed /= 60;
1702
- let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
1703
- if (typeof tagToRemoveAfter2 === "string") {
1704
- tagToRemoveAfter2 = [tagToRemoveAfter2];
1705
- }
1706
- let type = args.type || "zoom";
1707
- let xLimit = Infinity;
1708
- let yLimit = Infinity;
1709
- if (args.limit) {
1710
- if (typeof args.limit === "number") {
1711
- xLimit = args.limit;
1712
- yLimit = args.limit;
1713
- } else {
1714
- xLimit = args.limit.x;
1715
- yLimit = args.limit.y;
1716
- }
1717
- }
1718
- tags.filter((tag) => {
1719
- var _a;
1720
- let element = GameWindowManager.getCanvasElement(tag);
1721
- if (args.startOnlyIfHaveTexture) {
1722
- if (element && element instanceof pixi_js.Sprite && ((_a = element.texture) == null ? void 0 : _a.label) == "EMPTY") {
1723
- return false;
1724
- }
1725
- }
1726
- return true;
1727
- }).forEach((tag) => {
1728
- let element = GameWindowManager.getCanvasElement(tag);
1729
- if (element && element instanceof pixi_js.Container) {
1730
- if (type === "zoom" && (element.scale.x < xLimit || element.scale.y < yLimit)) {
1731
- element.scale.x += xSpeed * ticker.deltaTime;
1732
- element.scale.y += ySpeed * ticker.deltaTime;
1733
- } else if (type === "unzoom" && (element.scale.x > xLimit || element.scale.y > yLimit)) {
1734
- element.scale.x -= xSpeed * ticker.deltaTime;
1735
- element.scale.y -= ySpeed * ticker.deltaTime;
1736
- }
1737
- if (type === "zoom") {
1738
- if (element.scale.x > xLimit) {
1739
- element.scale.x = xLimit;
1740
- }
1741
- if (element.scale.y > yLimit) {
1742
- element.scale.y = yLimit;
1743
- }
1744
- if (element.scale.x >= xLimit && element.scale.y >= yLimit) {
1745
- element.scale.x = xLimit;
1746
- element.scale.y = yLimit;
1747
- GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
1748
- }
1749
- } else if (type === "unzoom") {
1750
- if (element.scale.x < xLimit) {
1751
- element.scale.x = xLimit;
1752
- }
1753
- if (element.scale.y < yLimit) {
1754
- element.scale.y = yLimit;
1755
- }
1756
- if (element.scale.x <= xLimit && element.scale.y <= yLimit) {
1757
- element.scale.x = xLimit;
1758
- element.scale.y = yLimit;
1759
- GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
1760
- }
1761
- }
1762
- if (xSpeed < 1e-5 && ySpeed < 1e-5 && !(args.speedProgression && args.speedProgression.type == "linear" && args.speedProgression.amt != 0)) {
1763
- GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
1764
- }
1765
- }
1766
- });
1767
- if (args.speedProgression)
1768
- updateTickerProgression(args, "speed", args.speedProgression);
1769
- }
1770
- };
1771
- ZoomTicker = __decorateClass([
1772
- tickerDecorator()
1773
- ], ZoomTicker);
1774
1802
 
1775
1803
  // src/labels/BaseCanvasElementTestLabel.ts
1776
1804
  var baseCanvasElementTestLabel = newLabel(