@rpgjs/client 4.1.3 → 4.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/browser/{React-da18564b.js → React-f6f9b1de.js} +25 -0
  3. package/browser/index-e74a289f.js +44225 -0
  4. package/browser/manifest.json +10 -1
  5. package/browser/rpg.client.js +33 -44122
  6. package/browser/rpg.client.umd.cjs +470 -341
  7. package/lib/Effects/TransitionScene.d.ts +4 -3
  8. package/lib/Effects/TransitionScene.js +4 -2
  9. package/lib/Effects/TransitionScene.js.map +1 -1
  10. package/lib/GameEngine.d.ts +1 -1
  11. package/lib/GameEngine.js +4 -1
  12. package/lib/GameEngine.js.map +1 -1
  13. package/lib/Gui/Gui.d.ts +2 -1
  14. package/lib/Gui/Gui.js +7 -5
  15. package/lib/Gui/Gui.js.map +1 -1
  16. package/lib/Gui/React.d.ts +1 -0
  17. package/lib/Gui/React.js +23 -0
  18. package/lib/Gui/React.js.map +1 -1
  19. package/lib/Gui/Vue.js +21 -2
  20. package/lib/Gui/Vue.js.map +1 -1
  21. package/lib/KeyboardControls.d.ts +40 -14
  22. package/lib/KeyboardControls.js +42 -15
  23. package/lib/KeyboardControls.js.map +1 -1
  24. package/lib/Presets/AnimationSpritesheet.d.ts +3 -3
  25. package/lib/Presets/AnimationSpritesheet.js +7 -3
  26. package/lib/Presets/AnimationSpritesheet.js.map +1 -1
  27. package/lib/Renderer.d.ts +13 -5
  28. package/lib/Renderer.js +40 -16
  29. package/lib/Renderer.js.map +1 -1
  30. package/lib/Resources.js.map +1 -1
  31. package/lib/RpgClientEngine.d.ts +10 -4
  32. package/lib/RpgClientEngine.js +26 -17
  33. package/lib/RpgClientEngine.js.map +1 -1
  34. package/lib/Scene/Map.d.ts +4 -5
  35. package/lib/Scene/Map.js +6 -4
  36. package/lib/Scene/Map.js.map +1 -1
  37. package/lib/Scene/Scene.d.ts +7 -2
  38. package/lib/Scene/Scene.js +9 -3
  39. package/lib/Scene/Scene.js.map +1 -1
  40. package/lib/Tilemap/index.d.ts +4 -3
  41. package/lib/Tilemap/index.js +7 -3
  42. package/lib/Tilemap/index.js.map +1 -1
  43. package/lib/clientEntryPoint.js +5 -5
  44. package/lib/clientEntryPoint.js.map +1 -1
  45. package/lib/index.d.ts +3 -0
  46. package/lib/index.js +3 -0
  47. package/lib/index.js.map +1 -1
  48. package/lib/inject.d.ts +23 -0
  49. package/lib/inject.js +30 -0
  50. package/lib/inject.js.map +1 -0
  51. package/package.json +6 -6
  52. package/src/Effects/TransitionScene.ts +3 -1
  53. package/src/GameEngine.ts +2 -2
  54. package/src/Gui/Gui.ts +5 -5
  55. package/src/Gui/React.ts +26 -1
  56. package/src/Gui/Vue.ts +24 -6
  57. package/src/KeyboardControls.ts +43 -15
  58. package/src/Presets/AnimationSpritesheet.ts +9 -4
  59. package/src/Renderer.ts +44 -19
  60. package/src/Resources.ts +0 -1
  61. package/src/RpgClientEngine.ts +29 -18
  62. package/src/Scene/Map.ts +8 -7
  63. package/src/Scene/Scene.ts +8 -4
  64. package/src/Tilemap/index.ts +6 -4
  65. package/src/clientEntryPoint.ts +6 -4
  66. package/src/index.ts +4 -1
  67. package/src/inject.ts +34 -0
