@drincs/pixi-vn 0.6.3 → 0.6.5

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 (238) hide show
  1. package/README.md +8 -5
  2. package/dist/LabelProps-CFV-zRjG.d.ts +113 -0
  3. package/dist/LabelProps-CmRpvUJm.d.mts +113 -0
  4. package/dist/classes/CharacterBaseModel.js +42 -33
  5. package/dist/classes/CharacterBaseModel.js.map +1 -1
  6. package/dist/classes/CharacterBaseModel.mjs +42 -33
  7. package/dist/classes/CharacterBaseModel.mjs.map +1 -1
  8. package/dist/classes/ChoiceMenuOption.d.mts +68 -8
  9. package/dist/classes/ChoiceMenuOption.d.ts +68 -8
  10. package/dist/classes/ChoiceMenuOption.js +119 -53
  11. package/dist/classes/ChoiceMenuOption.js.map +1 -1
  12. package/dist/classes/ChoiceMenuOption.mjs +119 -53
  13. package/dist/classes/ChoiceMenuOption.mjs.map +1 -1
  14. package/dist/classes/CloseLabel.d.mts +2 -2
  15. package/dist/classes/CloseLabel.d.ts +2 -2
  16. package/dist/classes/CloseLabel.js +53 -17
  17. package/dist/classes/CloseLabel.js.map +1 -1
  18. package/dist/classes/CloseLabel.mjs +53 -17
  19. package/dist/classes/CloseLabel.mjs.map +1 -1
  20. package/dist/classes/Label.d.mts +4 -72
  21. package/dist/classes/Label.d.ts +4 -72
  22. package/dist/classes/Label.js +50 -16
  23. package/dist/classes/Label.js.map +1 -1
  24. package/dist/classes/Label.mjs +50 -16
  25. package/dist/classes/Label.mjs.map +1 -1
  26. package/dist/classes/StoredClassModel.js +42 -33
  27. package/dist/classes/StoredClassModel.js.map +1 -1
  28. package/dist/classes/StoredClassModel.mjs +42 -33
  29. package/dist/classes/StoredClassModel.mjs.map +1 -1
  30. package/dist/classes/canvas/CanvasContainer.js +2 -2
  31. package/dist/classes/canvas/CanvasContainer.js.map +1 -1
  32. package/dist/classes/canvas/CanvasContainer.mjs +2 -2
  33. package/dist/classes/canvas/CanvasContainer.mjs.map +1 -1
  34. package/dist/classes/canvas/CanvasImage.js +2 -2
  35. package/dist/classes/canvas/CanvasImage.js.map +1 -1
  36. package/dist/classes/canvas/CanvasImage.mjs +2 -2
  37. package/dist/classes/canvas/CanvasImage.mjs.map +1 -1
  38. package/dist/classes/canvas/CanvasSprite.js +2 -2
  39. package/dist/classes/canvas/CanvasSprite.js.map +1 -1
  40. package/dist/classes/canvas/CanvasSprite.mjs +2 -2
  41. package/dist/classes/canvas/CanvasSprite.mjs.map +1 -1
  42. package/dist/classes/canvas/CanvasText.js +2 -2
  43. package/dist/classes/canvas/CanvasText.js.map +1 -1
  44. package/dist/classes/canvas/CanvasText.mjs +2 -2
  45. package/dist/classes/canvas/CanvasText.mjs.map +1 -1
  46. package/dist/classes/canvas/index.js +2 -2
  47. package/dist/classes/canvas/index.js.map +1 -1
  48. package/dist/classes/canvas/index.mjs +2 -2
  49. package/dist/classes/canvas/index.mjs.map +1 -1
  50. package/dist/classes/index.d.mts +2 -2
  51. package/dist/classes/index.d.ts +2 -2
  52. package/dist/classes/index.js +119 -53
  53. package/dist/classes/index.js.map +1 -1
  54. package/dist/classes/index.mjs +119 -53
  55. package/dist/classes/index.mjs.map +1 -1
  56. package/dist/classes/ticker/FadeAlphaTicker.js +42 -33
  57. package/dist/classes/ticker/FadeAlphaTicker.js.map +1 -1
  58. package/dist/classes/ticker/FadeAlphaTicker.mjs +42 -33
  59. package/dist/classes/ticker/FadeAlphaTicker.mjs.map +1 -1
  60. package/dist/classes/ticker/MoveTicker.d.mts +1 -0
  61. package/dist/classes/ticker/MoveTicker.d.ts +1 -0
  62. package/dist/classes/ticker/MoveTicker.js +42 -33
  63. package/dist/classes/ticker/MoveTicker.js.map +1 -1
  64. package/dist/classes/ticker/MoveTicker.mjs +42 -33
  65. package/dist/classes/ticker/MoveTicker.mjs.map +1 -1
  66. package/dist/classes/ticker/RotateTicker.d.mts +1 -0
  67. package/dist/classes/ticker/RotateTicker.d.ts +1 -0
  68. package/dist/classes/ticker/RotateTicker.js +42 -33
  69. package/dist/classes/ticker/RotateTicker.js.map +1 -1
  70. package/dist/classes/ticker/RotateTicker.mjs +42 -33
  71. package/dist/classes/ticker/RotateTicker.mjs.map +1 -1
  72. package/dist/classes/ticker/ZoomTicker.d.mts +1 -0
  73. package/dist/classes/ticker/ZoomTicker.d.ts +1 -0
  74. package/dist/classes/ticker/ZoomTicker.js +42 -33
  75. package/dist/classes/ticker/ZoomTicker.js.map +1 -1
  76. package/dist/classes/ticker/ZoomTicker.mjs +42 -33
  77. package/dist/classes/ticker/ZoomTicker.mjs.map +1 -1
  78. package/dist/classes/ticker/index.js +42 -33
  79. package/dist/classes/ticker/index.js.map +1 -1
  80. package/dist/classes/ticker/index.mjs +42 -33
  81. package/dist/classes/ticker/index.mjs.map +1 -1
  82. package/dist/constants.d.mts +1 -1
  83. package/dist/constants.d.ts +1 -1
  84. package/dist/constants.js +1 -1
  85. package/dist/constants.js.map +1 -1
  86. package/dist/constants.mjs +1 -1
  87. package/dist/constants.mjs.map +1 -1
  88. package/dist/decorators/CanvasElementDecorator.js +2 -2
  89. package/dist/decorators/CanvasElementDecorator.js.map +1 -1
  90. package/dist/decorators/CanvasElementDecorator.mjs +2 -2
  91. package/dist/decorators/CanvasElementDecorator.mjs.map +1 -1
  92. package/dist/decorators/LabelDecorator.d.mts +3 -3
  93. package/dist/decorators/LabelDecorator.d.ts +3 -3
  94. package/dist/decorators/LabelDecorator.js +74 -50
  95. package/dist/decorators/LabelDecorator.js.map +1 -1
  96. package/dist/decorators/LabelDecorator.mjs +74 -50
  97. package/dist/decorators/LabelDecorator.mjs.map +1 -1
  98. package/dist/decorators/index.d.mts +2 -2
  99. package/dist/decorators/index.d.ts +2 -2
  100. package/dist/decorators/index.js +74 -50
  101. package/dist/decorators/index.js.map +1 -1
  102. package/dist/decorators/index.mjs +74 -50
  103. package/dist/decorators/index.mjs.map +1 -1
  104. package/dist/functions/CanvasUtility.js +2 -2
  105. package/dist/functions/CanvasUtility.js.map +1 -1
  106. package/dist/functions/CanvasUtility.mjs +2 -2
  107. package/dist/functions/CanvasUtility.mjs.map +1 -1
  108. package/dist/functions/DialogueUtility.d.mts +9 -9
  109. package/dist/functions/DialogueUtility.d.ts +9 -9
  110. package/dist/functions/DialogueUtility.js +184 -106
  111. package/dist/functions/DialogueUtility.js.map +1 -1
  112. package/dist/functions/DialogueUtility.mjs +184 -106
  113. package/dist/functions/DialogueUtility.mjs.map +1 -1
  114. package/dist/functions/FlagsUtility.js +42 -33
  115. package/dist/functions/FlagsUtility.js.map +1 -1
  116. package/dist/functions/FlagsUtility.mjs +42 -33
  117. package/dist/functions/FlagsUtility.mjs.map +1 -1
  118. package/dist/functions/GameUtility.js +42 -33
  119. package/dist/functions/GameUtility.js.map +1 -1
  120. package/dist/functions/GameUtility.mjs +42 -33
  121. package/dist/functions/GameUtility.mjs.map +1 -1
  122. package/dist/functions/ImageUtility.js +45 -36
  123. package/dist/functions/ImageUtility.js.map +1 -1
  124. package/dist/functions/ImageUtility.mjs +45 -36
  125. package/dist/functions/ImageUtility.mjs.map +1 -1
  126. package/dist/functions/SavesUtility.d.mts +4 -4
  127. package/dist/functions/SavesUtility.d.ts +4 -4
  128. package/dist/functions/SavesUtility.js +173 -111
  129. package/dist/functions/SavesUtility.js.map +1 -1
  130. package/dist/functions/SavesUtility.mjs +173 -111
  131. package/dist/functions/SavesUtility.mjs.map +1 -1
  132. package/dist/functions/TickerUtility.d.mts +2 -1
  133. package/dist/functions/TickerUtility.d.ts +2 -1
  134. package/dist/functions/TickerUtility.js +19 -15
  135. package/dist/functions/TickerUtility.js.map +1 -1
  136. package/dist/functions/TickerUtility.mjs +19 -15
  137. package/dist/functions/TickerUtility.mjs.map +1 -1
  138. package/dist/functions/index.d.mts +3 -3
  139. package/dist/functions/index.d.ts +3 -3
  140. package/dist/functions/index.js +197 -115
  141. package/dist/functions/index.js.map +1 -1
  142. package/dist/functions/index.mjs +197 -115
  143. package/dist/functions/index.mjs.map +1 -1
  144. package/dist/index.d.mts +1 -1
  145. package/dist/index.d.ts +1 -1
  146. package/dist/index.js +325 -190
  147. package/dist/index.js.map +1 -1
  148. package/dist/index.mjs +326 -191
  149. package/dist/index.mjs.map +1 -1
  150. package/dist/interface/IHistoryStep.d.mts +1 -1
  151. package/dist/interface/IHistoryStep.d.ts +1 -1
  152. package/dist/interface/ISaveData.d.mts +2 -2
  153. package/dist/interface/ISaveData.d.ts +2 -2
  154. package/dist/interface/LabelProps.d.mts +5 -0
  155. package/dist/interface/LabelProps.d.ts +5 -0
  156. package/dist/interface/LabelProps.js +4 -0
  157. package/dist/interface/LabelProps.js.map +1 -0
  158. package/dist/interface/LabelProps.mjs +3 -0
  159. package/dist/interface/LabelProps.mjs.map +1 -0
  160. package/dist/interface/export/ExportedStep.d.mts +2 -2
  161. package/dist/interface/export/ExportedStep.d.ts +2 -2
  162. package/dist/interface/export/index.d.mts +2 -2
  163. package/dist/interface/export/index.d.ts +2 -2
  164. package/dist/interface/index.d.mts +4 -4
  165. package/dist/interface/index.d.ts +4 -4
  166. package/dist/labels/BaseCanvasElementTestLabel.d.mts +2 -2
  167. package/dist/labels/BaseCanvasElementTestLabel.d.ts +2 -2
  168. package/dist/labels/BaseCanvasElementTestLabel.js +175 -111
  169. package/dist/labels/BaseCanvasElementTestLabel.js.map +1 -1
  170. package/dist/labels/BaseCanvasElementTestLabel.mjs +176 -112
  171. package/dist/labels/BaseCanvasElementTestLabel.mjs.map +1 -1
  172. package/dist/labels/CanvasEventsTestLabel.d.mts +3 -6
  173. package/dist/labels/CanvasEventsTestLabel.d.ts +3 -6
  174. package/dist/labels/CanvasEventsTestLabel.js +186 -128
  175. package/dist/labels/CanvasEventsTestLabel.js.map +1 -1
  176. package/dist/labels/CanvasEventsTestLabel.mjs +187 -129
  177. package/dist/labels/CanvasEventsTestLabel.mjs.map +1 -1
  178. package/dist/labels/CustomTickerCanvasElementTestLabel.d.mts +2 -2
  179. package/dist/labels/CustomTickerCanvasElementTestLabel.d.ts +2 -2
  180. package/dist/labels/CustomTickerCanvasElementTestLabel.js +166 -108
  181. package/dist/labels/CustomTickerCanvasElementTestLabel.js.map +1 -1
  182. package/dist/labels/CustomTickerCanvasElementTestLabel.mjs +166 -108
  183. package/dist/labels/CustomTickerCanvasElementTestLabel.mjs.map +1 -1
  184. package/dist/labels/ImagesAnimationsTestLabel.d.mts +2 -2
  185. package/dist/labels/ImagesAnimationsTestLabel.d.ts +2 -2
  186. package/dist/labels/ImagesAnimationsTestLabel.js +253 -147
  187. package/dist/labels/ImagesAnimationsTestLabel.js.map +1 -1
  188. package/dist/labels/ImagesAnimationsTestLabel.mjs +253 -147
  189. package/dist/labels/ImagesAnimationsTestLabel.mjs.map +1 -1
  190. package/dist/labels/MarkdownTest.d.mts +2 -2
  191. package/dist/labels/MarkdownTest.d.ts +2 -2
  192. package/dist/labels/MarkdownTest.js +166 -108
  193. package/dist/labels/MarkdownTest.js.map +1 -1
  194. package/dist/labels/MarkdownTest.mjs +166 -108
  195. package/dist/labels/MarkdownTest.mjs.map +1 -1
  196. package/dist/labels/StartLabel.d.mts +2 -2
  197. package/dist/labels/StartLabel.d.ts +2 -2
  198. package/dist/labels/StartLabel.js +316 -184
  199. package/dist/labels/StartLabel.js.map +1 -1
  200. package/dist/labels/StartLabel.mjs +317 -185
  201. package/dist/labels/StartLabel.mjs.map +1 -1
  202. package/dist/labels/StepLabelTest.d.mts +9 -0
  203. package/dist/labels/StepLabelTest.d.ts +9 -0
  204. package/dist/labels/StepLabelTest.js +2758 -0
  205. package/dist/labels/StepLabelTest.js.map +1 -0
  206. package/dist/labels/StepLabelTest.mjs +2752 -0
  207. package/dist/labels/StepLabelTest.mjs.map +1 -0
  208. package/dist/labels/TestConstant.js +43 -34
  209. package/dist/labels/TestConstant.js.map +1 -1
  210. package/dist/labels/TestConstant.mjs +43 -34
  211. package/dist/labels/TestConstant.mjs.map +1 -1
  212. package/dist/labels/index.d.mts +2 -2
  213. package/dist/labels/index.d.ts +2 -2
  214. package/dist/labels/index.js +316 -184
  215. package/dist/labels/index.js.map +1 -1
  216. package/dist/labels/index.mjs +317 -185
  217. package/dist/labels/index.mjs.map +1 -1
  218. package/dist/managers/StepManager.d.mts +6 -5
  219. package/dist/managers/StepManager.d.ts +6 -5
  220. package/dist/managers/StepManager.js +163 -105
  221. package/dist/managers/StepManager.js.map +1 -1
  222. package/dist/managers/StepManager.mjs +163 -105
  223. package/dist/managers/StepManager.mjs.map +1 -1
  224. package/dist/managers/WindowManager.js +2 -2
  225. package/dist/managers/WindowManager.js.map +1 -1
  226. package/dist/managers/WindowManager.mjs +2 -2
  227. package/dist/managers/WindowManager.mjs.map +1 -1
  228. package/dist/managers/index.d.mts +2 -2
  229. package/dist/managers/index.d.ts +2 -2
  230. package/dist/managers/index.js +163 -105
  231. package/dist/managers/index.js.map +1 -1
  232. package/dist/managers/index.mjs +163 -105
  233. package/dist/managers/index.mjs.map +1 -1
  234. package/dist/types/ChoiceMenuOptionsType.d.mts +2 -2
  235. package/dist/types/ChoiceMenuOptionsType.d.ts +2 -2
  236. package/dist/types/index.d.mts +1 -1
  237. package/dist/types/index.d.ts +1 -1
  238. package/package.json +6 -6
@@ -1,4 +1,4 @@
1
- import { Sprite, Container, Application, Assets, FillGradient, Color, TextStyle, Text, Texture } from 'pixi.js';
1
+ import { Sprite, Container, Application, Assets, TextStyle, FillGradient, Color, Text, Texture } from 'pixi.js';
2
2
  import { diff } from 'deep-diff';
3
3
  import sha1 from 'crypto-js/sha1';
4
4
 
@@ -497,8 +497,6 @@ function getMemoryContainer(element) {
497
497
  };
498
498
  }
499
499
  function setMemoryContainer(element, memory) {
500
- memory.width && (element.width = memory.width);
501
- memory.height && (element.height = memory.height);
502
500
  memory.isRenderGroup && (element.isRenderGroup = memory.isRenderGroup);
503
501
  memory.blendMode && (element.blendMode = memory.blendMode);
504
502
  memory.tint && (element.tint = memory.tint);
@@ -531,6 +529,8 @@ function setMemoryContainer(element, memory) {
531
529
  memory.interactive && (element.interactive = memory.interactive);
532
530
  memory.interactiveChildren && (element.interactiveChildren = memory.interactiveChildren);
533
531
  memory.hitArea && (element.hitArea = memory.hitArea);
532
+ memory.width && (element.width = memory.width);
533
+ memory.height && (element.height = memory.height);
534
534
  }
535
535
 
536
536
  // src/decorators/CharacterDecorator.ts
@@ -558,14 +558,15 @@ var Label = class {
558
558
  /**
559
559
  * @param id is the id of the label
560
560
  * @param steps is the list of steps that the label will perform
561
- * @param onStepRun is a function that will be executed before any step is executed, is useful for example to make sure all images used have been cached
562
- * @param choiseIndex is the index of the choice that the label will perform
561
+ * @param props is the properties of the label
563
562
  */
564
- constructor(id, steps, onStepRun, choiseIndex) {
563
+ constructor(id, steps, props) {
565
564
  this._id = id;
566
565
  this._steps = steps;
567
- this._onStepRun = onStepRun;
568
- this._choiseIndex = choiseIndex;
566
+ this._onStepStart = props == null ? void 0 : props.onStepStart;
567
+ this._onLoadStep = props == null ? void 0 : props.onLoadStep;
568
+ this._onStepEnd = props == null ? void 0 : props.onStepEnd;
569
+ this._choiseIndex = props == null ? void 0 : props.choiseIndex;
569
570
  }
570
571
  /**
571
572
  * Get the id of the label. This variable is used in the system to get the label by id, {@link getLabelById}
@@ -602,18 +603,32 @@ var Label = class {
602
603
  return res;
603
604
  }
604
605
  /**
605
- * 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
606
+ * Is a function that will be executed in {@link Label#onStepStart} and when the user goes back to it or when the user laods a save file.
607
+ * @returns Promise<void> or void
608
+ */
609
+ get onStepStart() {
610
+ return (stepIndex, label) => __async(this, null, function* () {
611
+ if (this._onLoadStep) {
612
+ yield this._onLoadStep(stepIndex, label);
613
+ }
614
+ if (this._onStepStart) {
615
+ return yield this._onStepStart(stepIndex, label);
616
+ }
617
+ });
618
+ }
619
+ /**
620
+ * Get the function that will be executed a old step is reloaded. A step is reloaded when the user goes back to it or when the user laods a save file.
606
621
  * @returns Promise<void> or void
607
- * @example
608
- * ```typescript
609
- * newLabel("id", [], () => {
610
- * Assets.load('path/to/image1.png')
611
- * Assets.load('path/to/image2.png')
612
- * })
613
- * ```
614
622
  */
615
- get onStepRun() {
616
- return this._onStepRun;
623
+ get onLoadStep() {
624
+ return this._onLoadStep;
625
+ }
626
+ /**
627
+ * Is a function that will be executed when the step ends.
628
+ * @returns Promise<void> or void
629
+ */
630
+ get onStepEnd() {
631
+ return this._onStepEnd;
617
632
  }
618
633
  get choiseIndex() {
619
634
  return this._choiseIndex;
@@ -623,7 +638,9 @@ var Label = class {
623
638
  // src/classes/CloseLabel.ts
624
639
  var CLOSE_LABEL_ID = "__close-label-id__";
625
640
  function newCloseLabel(choiseIndex) {
626
- return new Label(CLOSE_LABEL_ID, [], void 0, choiseIndex);
641
+ return new Label(CLOSE_LABEL_ID, [], {
642
+ choiseIndex
643
+ });
627
644
  }
628
645
 
629
646
  // src/types/CloseType.ts
@@ -674,7 +691,10 @@ function getChoiceMenuOptions() {
674
691
  }
675
692
  let label = getLabelById(option.label);
676
693
  if (label) {
677
- let itemLabel = new Label(label.id, label.steps, label.onStepRun, index);
694
+ let itemLabel = new Label(label.id, label.steps, {
695
+ onStepStart: label.onStepStart,
696
+ choiseIndex: index
697
+ });
678
698
  options.push(__spreadProps(__spreadValues({}, option), {
679
699
  label: itemLabel
680
700
  }));
@@ -686,8 +706,9 @@ function getChoiceMenuOptions() {
686
706
  }
687
707
 
688
708
  // src/functions/TickerUtility.ts
689
- function updateTickerProgression(args, propertyName, progression) {
690
- if (args[propertyName] === void 0 || !progression || args[propertyName] === progression.limit) {
709
+ function updateTickerProgression(args, propertyName, progression, valueConvert) {
710
+ let limit = valueConvert && progression.limit ? valueConvert(progression.limit) : progression.limit;
711
+ if (args[propertyName] === void 0 || !progression || args[propertyName] === limit) {
691
712
  return;
692
713
  }
693
714
  if (typeof args[propertyName] === "number") {
@@ -706,22 +727,25 @@ function updateTickerProgression(args, propertyName, progression) {
706
727
  }
707
728
  }
708
729
  }
709
- function getLinearProgression(number, progression) {
710
- if (progression.limit !== void 0) {
711
- if (number > progression.limit && progression.amt > 0) {
712
- return progression.limit;
713
- } else if (number < progression.limit && progression.amt < 0) {
714
- return progression.limit;
730
+ function getLinearProgression(number, progression, valueConvert) {
731
+ let limit = valueConvert && progression.limit ? valueConvert(progression.limit) : progression.limit;
732
+ let amt = valueConvert ? valueConvert(progression.amt) : progression.amt;
733
+ if (limit !== void 0) {
734
+ if (number > limit && amt > 0) {
735
+ return limit;
736
+ } else if (number < limit && amt < 0) {
737
+ return limit;
715
738
  }
716
739
  }
717
- return number + progression.amt / 60;
740
+ return number + amt;
718
741
  }
719
- function getExponentialProgression(number, progression) {
720
- if (progression.limit !== void 0) {
721
- if (number > progression.limit && progression.percentage > 0) {
722
- return progression.limit;
723
- } else if (number < progression.limit && progression.percentage < 0) {
724
- return progression.limit;
742
+ function getExponentialProgression(number, progression, valueConvert) {
743
+ let limit = valueConvert && progression.limit ? valueConvert(progression.limit) : progression.limit;
744
+ if (limit !== void 0) {
745
+ if (number > limit && progression.percentage > 0) {
746
+ return limit;
747
+ } else if (number < limit && progression.percentage < 0) {
748
+ return limit;
725
749
  }
726
750
  }
727
751
  return number + number * progression.percentage;
@@ -764,15 +788,13 @@ var ZoomTicker = class extends TickerBase {
764
788
  let ySpeed = 0.1;
765
789
  if (args.speed) {
766
790
  if (typeof args.speed === "number") {
767
- xSpeed = args.speed;
768
- ySpeed = args.speed;
791
+ xSpeed = this.speedConvert(args.speed);
792
+ ySpeed = this.speedConvert(args.speed);
769
793
  } else {
770
- xSpeed = args.speed.x;
771
- ySpeed = args.speed.y;
794
+ xSpeed = this.speedConvert(args.speed.x);
795
+ ySpeed = this.speedConvert(args.speed.y);
772
796
  }
773
797
  }
774
- xSpeed /= 60;
775
- ySpeed /= 60;
776
798
  let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
777
799
  if (typeof tagToRemoveAfter2 === "string") {
778
800
  tagToRemoveAfter2 = [tagToRemoveAfter2];
@@ -839,7 +861,10 @@ var ZoomTicker = class extends TickerBase {
839
861
  }
840
862
  });
841
863
  if (args.speedProgression)
842
- updateTickerProgression(args, "speed", args.speedProgression);
864
+ updateTickerProgression(args, "speed", args.speedProgression, this.speedConvert);
865
+ }
866
+ speedConvert(speed) {
867
+ return speed / 60;
843
868
  }
844
869
  onEndOfTicker(tag, tickerId, _element, tagToRemoveAfter2) {
845
870
  GameWindowManager.onEndOfTicker(tag, this, tagToRemoveAfter2, tickerId);
@@ -1834,6 +1859,16 @@ var _GameStepManager = class _GameStepManager {
1834
1859
  static set originalStepData(value) {
1835
1860
  _GameStepManager._originalStepData = createExportableElement(value);
1836
1861
  }
1862
+ static get currentStepData() {
1863
+ let currentStepData = {
1864
+ path: window.location.pathname,
1865
+ storage: GameStorageManager.export(),
1866
+ canvas: GameWindowManager.export(),
1867
+ labelIndex: _GameStepManager.currentLabelStepIndex || 0,
1868
+ openedLabels: createExportableElement(_GameStepManager._openedLabels)
1869
+ };
1870
+ return currentStepData;
1871
+ }
1837
1872
  /* Edit History Methods */
1838
1873
  /**
1839
1874
  * Add a label to the history.
@@ -1841,19 +1876,13 @@ var _GameStepManager = class _GameStepManager {
1841
1876
  */
1842
1877
  static addStepHistory(step, choiseMade) {
1843
1878
  let stepHistory = getStepSha1(step);
1844
- let historyStep = {
1845
- path: window.location.pathname,
1846
- storage: GameStorageManager.export(),
1847
- canvas: GameWindowManager.export(),
1848
- labelIndex: _GameStepManager.currentLabelStepIndex || 0,
1849
- openedLabels: createExportableElement(_GameStepManager._openedLabels)
1850
- };
1879
+ let currentStepData = _GameStepManager.currentStepData;
1851
1880
  if (_GameStepManager.originalStepData) {
1852
- if (_GameStepManager.originalStepData.openedLabels.length === historyStep.openedLabels.length) {
1881
+ if (_GameStepManager.originalStepData.openedLabels.length === currentStepData.openedLabels.length) {
1853
1882
  try {
1854
1883
  let lastStepDataOpenedLabelsString = JSON.stringify(_GameStepManager.originalStepData.openedLabels);
1855
- let historyStepOpenedLabelsString = JSON.stringify(historyStep.openedLabels);
1856
- if (lastStepDataOpenedLabelsString === historyStepOpenedLabelsString && _GameStepManager.originalStepData.path === historyStep.path && _GameStepManager.originalStepData.labelIndex === historyStep.labelIndex) {
1884
+ let historyStepOpenedLabelsString = JSON.stringify(currentStepData.openedLabels);
1885
+ if (lastStepDataOpenedLabelsString === historyStepOpenedLabelsString && _GameStepManager.originalStepData.path === currentStepData.path && _GameStepManager.originalStepData.labelIndex === currentStepData.labelIndex) {
1857
1886
  return;
1858
1887
  }
1859
1888
  } catch (e) {
@@ -1861,7 +1890,7 @@ var _GameStepManager = class _GameStepManager {
1861
1890
  }
1862
1891
  }
1863
1892
  }
1864
- let data = diff(_GameStepManager.originalStepData, historyStep);
1893
+ let data = diff(_GameStepManager.originalStepData, currentStepData);
1865
1894
  if (data) {
1866
1895
  let dialoge = void 0;
1867
1896
  let requiredChoices = void 0;
@@ -1880,7 +1909,7 @@ var _GameStepManager = class _GameStepManager {
1880
1909
  index: _GameStepManager.lastStepIndex,
1881
1910
  choiceIndexMade: choiseMade
1882
1911
  });
1883
- _GameStepManager.originalStepData = historyStep;
1912
+ _GameStepManager.originalStepData = currentStepData;
1884
1913
  }
1885
1914
  _GameStepManager.increaseLastStepIndex();
1886
1915
  }
@@ -1971,6 +2000,9 @@ var _GameStepManager = class _GameStepManager {
1971
2000
  console.warn("[Pixi'VN] The player must make a choice");
1972
2001
  return;
1973
2002
  }
2003
+ if (_GameStepManager.currentLabel && _GameStepManager.currentLabel.onStepEnd) {
2004
+ yield _GameStepManager.currentLabel.onStepEnd(_GameStepManager.currentLabelStepIndex || 0, _GameStepManager.currentLabel);
2005
+ }
1974
2006
  _GameStepManager.increaseCurrentStepIndex();
1975
2007
  return yield _GameStepManager.runCurrentStep(props, choiseMade);
1976
2008
  });
@@ -1995,6 +2027,10 @@ var _GameStepManager = class _GameStepManager {
1995
2027
  return;
1996
2028
  }
1997
2029
  if (currentLabel.steps.length > currentLabelStepIndex) {
2030
+ let onStepRun = currentLabel.onStepStart;
2031
+ if (onStepRun) {
2032
+ yield onStepRun(currentLabelStepIndex, currentLabel);
2033
+ }
1998
2034
  let step = currentLabel.steps[currentLabelStepIndex];
1999
2035
  let result = yield step(props);
2000
2036
  _GameStepManager.addStepHistory(step, choiseMade);
@@ -2059,6 +2095,9 @@ var _GameStepManager = class _GameStepManager {
2059
2095
  if (!tempLabel) {
2060
2096
  throw new Error(`[Pixi'VN] Label ${labelId} not found`);
2061
2097
  }
2098
+ if (_GameStepManager.currentLabel && _GameStepManager.currentLabel.onStepEnd) {
2099
+ yield _GameStepManager.currentLabel.onStepEnd(_GameStepManager.currentLabelStepIndex || 0, _GameStepManager.currentLabel);
2100
+ }
2062
2101
  _GameStepManager.pushNewLabel(tempLabel.id);
2063
2102
  } catch (e) {
2064
2103
  console.error("[Pixi'VN] Error calling label", e);
@@ -2117,6 +2156,9 @@ var _GameStepManager = class _GameStepManager {
2117
2156
  if (!tempLabel) {
2118
2157
  throw new Error(`[Pixi'VN] Label ${labelId} not found`);
2119
2158
  }
2159
+ if (_GameStepManager.currentLabel && _GameStepManager.currentLabel.onStepEnd) {
2160
+ yield _GameStepManager.currentLabel.onStepEnd(_GameStepManager.currentLabelStepIndex || 0, _GameStepManager.currentLabel);
2161
+ }
2120
2162
  _GameStepManager.pushNewLabel(tempLabel.id);
2121
2163
  } catch (e) {
2122
2164
  console.error("[Pixi'VN] Error jumping label", e);
@@ -2222,24 +2264,29 @@ var _GameStepManager = class _GameStepManager {
2222
2264
  * ```
2223
2265
  */
2224
2266
  static goBack(navigate, steps = 1) {
2225
- if (steps <= 0) {
2226
- console.warn("[Pixi'VN] Steps must be greater than 0");
2227
- return;
2228
- }
2229
- if (_GameStepManager._stepsHistory.length <= 1) {
2230
- console.warn("[Pixi'VN] No steps to go back");
2231
- return;
2232
- }
2233
- let restoredStep = _GameStepManager.goBackInternal(steps, _GameStepManager.originalStepData);
2234
- if (restoredStep) {
2235
- _GameStepManager._originalStepData = restoredStep;
2236
- _GameStepManager._openedLabels = createExportableElement(restoredStep.openedLabels);
2237
- GameStorageManager.import(createExportableElement(restoredStep.storage));
2238
- GameWindowManager.import(createExportableElement(restoredStep.canvas));
2239
- navigate(restoredStep.path);
2240
- } else {
2241
- console.error("[Pixi'VN] Error going back");
2242
- }
2267
+ return __async(this, null, function* () {
2268
+ if (steps <= 0) {
2269
+ console.warn("[Pixi'VN] Steps must be greater than 0");
2270
+ return;
2271
+ }
2272
+ if (_GameStepManager._stepsHistory.length <= 1) {
2273
+ console.warn("[Pixi'VN] No steps to go back");
2274
+ return;
2275
+ }
2276
+ let restoredStep = _GameStepManager.goBackInternal(steps, _GameStepManager.originalStepData);
2277
+ if (restoredStep) {
2278
+ _GameStepManager._originalStepData = restoredStep;
2279
+ _GameStepManager._openedLabels = createExportableElement(restoredStep.openedLabels);
2280
+ if (_GameStepManager.currentLabel && _GameStepManager.currentLabel.onLoadStep) {
2281
+ yield _GameStepManager.currentLabel.onLoadStep(_GameStepManager.currentLabelStepIndex || 0, _GameStepManager.currentLabel);
2282
+ }
2283
+ GameStorageManager.import(createExportableElement(restoredStep.storage));
2284
+ GameWindowManager.import(createExportableElement(restoredStep.canvas));
2285
+ navigate(restoredStep.path);
2286
+ } else {
2287
+ console.error("[Pixi'VN] Error going back");
2288
+ }
2289
+ });
2243
2290
  }
2244
2291
  static goBackInternal(steps, restoredStep) {
2245
2292
  if (steps <= 0) {
@@ -2301,38 +2348,45 @@ var _GameStepManager = class _GameStepManager {
2301
2348
  * @param dataString The history in a JSON string.
2302
2349
  */
2303
2350
  static importJson(dataString) {
2304
- _GameStepManager.import(JSON.parse(dataString));
2351
+ return __async(this, null, function* () {
2352
+ yield _GameStepManager.import(JSON.parse(dataString));
2353
+ });
2305
2354
  }
2306
2355
  /**
2307
2356
  * Import the history from an object.
2308
2357
  * @param data The history in an object.
2309
2358
  */
2310
2359
  static import(data) {
2311
- _GameStepManager.clear();
2312
- try {
2313
- if (data.hasOwnProperty("stepsHistory")) {
2314
- _GameStepManager._stepsHistory = data["stepsHistory"];
2315
- } else {
2316
- console.warn("[Pixi'VN] Could not import stepsHistory data, so will be ignored");
2317
- }
2318
- if (data.hasOwnProperty("openedLabels")) {
2319
- _GameStepManager._openedLabels = data["openedLabels"];
2320
- } else {
2321
- console.warn("[Pixi'VN] Could not import openedLabels data, so will be ignored");
2322
- }
2323
- if (data.hasOwnProperty("lastStepIndex")) {
2324
- _GameStepManager._lastStepIndex = data["lastStepIndex"];
2325
- } else {
2326
- console.warn("[Pixi'VN] Could not import lastStepIndex data, so will be ignored");
2327
- }
2328
- if (data.hasOwnProperty("originalStepData")) {
2329
- _GameStepManager._originalStepData = data["originalStepData"];
2330
- } else {
2331
- console.warn("[Pixi'VN] Could not import originalStepData data, so will be ignored");
2360
+ return __async(this, null, function* () {
2361
+ _GameStepManager.clear();
2362
+ try {
2363
+ if (data.hasOwnProperty("stepsHistory")) {
2364
+ _GameStepManager._stepsHistory = data["stepsHistory"];
2365
+ } else {
2366
+ console.warn("[Pixi'VN] Could not import stepsHistory data, so will be ignored");
2367
+ }
2368
+ if (data.hasOwnProperty("openedLabels")) {
2369
+ _GameStepManager._openedLabels = data["openedLabels"];
2370
+ } else {
2371
+ console.warn("[Pixi'VN] Could not import openedLabels data, so will be ignored");
2372
+ }
2373
+ if (data.hasOwnProperty("lastStepIndex")) {
2374
+ _GameStepManager._lastStepIndex = data["lastStepIndex"];
2375
+ } else {
2376
+ console.warn("[Pixi'VN] Could not import lastStepIndex data, so will be ignored");
2377
+ }
2378
+ if (data.hasOwnProperty("originalStepData")) {
2379
+ _GameStepManager._originalStepData = data["originalStepData"];
2380
+ } else {
2381
+ console.warn("[Pixi'VN] Could not import originalStepData data, so will be ignored");
2382
+ }
2383
+ if (_GameStepManager.currentLabel && _GameStepManager.currentLabel.onLoadStep) {
2384
+ yield _GameStepManager.currentLabel.onLoadStep(_GameStepManager.currentLabelStepIndex || 0, _GameStepManager.currentLabel);
2385
+ }
2386
+ } catch (e) {
2387
+ console.error("[Pixi'VN] Error importing data", e);
2332
2388
  }
2333
- } catch (e) {
2334
- console.error("[Pixi'VN] Error importing data", e);
2335
- }
2389
+ });
2336
2390
  }
2337
2391
  };
2338
2392
  /**
@@ -2506,11 +2560,11 @@ var DialogueBaseModel = class {
2506
2560
 
2507
2561
  // src/decorators/LabelDecorator.ts
2508
2562
  var registeredLabels = {};
2509
- function newLabel(id, steps, onStepRun) {
2563
+ function newLabel(id, steps, props) {
2510
2564
  if (registeredLabels[id]) {
2511
2565
  console.info(`[Pixi'VN] Label ${id} already exists, it will be overwritten`);
2512
2566
  }
2513
- let label = new Label(id, steps, onStepRun);
2567
+ let label = new Label(id, steps, props);
2514
2568
  registeredLabels[id] = label;
2515
2569
  return label;
2516
2570
  }
@@ -2577,15 +2631,13 @@ var MoveTicker = class extends TickerBase {
2577
2631
  let ySpeed = 1;
2578
2632
  if (args.speed) {
2579
2633
  if (typeof args.speed === "number") {
2580
- xSpeed = args.speed;
2581
- ySpeed = args.speed;
2634
+ xSpeed = this.speedConvert(args.speed);
2635
+ ySpeed = this.speedConvert(args.speed);
2582
2636
  } else {
2583
- xSpeed = args.speed.x;
2584
- ySpeed = args.speed.y;
2637
+ xSpeed = this.speedConvert(args.speed.x);
2638
+ ySpeed = this.speedConvert(args.speed.y);
2585
2639
  }
2586
2640
  }
2587
- xSpeed /= 60;
2588
- ySpeed /= 60;
2589
2641
  let destination = args.destination;
2590
2642
  let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
2591
2643
  if (typeof tagToRemoveAfter2 === "string") {
@@ -2625,7 +2677,10 @@ var MoveTicker = class extends TickerBase {
2625
2677
  }
2626
2678
  });
2627
2679
  if (args.speedProgression)
2628
- updateTickerProgression(args, "speed", args.speedProgression);
2680
+ updateTickerProgression(args, "speed", args.speedProgression, this.speedConvert);
2681
+ }
2682
+ speedConvert(speed) {
2683
+ return speed / 6;
2629
2684
  }
2630
2685
  };
2631
2686
  MoveTicker = __decorateClass([
@@ -2633,7 +2688,7 @@ MoveTicker = __decorateClass([
2633
2688
  ], MoveTicker);
2634
2689
  var RotateTicker = class extends TickerBase {
2635
2690
  fn(ticker, args, tags, tickerId) {
2636
- let speed = (args.speed === void 0 ? 1 : args.speed) / 60;
2691
+ let speed = this.speedConvert(args.speed === void 0 ? 1 : args.speed);
2637
2692
  let clockwise = args.clockwise === void 0 ? true : args.clockwise;
2638
2693
  let tagToRemoveAfter2 = args.tagToRemoveAfter || [];
2639
2694
  if (typeof tagToRemoveAfter2 === "string") {
@@ -2661,7 +2716,10 @@ var RotateTicker = class extends TickerBase {
2661
2716
  }
2662
2717
  });
2663
2718
  if (args.speedProgression)
2664
- updateTickerProgression(args, "speed", args.speedProgression);
2719
+ updateTickerProgression(args, "speed", args.speedProgression, this.speedConvert);
2720
+ }
2721
+ speedConvert(speed) {
2722
+ return speed / 60;
2665
2723
  }
2666
2724
  };
2667
2725
  RotateTicker = __decorateClass([
@@ -2672,7 +2730,7 @@ RotateTicker = __decorateClass([
2672
2730
  var juliette = new CharacterBaseModel2("___pixivn_juliette___", {
2673
2731
  name: "Juliette",
2674
2732
  age: 25,
2675
- icon: "https://firebasestorage.googleapis.com/v0/b/pixi-vn.appspot.com/o/public%2Fcharacters%2Fjuliette-square.webp?alt=media&token=5856ae7b-d99e-4563-86ec-cbc48cc9c6b4",
2733
+ icon: "https://firebasestorage.googleapis.com/v0/b/pixi-vn.appspot.com/o/public%2Fcharacters%2Fjuliette-square.webp?alt=media",
2676
2734
  color: "#ac0086"
2677
2735
  });
2678
2736
  saveCharacter(juliette);
@@ -2708,10 +2766,16 @@ var baseCanvasElementTestLabel = newLabel(
2708
2766
  removeCanvasElement("container");
2709
2767
  setDialogue({
2710
2768
  character: juliette,
2711
- text: `Here's what's going to happen: I'm going to create some text elements with different styles and put them on the stage.
2769
+ text: `Here's what's going to happen: I'm going to create some CanvasText with different styles and put them on the stage.
2712
2770
  But it will generate a warn message, because the FillGradient or FillPattern has not yet been supported by the Pixi\u2019VN ( you can see the status of the issue here: [#76](https://github.com/DRincs-Productions/pixi-vn/issues/76)).`
2713
2771
  });
2714
- const basicText = new CanvasText({ text: "Basic text in pixi" });
2772
+ const basicStyle = new TextStyle({
2773
+ fill: "#ffffff"
2774
+ });
2775
+ const basicText = new CanvasText({
2776
+ text: "Basic text in pixi",
2777
+ style: basicStyle
2778
+ });
2715
2779
  basicText.x = 50;
2716
2780
  basicText.y = 100;
2717
2781
  GameWindowManager.addCanvasElement("basicText", basicText);
@@ -2729,7 +2793,7 @@ But it will generate a warn message, because the FillGradient or FillPattern has
2729
2793
  fill: { fill },
2730
2794
  stroke: { color: "#4a1850", width: 5, join: "round" },
2731
2795
  dropShadow: {
2732
- color: "#000000",
2796
+ color: "#ff5f74",
2733
2797
  blur: 4,
2734
2798
  angle: Math.PI / 6,
2735
2799
  distance: 6