@@ -1 +1 @@
1
- {"version":3,"file":"Map.js","sourceRoot":"","sources":["../../src/Scene/Map.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Map.js","sourceRoot":"","sources":["../../src/Scene/Map.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { InjectContext } from '@rpgjs/common';
1
2
  import RpgSprite from '../Sprite/Character.js';
2
3
  import { Animation } from '../Effects/Animation.js';
3
4
  import { Observable, Subject } from 'rxjs';
@@ -20,12 +21,16 @@ export interface SceneSpriteLogic {
20
21
  prevParamsChanged: object;
21
22
  }
22
23
  export declare abstract class Scene {
23
- game: GameEngineClient;
24
+ protected context: InjectContext;
24
25
  protected objects: Map<string, RpgComponent>;
25
26
  protected animationLayer: Container;
26
27
  private controls;
27
28
  private animations;
28
29
  private _data;
30
+ /**
31
+ * @deprecated Use `inject(GameEngineClient)` instead. Will be removed in v5
32
+ */
33
+ game: GameEngineClient;
29
34
  /**
30
35
  * Listen to the movement of objects on stage
31
36
  *
@@ -51,7 +56,7 @@ export declare abstract class Scene {
51
56
  readonly objectsMoving: Subject<{
52
57
  [key: string]: any;
53
58
  }>;
54
- constructor(game: GameEngineClient);
59
+ constructor(context: InjectContext);
55
60
  /**
56
61
  * Listen to all the synchronized values of the scene with the server
57
62
  *
@@ -1,18 +1,25 @@
1
1
  import { RpgPlugin, HookClient, DefaultInput } from '@rpgjs/common';
2
+ import { KeyboardControls } from '../KeyboardControls.js';
2
3
  import { Animation } from '../Effects/Animation.js';
3
4
  import { BehaviorSubject, Subject } from 'rxjs';
5
+ import { GameEngineClient } from '../GameEngine.js';
4
6
  import { Container } from 'pixi.js';
5
7
  import { RpgGui } from '../Gui/Gui.js';
6
8
  export class Scene {
7
- constructor(game) {
8
- this.game = game;
9
+ constructor(context) {
10
+ this.context = context;
9
11
  this.objects = new Map();
10
12
  this.animationLayer = new Container();
13
+ this.controls = this.context.inject(KeyboardControls);
11
14
  this.animations = [];
12
15
  this._data = new BehaviorSubject({
13
16
  data: {},
14
17
  partial: {}
15
18
  });
19
+ /**
20
+ * @deprecated Use `inject(GameEngineClient)` instead. Will be removed in v5
21
+ */
22
+ this.game = this.context.inject(GameEngineClient);
16
23
  /**
17
24
  * Listen to the movement of objects on stage
18
25
  *
@@ -37,7 +44,6 @@ export class Scene {
37
44
  */
38
45
  this.objectsMoving = new Subject();
39
46
  const { globalConfig } = this.game.clientEngine;
40
- this.controls = this.game.clientEngine.controls;
41
47
  const mergeInputs = {
42
48
  ...DefaultInput,
43
49
  ...(globalConfig.inputs || {})
@@ -1 +1 @@
1
- {"version":3,"file":"Scene.js","sourceRoot":"","sources":["../../src/Scene/Scene.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Scene.js","sourceRoot":"","sources":["../../src/Scene/Scene.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAiB,MAAM,eAAe,CAAA;AAClF,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAEtD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAChD,OAAO,EAAE,eAAe,EAAc,OAAO,EAAE,MAAM,MAAM,CAAA;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAGhD,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AACnC,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAkBnC,MAAM,OAAgB,KAAK;IA2CvB,YAAsB,OAAsB;QAAtB,YAAO,GAAP,OAAO,CAAe;QA1ClC,YAAO,GAA8B,IAAI,GAAG,EAAE,CAAA;QAC9C,mBAAc,GAAc,IAAI,SAAS,EAAE,CAAA;QAE7C,aAAQ,GAAqB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAA;QAClE,eAAU,GAAgB,EAAE,CAAA;QAE5B,UAAK,GAAyC,IAAI,eAAe,CAAC;YACtE,IAAI,EAAE,EAAE;YACR,OAAO,EAAE,EAAE;SACd,CAAC,CAAA;QAEF;;WAEG;QACI,SAAI,GAAqB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAA;QAErE;;;;;;;;;;;;;;;;;;;;;WAqBG;QACa,kBAAa,GAExB,IAAI,OAAO,EAAE,CAAA;QAGd,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAA;QAC/C,MAAM,WAAW,GAAG;YAChB,GAAG,YAAY;YACf,GAAG,CAAC,YAAY,CAAC,MAAM,IAAI,EAAE,CAAC;SACjC,CAAA;QACD,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,IAAI,WAAW,CAAC,CAAA;QACnD,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;IAC/B,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACH,IAAI,YAAY;QACZ,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAA;IACpC,CAAC;IAEO,oBAAoB,CAAC,KAAuB,EAAE,MAAoB,EAAE,MAAe;QACvF,IAAI,IAAI,CAAC,cAAc;YAAE,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;QACnE,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,IAAI,CAAC,CAAA;IAClE,CAAC;IAEA,gBAAgB;IACjB,MAAM,CAAC,GAAyB;QAC5B,IAAI,CAAC,GAAG,EAAE;YACN,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;YAClC,OAAM;SACT;QACD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;QACrB,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,CAAA;QAC5D,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACxB,CAAC;IAEA,gBAAgB;IACjB,IAAI,CAAC,IAAY,EAAE,SAAiB,EAAE,UAAkB,EAAE,KAAa;QACnE,MAAM,YAAY,GAAG;YACjB,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE;YAC/B,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM;YACnB,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;SAC3B,CAAA;QACD,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAA;QAClC,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,MAAM,CAAA;QACpD,MAAM,YAAY,GAAG,EAAE,CAAA;QACvB,KAAK,IAAI,GAAG,IAAI,YAAY,EAAE;YAC1B,MAAM,GAAG,GAAQ,YAAY,CAAC,GAAG,CAAC,CAAC,MAAM,CAAA;YACzC,MAAM,YAAY,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,aAAa,CAAA;YACpD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;gBACzB,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;gBACvC,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;aAC/C;iBACI;gBACD,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;gBACrC,IAAI,CAAC,MAAM,EAAE,MAAM;oBAAE,OAAM;gBAC3B,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,CAAC,CAAA;gBAC9D,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;gBAClD,IAAI,GAAG,CAAC,MAAM;oBAAE,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAA;aAC7C;SACJ;QACD,IAAI,SAAS,GAAG,aAAa,CAAC,IAAI,EAAE;YAChC,aAAa,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;gBAC/B,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE;oBACpB,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAA;iBACzB;YACL,CAAC,CAAC,CAAA;SACL;QACD,KAAK,IAAI,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE;YACnC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;SAC/B;QACD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QACjB,IAAI,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,MAAM,EAAE;YACpC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;SACxC;QACD,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;IAC9C,CAAC;IAMD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiDG;IACH,aAAa,CAAC,EACV,OAAO,EACP,aAAa,EACb,QAAQ,EACR,CAAC,GAAG,CAAC,EACL,CAAC,GAAG,CAAC,EACL,IAAI,GAAG,KAAK,EACZ,cAAc,GAAG,KAAK,EASzB;QACG,IAAI,cAAc,IAAI,QAAQ,EAAE;YAC5B,QAAQ,CAAC,aAAa,CAAC,OAAO,EAAE,aAAa,CAAC,CAAA;YAC9C,OAAM;SACT;QACD,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,OAAO,CAAC,CAAA;QACxC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;QACvC,IAAI,CAAC,IAAI,EAAE;YACP,SAAS,CAAC,QAAQ,GAAG,GAAG,EAAE;gBACtB,SAAS,CAAC,IAAI,EAAE,CAAA;YACpB,CAAC,CAAA;SACJ;QACD,IAAI,QAAQ,EAAE;YACV,SAAS,CAAC,QAAQ,GAAG,QAAQ,CAAA;SAChC;aACI;YACD,SAAS,CAAC,CAAC,GAAG,CAAC,CAAA;YACf,SAAS,CAAC,CAAC,GAAG,CAAC,CAAA;SAClB;QACD,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;QAC7B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QAC/B,OAAO,SAAS,CAAA;IACpB,CAAC;IAEA;;;;;;;;MAQE;IACH,SAAS,CAAC,EAAU,IAAI,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA,CAAC,CAAC;IACnD,SAAS,CAAC,EAAU;QAChB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IAC/B,CAAC;IAEA;;;;;;;MAOE;IACH,gBAAgB;QACZ,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IAC/C,CAAC;IAED,QAAQ;IACR,MAAM,KAAI,CAAC;IACX,MAAM,KAAI,CAAC;IACX,SAAS,CAAC,GAAG,IAAG,CAAC;IACjB,MAAM,CAAC,CAAS,IAAG,CAAC;IACpB,WAAW,CAAC,MAAiB,IAAG,CAAC;IACjC,cAAc,CAAC,MAAiB,IAAG,CAAC;CACvC"}
@@ -1,15 +1,15 @@
1
+ import { InjectContext } from '@rpgjs/common';
1
2
  import ImageLayer from './ImageLayer.js';
2
3
  import TileLayer from './TileLayer.js';
3
4
  import TileSet from './TileSet.js';
4
5
  import { TiledMap, Layer } from '@rpgjs/tiled';
5
- import { RpgRenderer } from '../Renderer.js';
6
6
  import { Container, Graphics } from 'pixi.js';
7
7
  export interface MapInfo extends TiledMap {
8
8
  layers: Layer[];
9
9
  }
10
10
  export default class TileMap extends Container {
11
+ private context;
11
12
  private data;
12
- private renderer;
13
13
  background: Graphics;
14
14
  tilewidth: number;
15
15
  tileheight: number;
@@ -20,7 +20,8 @@ export default class TileMap extends Container {
20
20
  };
21
21
  private tilesLayer;
22
22
  private frameTile;
23
- constructor(data: MapInfo, renderer: RpgRenderer);
23
+ private renderer;
24
+ constructor(context: InjectContext, data: MapInfo);
24
25
  getData(): MapInfo;
25
26
  setBackgroundColor(color: string): void;
26
27
  private create;
@@ -4,13 +4,14 @@ import TileLayer from './TileLayer.js';
4
4
  import TileSet from './TileSet.js';
5
5
  import { log } from '../Logger.js';
6
6
  import { TiledLayerType } from '@rpgjs/tiled';
7
+ import { RpgRenderer } from '../Renderer.js';
7
8
  import { Container, Graphics } from 'pixi.js';
8
9
  const { intersection } = Utils;
9
10
  export default class TileMap extends Container {
10
- constructor(data, renderer) {
11
+ constructor(context, data) {
11
12
  super();
13
+ this.context = context;
12
14
  this.data = data;
13
- this.renderer = renderer;
14
15
  this.background = new Graphics();
15
16
  this.tilewidth = 0;
16
17
  this.tileheight = 0;
@@ -19,6 +20,7 @@ export default class TileMap extends Container {
19
20
  this.layers = {};
20
21
  this.tilesLayer = new Container();
21
22
  this.frameTile = 0;
23
+ this.renderer = this.context.inject(RpgRenderer);
22
24
  this.x = 0;
23
25
  this.y = 0;
24
26
  this.create(data);
@@ -84,7 +86,9 @@ export default class TileMap extends Container {
84
86
  // if (yObject - tile.y >= height) {
85
87
  // return false
86
88
  // }
87
- const zIntersection = intersection([zObject, zObject + height], [realZ, realZ + tile.height]);
89
+ // Always get tile.height for height. TODO: Fix this the height of the character. To be seen according to future implementations...
90
+ // Discussion: https://community.rpgjs.dev/d/250-rpgjs-v420/6
91
+ const zIntersection = intersection([zObject, zObject + tile.height /** Old code: height */], [realZ, realZ + tile.height]);
88
92
  if (!zIntersection) {
89
93
  return true;
90
94
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Tilemap/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Tilemap/index.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { HookClient, loadModules } from '@rpgjs/common';
2
- import { GameEngineClient } from './GameEngine.js';
1
+ import { InjectContext, HookClient, loadModules } from '@rpgjs/common';
3
2
  import { RpgClientEngine } from './RpgClientEngine.js';
3
+ import { setInject } from './inject.js';
4
4
  export default (modules, options) => {
5
5
  if (!options.globalConfig)
6
6
  options.globalConfig = {};
@@ -41,8 +41,8 @@ export default (modules, options) => {
41
41
  engine: relationsEngine
42
42
  }
43
43
  });
44
- const gameEngine = new GameEngineClient();
45
- const clientEngine = new RpgClientEngine(gameEngine, options);
46
- return clientEngine;
44
+ const context = new InjectContext();
45
+ setInject(context);
46
+ return context.inject(RpgClientEngine, [options]);
47
47
  };
48
48
  //# sourceMappingURL=clientEntryPoint.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"clientEntryPoint.js","sourceRoot":"","sources":["../src/clientEntryPoint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAc,MAAM,eAAe,CAAA;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAgGnD,eAAe,CAAC,OAAqB,EAAE,OAAmC,EAAmB,EAAE;IAE3F,IAAI,CAAC,OAAO,CAAC,YAAY;QAAE,OAAO,CAAC,YAAY,GAAG,EAAE,CAAA;IAEpD,OAAO,GAAG;QACN,GAAG,OAAO,CAAC,YAAY;QACvB,GAAG,OAAO;KACb,CAAA;IAED,MAAM,SAAS,GAAG;QACd,MAAM,EAAE,UAAU,CAAC,SAAS;QAC5B,SAAS,EAAE,UAAU,CAAC,YAAY;QAClC,QAAQ,EAAE,UAAU,CAAC,YAAY;QACjC,SAAS,EAAE,UAAU,CAAC,aAAa;QACnC,MAAM,EAAE,UAAU,CAAC,UAAU;KAChC,CAAA;IAED,MAAM,YAAY,GAAG;QACjB,WAAW,EAAE,UAAU,CAAC,cAAc;QACtC,cAAc,EAAE,UAAU,CAAC,iBAAiB;QAC5C,eAAe,EAAE,UAAU,CAAC,kBAAkB;QAC9C,cAAc,EAAE,UAAU,CAAC,iBAAiB;QAC5C,YAAY,EAAE,UAAU,CAAC,eAAe;QACxC,SAAS,EAAE,UAAU,CAAC,cAAc;QACpC,MAAM,EAAE,UAAU,CAAC,SAAS;KAC/B,CAAA;IAED,MAAM,eAAe,GAAG;QACpB,OAAO,EAAE,UAAU,CAAC,KAAK;QACzB,MAAM,EAAE,UAAU,CAAC,IAAI;QACvB,WAAW,EAAE,UAAU,CAAC,SAAS;QACjC,YAAY,EAAE,UAAU,CAAC,UAAU;QACnC,cAAc,EAAE,UAAU,CAAC,cAAc;QACzC,OAAO,EAAE,UAAU,CAAC,SAAS;QAC7B,cAAc,EAAE,UAAU,CAAC,YAAY;KAC1C,CAAA;IAED,WAAW,CAAC,OAAO,EAAE;QACjB,IAAI,EAAE,QAAQ;QACd,SAAS,EAAE;YACP,MAAM,EAAE,SAAS;YACjB,QAAQ,EAAE,YAAY;YACtB,MAAM,EAAE,eAAe;SAC1B;KACJ,CAAC,CAAA;IAEF,MAAM,UAAU,GAAG,IAAI,gBAAgB,EAAE,CAAA;IACzC,MAAM,YAAY,GAAG,IAAI,eAAe,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;IAC7D,OAAO,YAAY,CAAA;AACvB,CAAC,CAAA"}
1
+ {"version":3,"file":"clientEntryPoint.js","sourceRoot":"","sources":["../src/clientEntryPoint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,WAAW,EAAc,MAAM,eAAe,CAAA;AAElF,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAgGpC,eAAe,CAAC,OAAqB,EAAE,OAAmC,EAAmB,EAAE;IAE3F,IAAI,CAAC,OAAO,CAAC,YAAY;QAAE,OAAO,CAAC,YAAY,GAAG,EAAE,CAAA;IAEpD,OAAO,GAAG;QACN,GAAG,OAAO,CAAC,YAAY;QACvB,GAAG,OAAO;KACb,CAAA;IAED,MAAM,SAAS,GAAG;QACd,MAAM,EAAE,UAAU,CAAC,SAAS;QAC5B,SAAS,EAAE,UAAU,CAAC,YAAY;QAClC,QAAQ,EAAE,UAAU,CAAC,YAAY;QACjC,SAAS,EAAE,UAAU,CAAC,aAAa;QACnC,MAAM,EAAE,UAAU,CAAC,UAAU;KAChC,CAAA;IAED,MAAM,YAAY,GAAG;QACjB,WAAW,EAAE,UAAU,CAAC,cAAc;QACtC,cAAc,EAAE,UAAU,CAAC,iBAAiB;QAC5C,eAAe,EAAE,UAAU,CAAC,kBAAkB;QAC9C,cAAc,EAAE,UAAU,CAAC,iBAAiB;QAC5C,YAAY,EAAE,UAAU,CAAC,eAAe;QACxC,SAAS,EAAE,UAAU,CAAC,cAAc;QACpC,MAAM,EAAE,UAAU,CAAC,SAAS;KAC/B,CAAA;IAED,MAAM,eAAe,GAAG;QACpB,OAAO,EAAE,UAAU,CAAC,KAAK;QACzB,MAAM,EAAE,UAAU,CAAC,IAAI;QACvB,WAAW,EAAE,UAAU,CAAC,SAAS;QACjC,YAAY,EAAE,UAAU,CAAC,UAAU;QACnC,cAAc,EAAE,UAAU,CAAC,cAAc;QACzC,OAAO,EAAE,UAAU,CAAC,SAAS;QAC7B,cAAc,EAAE,UAAU,CAAC,YAAY;KAC1C,CAAA;IAED,WAAW,CAAC,OAAO,EAAE;QACjB,IAAI,EAAE,QAAQ;QACd,SAAS,EAAE;YACP,MAAM,EAAE,SAAS;YACjB,QAAQ,EAAE,YAAY;YACtB,MAAM,EAAE,eAAe;SAC1B;KACJ,CAAC,CAAA;IAEF,MAAM,OAAO,GAAG,IAAI,aAAa,EAAE,CAAA;IACnC,SAAS,CAAC,OAAO,CAAC,CAAA;IAElB,OAAO,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC,CAAC,CAAA;AACrD,CAAC,CAAA"}
package/lib/index.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  export { Direction, Control, Input, PrebuiltGui, HookServer, HookClient, RpgPlugin, RpgModule, RpgCommonPlayer as RpgSpriteLogic } from '@rpgjs/common';
2
2
  export { default as entryPoint } from './clientEntryPoint.js';
3
3
  export type { RpgClient, RpgSceneHooks, RpgSceneMapHooks, RpgSpriteHooks, RpgClientEngineHooks } from './RpgClient.js';
4
+ export { RpgRenderer } from './Renderer.js';
4
5
  export { Scene as RpgScene } from './Scene/Scene.js';
5
6
  export { RpgClientEngine } from './RpgClientEngine.js';
6
7
  export { Spritesheet } from './Sprite/Spritesheet.js';
@@ -16,8 +17,10 @@ export { SceneMap as RpgSceneMap } from './Scene/Map.js';
16
17
  export { RpgGui } from './Gui/Gui.js';
17
18
  export { Timeline, Ease } from './Effects/Timeline.js';
18
19
  export { RpgComponent, RpgComponent as RpgSprite } from './Components/Component.js';
20
+ export { KeyboardControls } from './KeyboardControls.js';
19
21
  export { World, room } from 'simple-room-client';
20
22
  export declare const RpgResource: {
21
23
  spritesheets: Map<string, any>;
22
24
  sounds: Map<any, any>;
23
25
  };
26
+ export { inject } from './inject.js';
package/lib/index.js CHANGED
@@ -1,5 +1,6 @@
1
1
  export { Direction, Control, Input, PrebuiltGui, HookServer, HookClient, RpgPlugin, RpgModule, RpgCommonPlayer as RpgSpriteLogic } from '@rpgjs/common';
2
2
  export { default as entryPoint } from './clientEntryPoint.js';
3
+ export { RpgRenderer } from './Renderer.js';
3
4
  export { Scene as RpgScene } from './Scene/Scene.js';
4
5
  export { RpgClientEngine } from './RpgClientEngine.js';
5
6
  export { Spritesheet } from './Sprite/Spritesheet.js';
@@ -14,6 +15,7 @@ export { SceneMap as RpgSceneMap } from './Scene/Map.js';
14
15
  export { RpgGui } from './Gui/Gui.js';
15
16
  export { Timeline, Ease } from './Effects/Timeline.js';
16
17
  export { RpgComponent, RpgComponent as RpgSprite } from './Components/Component.js';
18
+ export { KeyboardControls } from './KeyboardControls.js';
17
19
  export { World, room } from 'simple-room-client';
18
20
  import { spritesheets } from './Sprite/Spritesheets.js';
19
21
  import { sounds } from './Sound/Sounds.js';
@@ -21,4 +23,5 @@ export const RpgResource = {
21
23
  spritesheets,
22
24
  sounds
23
25
  };
26
+ export { inject } from './inject.js';
24
27
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,eAAe,IAAI,cAAc,EAAE,MAAM,eAAe,CAAA;AACvJ,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAE1D,OAAO,EAAE,KAAK,IAAI,QAAQ,EAAE,MAAM,eAAe,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AACrC,OAAO,EAAE,MAAM,IAAI,cAAc,EAAE,MAAO,QAAQ,CAAA;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,KAAK,OAAO,MAAM,gCAAgC,CAAA;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAA;AACxD,OAAO,EAAE,SAAS,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEjE,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAE,QAAQ,IAAI,WAAW,EAAE,MAAM,aAAa,CAAA;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,YAAY,IAAI,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAChF,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAA;AAEhD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AACvC,MAAM,CAAC,MAAM,WAAW,GAAG;IACvB,YAAY;IACZ,MAAM;CACT,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,eAAe,IAAI,cAAc,EAAE,MAAM,eAAe,CAAA;AACvJ,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAE1D,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AACxC,OAAO,EAAE,KAAK,IAAI,QAAQ,EAAE,MAAM,eAAe,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AACrC,OAAO,EAAE,MAAM,IAAI,cAAc,EAAE,MAAO,QAAQ,CAAA;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,KAAK,OAAO,MAAM,gCAAgC,CAAA;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAA;AACxD,OAAO,EAAE,SAAS,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEjE,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAE,QAAQ,IAAI,WAAW,EAAE,MAAM,aAAa,CAAA;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,YAAY,IAAI,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAChF,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAA;AAEhD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AACvC,MAAM,CAAC,MAAM,WAAW,GAAG;IACvB,YAAY;IACZ,MAAM;CACT,CAAA;AACD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA"}
@@ -0,0 +1,23 @@
1
+ import { InjectContext } from "@rpgjs/common";
2
+ /**
3
+ * Dependency injection function for RPGJS client side.
4
+ *
5
+ * This client-side `inject` function is used to retrieve instances of various classes within the RPGJS framework,
6
+ * specifically for client-side modules. It enables developers to access singleton instances of key classes such as
7
+ * `RpgClientEngine`, `KeyboardControls`, and `RpgRenderer`. Utilizing `inject` on the client side promotes modular
8
+ * and maintainable code by simplifying dependency management.
9
+ *
10
+ * @template T The class type that you want to retrieve an instance of, relevant to client-side modules.
11
+ * @returns {T} Returns the singleton instance of the specified class, ensuring only one instance is used client-side.
12
+ * @since 4.2.0
13
+ *
14
+ * @example
15
+ * ```ts
16
+ * // Example of injecting the RpgClientEngine
17
+ * import { inject, RpgClientEngine } from '@rpgjs/client'
18
+ * const client = inject(RpgClientEngine)
19
+ * ```
20
+ */
21
+ export declare function inject<T>(service: new (...args: any[]) => T, args?: any[]): T;
22
+ export declare function setInject(context: InjectContext): void;
23
+ export declare function clearInject(): void;
package/lib/inject.js ADDED
@@ -0,0 +1,30 @@
1
+ let instanceContext = null;
2
+ /**
3
+ * Dependency injection function for RPGJS client side.
4
+ *
5
+ * This client-side `inject` function is used to retrieve instances of various classes within the RPGJS framework,
6
+ * specifically for client-side modules. It enables developers to access singleton instances of key classes such as
7
+ * `RpgClientEngine`, `KeyboardControls`, and `RpgRenderer`. Utilizing `inject` on the client side promotes modular
8
+ * and maintainable code by simplifying dependency management.
9
+ *
10
+ * @template T The class type that you want to retrieve an instance of, relevant to client-side modules.
11
+ * @returns {T} Returns the singleton instance of the specified class, ensuring only one instance is used client-side.
12
+ * @since 4.2.0
13
+ *
14
+ * @example
15
+ * ```ts
16
+ * // Example of injecting the RpgClientEngine
17
+ * import { inject, RpgClientEngine } from '@rpgjs/client'
18
+ * const client = inject(RpgClientEngine)
19
+ * ```
20
+ */
21
+ export function inject(service, args = []) {
22
+ return instanceContext.inject(service, args);
23
+ }
24
+ export function setInject(context) {
25
+ instanceContext = context;
26
+ }
27
+ export function clearInject() {
28
+ instanceContext = null;
29
+ }
30
+ //# sourceMappingURL=inject.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inject.js","sourceRoot":"","sources":["../src/inject.ts"],"names":[],"mappings":"AAEA,IAAI,eAAe,GAAyB,IAAI,CAAA;AAEhD;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,MAAM,CAAI,OAAkC,EAAE,OAAc,EAAE;IAC1E,OAAO,eAAgB,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,OAAsB;IAC5C,eAAe,GAAG,OAAO,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,WAAW;IACvB,eAAe,GAAG,IAAI,CAAA;AAC1B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rpgjs/client",
3
- "version": "4.1.3",
3
+ "version": "4.2.1",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "types": "./lib/index.d.ts",
@@ -29,8 +29,8 @@
29
29
  "dependencies": {
30
30
  "@nanostores/react": "^0.7.1",
31
31
  "@pixi/tilemap": "^4.0.0",
32
- "@rpgjs/common": "^4.1.3",
33
- "@rpgjs/tiled": "^4.0.5",
32
+ "@rpgjs/common": "^4.2.1",
33
+ "@rpgjs/tiled": "^4.2.1",
34
34
  "@rpgjs/types": "^4.0.5",
35
35
  "@types/howler": "2.2.7",
36
36
  "howler": "2.2.3",
@@ -41,13 +41,13 @@
41
41
  "react": "^18.2.0",
42
42
  "react-dom": "^18.2.0",
43
43
  "rxjs": "7.8.0",
44
- "simple-room-client": "^2.0.6",
44
+ "simple-room-client": "^3.0.0",
45
45
  "vue": "^3.2.47"
46
46
  },
47
- "gitHead": "dcefcd5489c132b5ec83a2eb3a2e941fa29231c9",
47
+ "gitHead": "cb341564bf64b7afdd36b12972f51a28870917a3",
48
48
  "devDependencies": {
49
49
  "@babel/types": "^7.22.11",
50
- "@rpgjs/compiler": "^4.1.3",
50
+ "@rpgjs/compiler": "^4.2.1",
51
51
  "@types/css-font-loading-module": "^0.0.8",
52
52
  "@types/node": "^18.16.0",
53
53
  "@types/react": "^18.2.25",
@@ -3,14 +3,16 @@ import { RpgClientEngine } from "../RpgClientEngine";
3
3
  import { FrameOptions } from "../Sprite/Spritesheet";
4
4
  import { Timeline } from "./Timeline";
5
5
  import { Container } from "pixi.js"
6
+ import { InjectContext } from "@rpgjs/common";
6
7
 
7
8
  export class TransitionScene {
8
9
  private frameIndex: number = 0
9
10
  private animations: FrameOptions[][] = []
10
11
  private updateSubscription: Subscription
11
12
  private complete: Function = () => {}
13
+ private clientEngine: RpgClientEngine = this.context.inject(RpgClientEngine)
12
14
 
13
- constructor(private clientEngine: RpgClientEngine, private container: Container) { }
15
+ constructor(private context: InjectContext, private container: Container) { }
14
16
 
15
17
  addFadeIn() {
16
18
  return this.addFading(1, 0)
package/src/GameEngine.ts CHANGED
@@ -49,8 +49,8 @@ export class GameEngineClient extends RpgCommonGame {
49
49
  }
50
50
  }
51
51
 
52
- constructor() {
53
- super(GameSide.Client)
52
+ initialize() {
53
+ super.initialize(GameSide.Client)
54
54
  }
55
55
 
56
56
  private _get(prop: '_objects' | '_shapes', id: string): ObjectFixture | null {
package/src/Gui/Gui.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { RpgCommonPlayer, Utils } from '@rpgjs/common'
1
+ import { InjectContext, RpgCommonPlayer, Utils } from '@rpgjs/common'
2
2
  import { RpgSound } from '../Sound/RpgSound'
3
3
  import { RpgClientEngine, RpgResource } from '../index'
4
4
  import { RpgRenderer } from '../Renderer'
@@ -36,10 +36,10 @@ export class Gui {
36
36
  public currentScene: Scene | null = null
37
37
  private librariesInstances: any[] = []
38
38
 
39
- async _initialize(clientEngine: RpgClientEngine, guiEl: HTMLDivElement) {
40
- this.clientEngine = clientEngine
41
- this.renderer = clientEngine.renderer
42
- this.gameEngine = clientEngine.gameEngine
39
+ async _initialize(context: InjectContext, guiEl: HTMLDivElement) {
40
+ this.clientEngine = context.inject(RpgClientEngine)
41
+ this.renderer = context.inject(RpgRenderer)
42
+ this.gameEngine = context.inject(GameEngineClient)
43
43
  const { gui } = this.renderer.options
44
44
 
45
45
  for (let ui of gui) {
package/src/Gui/React.ts CHANGED
@@ -1,9 +1,10 @@
1
1
  import { createRoot } from 'react-dom/client';
2
2
  import { createElement, Fragment, useState, createContext, useEffect, useContext, useCallback, useSyncExternalStore, useRef } from 'react'
3
3
  import { RpgClientEngine } from '../RpgClientEngine';
4
- import { RpgRenderer } from '../Renderer';
4
+ import { EVENTS_MAP, RpgRenderer } from '../Renderer';
5
5
  import { BehaviorSubject, map, tap, combineLatest, Subject } from 'rxjs';
6
6
  import type { Gui } from './Gui';
7
+ import { inject } from '../inject';
7
8
 
8
9
  export { useStore } from '@nanostores/react'
9
10
  export const RpgReactContext = createContext({} as any)
@@ -51,6 +52,30 @@ export const useCurrentPlayer = () => {
51
52
  return useSyncExternalStore(subscribe, () => currentPlayerRef.current);
52
53
  }
53
54
 
55
+ export const useEventPropagator = () => {
56
+ const ref = useRef(null);
57
+ useEffect(() => {
58
+ if (ref.current) {
59
+ const element = ref.current as HTMLElement;
60
+ const eventListeners = {};
61
+ const renderer = inject(RpgRenderer)
62
+
63
+ EVENTS_MAP.MouseEvent.forEach(eventType => {
64
+ const listener = event => renderer.propagateEvent(event)
65
+ element.addEventListener(eventType, listener);
66
+ eventListeners[eventType] = listener;
67
+ });
68
+
69
+ return () => {
70
+ EVENTS_MAP.MouseEvent.forEach(eventType => {
71
+ element.removeEventListener(eventType, eventListeners[eventType]);
72
+ });
73
+ };
74
+ }
75
+ }, [ref]);
76
+ return ref
77
+ };
78
+
54
79
  export class ReactGui {
55
80
  private app: any
56
81
  private clientEngine: RpgClientEngine
package/src/Gui/Vue.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, resolveDynamicComponent as _resolveDynamicComponent, normalizeProps as _normalizeProps, guardReactiveProps as _guardReactiveProps, createBlock as _createBlock, mergeProps as _mergeProps, createCommentVNode as _createCommentVNode, normalizeStyle as _normalizeStyle, createElementVNode as _createElementVNode } from "vue"
2
2
  import { App, ComponentPublicInstance, createApp } from 'vue'
3
3
  import { RpgCommonPlayer, Utils } from '@rpgjs/common'
4
- import { RpgRenderer } from '../Renderer'
4
+ import { EVENTS_MAP, RpgRenderer } from '../Renderer'
5
5
  import { GameEngineClient } from '../GameEngine'
6
6
  import { RpgClientEngine } from '../RpgClientEngine'
7
7
  import type { Gui } from './Gui'
@@ -33,7 +33,7 @@ const _hoisted_1 = {
33
33
  style: { "position": "absolute", "top": "0", "left": "0" }
34
34
  }
35
35
  function render(_ctx, _cache) {
36
- return (_openBlock(), _createElementBlock("div", { }, [
36
+ return (_openBlock(), _createElementBlock("div", {}, [
37
37
  (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.fixedGui, (ui) => {
38
38
  return (_openBlock(), _createElementBlock(_Fragment, null, [
39
39
  (ui.display)
@@ -49,7 +49,7 @@ function render(_ctx, _cache) {
49
49
  return (_openBlock(), _createElementBlock("div", {
50
50
  style: _normalizeStyle(_ctx.tooltipPosition(tooltip.position))
51
51
  }, [
52
- (_openBlock(), _createBlock(_resolveDynamicComponent(ui.name), _mergeProps({ ...ui.data, spriteData: tooltip, style: { pointerEvents: 'auto' } }, {
52
+ (_openBlock(), _createBlock(_resolveDynamicComponent(ui.name), _mergeProps({ ...ui.data, spriteData: tooltip, style: { pointerEvents: 'auto' } }, {
53
53
  ref_for: true,
54
54
  ref: ui.name
55
55
  }), null, 16 /* FULL_PROPS */))
@@ -99,9 +99,6 @@ export class VueGui {
99
99
  methods: {
100
100
  tooltipPosition: parentGui.tooltipPosition.bind(parentGui),
101
101
  tooltipFilter: parentGui.tooltipFilter.bind(parentGui)
102
- },
103
- mounted() {
104
-
105
102
  }
106
103
  }
107
104
 
@@ -113,6 +110,27 @@ export class VueGui {
113
110
  this.app.component(ui.name, ui.gui)
114
111
  }
115
112
 
113
+ this.app.directive('propagate', {
114
+ mounted: (el, binding) => {
115
+ el.eventListeners = {};
116
+ EVENTS_MAP.MouseEvent.forEach(eventType => {
117
+ const callback = (ev) => {
118
+ this.renderer.propagateEvent(ev);
119
+ };
120
+ el.eventListeners[eventType] = callback;
121
+ el.addEventListener(eventType, callback);
122
+ });
123
+ },
124
+ unmounted(el, binding) {
125
+ EVENTS_MAP.MouseEvent.forEach(eventType => {
126
+ const callback = el.eventListeners[eventType];
127
+ if (callback) {
128
+ el.removeEventListener(eventType, callback);
129
+ }
130
+ });
131
+ }
132
+ })
133
+
116
134
  this.vm = this.app.mount(rootEl) as VueInstance
117
135
  this.renderer.app = this.app
118
136
  this.renderer.vm = this.vm