@rpgjs/common 3.0.0-beta.7 → 3.0.0-beta.8

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.
package/lib/Game.js CHANGED
@@ -62,8 +62,10 @@ class RpgCommonGame extends EventEmitter_1.EventEmitter {
62
62
  const player = this.world.getObject(playerId);
63
63
  if (!player)
64
64
  return player;
65
- if (!player.canMove)
65
+ if (!player.canMove) {
66
+ player.pendingMove = [];
66
67
  return player;
68
+ }
67
69
  const routesMove = [];
68
70
  while (player.pendingMove.length > 0) {
69
71
  const inputData = player.pendingMove.shift();
package/lib/Game.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Game.js","sourceRoot":"","sources":["../src/Game.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Game.js","sourceRoot":"","sources":["../src/Game.ts"],"names":[],"mappings":"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"}
package/lib/Hit.d.ts CHANGED
@@ -19,6 +19,11 @@ export interface HitObject {
19
19
  type?: string;
20
20
  name?: string;
21
21
  }
22
+ export declare enum HitType {
23
+ Box = "box",
24
+ Circle = "circle",
25
+ Polygon = "polygon"
26
+ }
22
27
  declare class HitClass {
23
28
  createObjectHitbox(x: number, y: number, z: number, w: number, h: number): SAT.Box;
24
29
  getHitbox(obj: HitObject, offset?: {
package/lib/Hit.js CHANGED
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.Hit = void 0;
6
+ exports.Hit = exports.HitType = void 0;
7
7
  const sat_1 = __importDefault(require("sat"));
8
8
  const Utils_1 = require("./Utils");
9
9
  var HitType;
@@ -11,7 +11,7 @@ var HitType;
11
11
  HitType["Box"] = "box";
12
12
  HitType["Circle"] = "circle";
13
13
  HitType["Polygon"] = "polygon";
14
- })(HitType || (HitType = {}));
14
+ })(HitType = exports.HitType || (exports.HitType = {}));
15
15
  class HitClass {
16
16
  createObjectHitbox(x, y, z, w, h) {
17
17
  return new sat_1.default.Box(new sat_1.default.Vector(x, y - z), w, h);
package/lib/Hit.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Hit.js","sourceRoot":"","sources":["../src/Hit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Hit.js","sourceRoot":"","sources":["../src/Hit.ts"],"names":[],"mappings":";;;;;;AAAA,8CAAqB;AACrB,mCAAsC;AAoBtC,IAAY,OAIX;AAJD,WAAY,OAAO;IACf,sBAAW,CAAA;IACX,4BAAiB,CAAA;IACjB,8BAAmB,CAAA;AACvB,CAAC,EAJW,OAAO,GAAP,eAAO,KAAP,eAAO,QAIlB;AAED,MAAM,QAAQ;IAEV,kBAAkB,CAAC,CAAS,EAAE,CAAS,EAAE,CAAS,EAAE,CAAS,EAAE,CAAS;QACpE,OAAO,IAAI,aAAG,CAAC,GAAG,CAAC,IAAI,aAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IACtD,CAAC;IAED,SAAS,CAAC,GAAc,EAAE,MAAiC;QAQvD,IAAI,MAAM,EAAE,IAAI,CAAA;QAChB,IAAI,CAAC,MAAM;YAAE,MAAM,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAA;QACpC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAA;QAC1B,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAA;QAC1B,IAAI,GAAG,CAAC,OAAO,EAAE;YACb,IAAI,GAAG,OAAO,CAAC,MAAM,CAAA;YACrB,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,GAAG,CAAC,CAAA;YAC5B,MAAM,GAAG,IAAI,aAAG,CAAC,MAAM,CAAC,IAAI,aAAG,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC,EAAE,MAAM,CAAC,CAAA;SAC1E;aACI,IAAI,GAAG,CAAC,OAAO,EAAE;YAClB,IAAI,GAAG,OAAO,CAAC,OAAO,CAAA;YACtB,MAAM,GAAG,IAAI,aAAG,CAAC,OAAO,CAAC,IAAI,aAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,aAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;SACzG;aACI,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,KAAK,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE;YACtD,IAAI,GAAG,OAAO,CAAC,GAAG,CAAA;YAClB,MAAM,GAAG,IAAI,aAAG,CAAC,GAAG,CAAC,IAAI,aAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;SACpE;aACI;YACD,MAAM,GAAG,IAAI,aAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;YAC7B,IAAI,GAAG,GAAG,CAAC,IAAI,CAAA;SAClB;QACD,OAAO;YACH,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,MAAM;YACN,IAAI;YACJ,IAAI,EAAE,GAAG,CAAC,IAAI;SACjB,CAAA;IACL,CAAC;IAED,iBAAiB,CAAC,IAAY,EAAE,IAAS,EAAE,IAAS;QAChD,IAAI,QAAQ,GAAG,KAAK,CAAA;QACpB,IAAI,oBAAY,CAAC,IAAI,EAAE,aAAG,CAAC,GAAG,CAAC;YAAE,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,CAAA;QACxD,IAAI,oBAAY,CAAC,IAAI,EAAE,aAAG,CAAC,GAAG,CAAC;YAAE,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,CAAA;QACxD,QAAQ,IAAI,EAAE;YACV,KAAK,OAAO,CAAC,GAAG;gBACZ,QAAQ,GAAG,aAAG,CAAC,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;gBACjD,MAAK;YACL,KAAK,OAAO,CAAC,MAAM;gBACf,QAAQ,GAAG,aAAG,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;gBAChD,MAAK;YACL,KAAK,OAAO,CAAC,OAAO;gBAChB,QAAQ,GAAG,aAAG,CAAC,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;gBACjD,MAAK;SACR;QACD,OAAO,QAAQ,CAAA;IACnB,CAAC;CACJ;AAEY,QAAA,GAAG,GAAG,IAAI,QAAQ,EAAE,CAAA"}
package/lib/Map.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import { HitObject } from './Hit';
2
2
  import { RpgShape } from './Shape';
3
3
  import { VirtualGrid } from './VirtualGrid';
4
+ import { RpgCommonWorldMaps } from './WorldMaps';
4
5
  export interface Tile {
5
6
  id: number;
6
7
  terrain: any[];
@@ -28,8 +29,16 @@ export interface LayerInfo {
28
29
  objects: HitObject[];
29
30
  tiles: Tile[];
30
31
  }
31
- export default class RpgCommonMap {
32
+ export declare class RpgCommonMap {
33
+ /**
34
+ * @title map id
35
+ * @readonly
36
+ * @prop {string} [id]
37
+ * @memberof Map
38
+ * */
39
+ readonly id: string;
32
40
  grid: VirtualGrid;
41
+ gridShapes: VirtualGrid;
33
42
  /**
34
43
  * @title Data of map
35
44
  * @prop {object} [data]
@@ -64,7 +73,27 @@ export default class RpgCommonMap {
64
73
  * @memberof RpgSceneMap
65
74
  * */
66
75
  layers: LayerInfo[];
67
- private shapes;
76
+ private worldMapParent;
77
+ /**
78
+ * Retrieves the X position of the map in the world (0 if no world assigned)
79
+ *
80
+ * @title World X Position
81
+ * @prop {number} [worldX]
82
+ * @readonly
83
+ * @since 3.0.0-beta.8
84
+ * @memberof Map
85
+ * */
86
+ get worldX(): number;
87
+ /**
88
+ * Retrieves the Y position of the map in the world (0 if no world assigned)
89
+ *
90
+ * @title World Y Position
91
+ * @prop {number} [worldY]
92
+ * @readonly
93
+ * @since 3.0.0-beta.8
94
+ * @memberof Map
95
+ * */
96
+ get worldY(): number;
68
97
  /**
69
98
  * Memorize the maps so you don't have to make a new request or open a file each time you load a map
70
99
  */
@@ -253,4 +282,33 @@ export default class RpgCommonMap {
253
282
  * @returns TileInfo
254
283
  */
255
284
  getTile(hitbox: any, x: number, y: number, z?: [number, number]): TileInfo;
285
+ /**
286
+ * Assign the map to a world
287
+
288
+ * @title Assign the map to a world
289
+ * @method map.setInWorldMaps(name)
290
+ * @param {RpgWorldMaps} worldMap world maps
291
+ * @since 3.0.0-beta.8
292
+ * @memberof Map
293
+ */
294
+ setInWorldMaps(worldMap: RpgCommonWorldMaps): void;
295
+ /**
296
+ * Remove this map from the world
297
+ * @title Remove this map from the world
298
+ * @method map.removeFromWorldMaps()
299
+ * @returns {boolean | undefined}
300
+ * @since 3.0.0-beta.8
301
+ * @memberof Map
302
+ */
303
+ removeFromWorldMaps(): boolean | undefined;
304
+ /**
305
+ * Recover the world attached to this map (`undefined` if no world attached)
306
+
307
+ * @title Get attached World
308
+ * @method map.getInWorldMaps()
309
+ * @return {RpgCommonWorldMaps | undefined}
310
+ * @since 3.0.0-beta.8
311
+ * @memberof Map
312
+ */
313
+ getInWorldMaps(): RpgCommonWorldMaps | undefined;
256
314
  }
package/lib/Map.js CHANGED
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RpgCommonMap = void 0;
3
4
  const Utils_1 = require("./Utils");
4
5
  const Shape_1 = require("./Shape");
5
6
  const Hit_1 = require("./Hit");
@@ -34,7 +35,34 @@ class RpgCommonMap {
34
35
  * @memberof RpgSceneMap
35
36
  * */
36
37
  this.layers = [];
37
- this.shapes = [];
38
+ /** @internal */
39
+ this.shapes = {};
40
+ }
41
+ /**
42
+ * Retrieves the X position of the map in the world (0 if no world assigned)
43
+ *
44
+ * @title World X Position
45
+ * @prop {number} [worldX]
46
+ * @readonly
47
+ * @since 3.0.0-beta.8
48
+ * @memberof Map
49
+ * */
50
+ get worldX() {
51
+ var _a, _b;
52
+ return ((_b = (_a = this.getInWorldMaps()) === null || _a === void 0 ? void 0 : _a.getMapInfo(this.id)) === null || _b === void 0 ? void 0 : _b.x) || 0;
53
+ }
54
+ /**
55
+ * Retrieves the Y position of the map in the world (0 if no world assigned)
56
+ *
57
+ * @title World Y Position
58
+ * @prop {number} [worldY]
59
+ * @readonly
60
+ * @since 3.0.0-beta.8
61
+ * @memberof Map
62
+ * */
63
+ get worldY() {
64
+ var _a, _b;
65
+ return ((_b = (_a = this.getInWorldMaps()) === null || _a === void 0 ? void 0 : _a.getMapInfo(this.id)) === null || _b === void 0 ? void 0 : _b.y) || 0;
38
66
  }
39
67
  /**
40
68
  * Memorize the maps so you don't have to make a new request or open a file each time you load a map
@@ -56,6 +84,7 @@ class RpgCommonMap {
56
84
  this.height = data.height;
57
85
  this.layers = data.layers;
58
86
  this.grid = new VirtualGrid_1.VirtualGrid(this.width, this.tileWidth, this.tileHeight).zoom(10);
87
+ this.gridShapes = new VirtualGrid_1.VirtualGrid(this.width, this.tileWidth, this.tileHeight).zoom(20);
59
88
  this._extractShapes();
60
89
  }
61
90
  /**
@@ -136,12 +165,15 @@ class RpgCommonMap {
136
165
  * @memberof Map
137
166
  */
138
167
  createShape(obj) {
139
- obj.name = (obj.name || Utils_1.generateUID());
168
+ const id = obj.name = (obj.name || Utils_1.generateUID());
140
169
  obj.properties = obj.properties || {};
141
170
  const shape = new Shape_1.RpgShape(obj);
142
- this.shapes.push(shape);
171
+ this.shapes[id] = shape;
172
+ if (!shape.isShapePosition()) {
173
+ this.gridShapes.insertInCells(id, shape.getSizeBox(this.tileWidth));
174
+ }
143
175
  // trick to sync with client
144
- return this.shapes[this.shapes.length - 1];
176
+ return this.shapes[id];
145
177
  }
146
178
  /**
147
179
  * Delete a shape
@@ -154,7 +186,8 @@ class RpgCommonMap {
154
186
  */
155
187
  removeShape(name) {
156
188
  // TODO: out players after delete shape
157
- this.shapes = this.shapes.filter(shape => shape.name != name);
189
+ //this.shapes = this.shapes.filter(shape => shape.name != name)
190
+ delete this.shapes[name];
158
191
  }
159
192
  /**
160
193
  * Return all shapes on the map
@@ -166,7 +199,7 @@ class RpgCommonMap {
166
199
  * @memberof RpgSceneMap
167
200
  */
168
201
  getShapes() {
169
- return this.shapes;
202
+ return Object.values(this.shapes);
170
203
  }
171
204
  /**
172
205
  * Returns a shape by its name. Returns undefined is nothing is found
@@ -179,7 +212,7 @@ class RpgCommonMap {
179
212
  * @memberof RpgSceneMap
180
213
  */
181
214
  getShape(name) {
182
- return this.shapes.find(shape => shape.name == name);
215
+ return this.getShapes().find(shape => shape.name == name);
183
216
  }
184
217
  getPositionByShape(filter) {
185
218
  const startsFind = this.getShapes().filter(filter);
@@ -363,6 +396,42 @@ class RpgCommonMap {
363
396
  }
364
397
  return tile;
365
398
  }
399
+ /**
400
+ * Assign the map to a world
401
+
402
+ * @title Assign the map to a world
403
+ * @method map.setInWorldMaps(name)
404
+ * @param {RpgWorldMaps} worldMap world maps
405
+ * @since 3.0.0-beta.8
406
+ * @memberof Map
407
+ */
408
+ setInWorldMaps(worldMap) {
409
+ this.worldMapParent = worldMap;
410
+ }
411
+ /**
412
+ * Remove this map from the world
413
+ * @title Remove this map from the world
414
+ * @method map.removeFromWorldMaps()
415
+ * @returns {boolean | undefined}
416
+ * @since 3.0.0-beta.8
417
+ * @memberof Map
418
+ */
419
+ removeFromWorldMaps() {
420
+ var _a;
421
+ return (_a = this.worldMapParent) === null || _a === void 0 ? void 0 : _a.removeMap(this.id);
422
+ }
423
+ /**
424
+ * Recover the world attached to this map (`undefined` if no world attached)
425
+
426
+ * @title Get attached World
427
+ * @method map.getInWorldMaps()
428
+ * @return {RpgCommonWorldMaps | undefined}
429
+ * @since 3.0.0-beta.8
430
+ * @memberof Map
431
+ */
432
+ getInWorldMaps() {
433
+ return this.worldMapParent;
434
+ }
366
435
  }
367
- exports.default = RpgCommonMap;
436
+ exports.RpgCommonMap = RpgCommonMap;
368
437
  //# sourceMappingURL=Map.js.map
package/lib/Map.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Map.js","sourceRoot":"","sources":["../src/Map.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Map.js","sourceRoot":"","sources":["../src/Map.ts"],"names":[],"mappings":"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"}
package/lib/Module.js CHANGED
@@ -46,13 +46,16 @@ function loadModules(modules, obj) {
46
46
  else {
47
47
  mod = moduleClass;
48
48
  }
49
- const { imports, maps, spritesheets, sounds, gui, scenes, engine, database } = mod;
49
+ const { imports, maps, spritesheets, sounds, gui, scenes, engine, database, worldMaps } = mod;
50
50
  if (imports) {
51
51
  loadModules(imports, obj);
52
52
  }
53
53
  if (maps) {
54
54
  Plugin_1.RpgPlugin.on(Plugin_1.HookServer.AddMap, () => maps);
55
55
  }
56
+ if (worldMaps) {
57
+ Plugin_1.RpgPlugin.on(Plugin_1.HookServer.AddWorldMaps, () => worldMaps);
58
+ }
56
59
  if (database) {
57
60
  Plugin_1.RpgPlugin.on(Plugin_1.HookServer.AddDatabase, () => database);
58
61
  }
package/lib/Module.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Module.js","sourceRoot":"","sources":["../src/Module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Module.js","sourceRoot":"","sources":["../src/Module.ts"],"names":[],"mappings":"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"}
package/lib/Player.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { RpgShape } from './Shape';
2
2
  import SAT from 'sat';
3
3
  import { TileInfo } from './Map';
4
- import { RpgCommonGame } from '.';
4
+ import { RpgCommonGame } from './Game';
5
5
  export declare type Position = {
6
6
  x: number;
7
7
  y: number;
@@ -79,6 +79,8 @@ export declare class RpgCommonPlayer {
79
79
  */
80
80
  set position(val: Position);
81
81
  get position(): Position;
82
+ get worldPositionX(): number;
83
+ get worldPositionY(): number;
82
84
  set posX(val: any);
83
85
  set posY(val: any);
84
86
  set posZ(val: any);
@@ -304,6 +306,6 @@ export interface RpgCommonPlayer {
304
306
  readonly type: string;
305
307
  through: boolean;
306
308
  throughOtherPlayer: boolean;
307
- getVector3D(x: any, y: any, z: any): any;
309
+ autoChangeMap?(nextPosition: Position): Promise<boolean>;
308
310
  execMethod(methodName: string, methodData?: any, instance?: any): any;
309
311
  }
package/lib/Player.js CHANGED
@@ -17,7 +17,7 @@ const Utils_1 = require("./Utils");
17
17
  const Hit_1 = require("./Hit");
18
18
  const Shape_1 = require("./Shape");
19
19
  const sat_1 = __importDefault(require("sat"));
20
- const Map_1 = __importDefault(require("./Map"));
20
+ const Map_1 = require("./Map");
21
21
  const Plugin_1 = require("./Plugin");
22
22
  const Game_1 = require("./Game");
23
23
  const ACTIONS = { IDLE: 0, RUN: 1, ACTION: 2 };
@@ -107,6 +107,20 @@ class RpgCommonPlayer {
107
107
  get position() {
108
108
  return this._position;
109
109
  }
110
+ get worldPositionX() {
111
+ let x = this.position.x;
112
+ if (this.mapInstance) {
113
+ x += this.mapInstance.worldX;
114
+ }
115
+ return x;
116
+ }
117
+ get worldPositionY() {
118
+ let y = this.position.y;
119
+ if (this.mapInstance) {
120
+ y += this.mapInstance.worldY;
121
+ }
122
+ return y;
123
+ }
110
124
  set posX(val) {
111
125
  this.position.x = val;
112
126
  }
@@ -119,9 +133,9 @@ class RpgCommonPlayer {
119
133
  /** @internal */
120
134
  get mapInstance() {
121
135
  if (this.gameEngine.side == Game_1.GameSide.Client) {
122
- return Map_1.default.bufferClient.get(this.map);
136
+ return Map_1.RpgCommonMap.bufferClient.get(this.map);
123
137
  }
124
- return Map_1.default.buffer.get(this.map);
138
+ return Map_1.RpgCommonMap.buffer.get(this.map);
125
139
  }
126
140
  /**
127
141
  *
@@ -366,8 +380,15 @@ class RpgCommonPlayer {
366
380
  tileCollision(nextPosition.x + this.hitbox.w, nextPosition.y + this.hitbox.h)) {
367
381
  return true;
368
382
  }
383
+ if (this.autoChangeMap) {
384
+ const changeMap = yield this.autoChangeMap(nextPosition);
385
+ if (changeMap) {
386
+ return true;
387
+ }
388
+ }
389
+ const playerSizeBox = this.getSizeMaxShape(nextPosition.x, nextPosition.y);
369
390
  const events = this.gameEngine.world.getObjectsOfGroup(this.map, this);
370
- const objects = map.grid.getObjectsByBox(this.getSizeMaxShape(nextPosition.x, nextPosition.y));
391
+ const objects = map.grid.getObjectsByBox(playerSizeBox);
371
392
  for (let objectId of objects) {
372
393
  // client side: read "object" propertie
373
394
  if (!events[objectId])
@@ -400,8 +421,10 @@ class RpgCommonPlayer {
400
421
  return true;
401
422
  }
402
423
  }
403
- const shapes = map.getShapes();
404
- for (let shape of shapes) {
424
+ const shapes = map.shapes;
425
+ const shapesInGrid = map.gridShapes.getObjectsByBox(playerSizeBox);
426
+ for (let shapeId of shapesInGrid) {
427
+ const shape = shapes[shapeId];
405
428
  const bool = yield this.collisionWithShape(shape, this, nextPosition);
406
429
  if (bool)
407
430
  return true;
package/lib/Player.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Player.js","sourceRoot":"","sources":["../src/Player.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Player.js","sourceRoot":"","sources":["../src/Player.ts"],"names":[],"mappings":"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"}
package/lib/Plugin.d.ts CHANGED
@@ -11,6 +11,7 @@ export declare enum HookServer {
11
11
  PlayerConnected = "Server.onConnected",
12
12
  PlayerDisconnected = "Server.onDisconnected",
13
13
  AddMap = "Server.AddMap",
14
+ AddWorldMaps = "Server.AddWorldMaps",
14
15
  AddDatabase = "Server.AddDatabase",
15
16
  PlayerInput = "Server.onInput",
16
17
  PlayerJoinMap = "Server.onJoinMap",
@@ -19,7 +20,8 @@ export declare enum HookServer {
19
20
  PlayerDead = "Server.onDead",
20
21
  PlayerInShape = "Server.onInShape",
21
22
  PlayerOutShape = "Server.onOutShape",
22
- PlayerMove = "Server.PlayerMove"
23
+ PlayerMove = "Server.PlayerMove",
24
+ PlayerCanChangeMap = "Server.PlayerCanChangeMap"
23
25
  }
24
26
  export declare enum HookClient {
25
27
  Start = "Client.Start",
package/lib/Plugin.js CHANGED
@@ -10,6 +10,7 @@ var HookServer;
10
10
  HookServer["PlayerConnected"] = "Server.onConnected";
11
11
  HookServer["PlayerDisconnected"] = "Server.onDisconnected";
12
12
  HookServer["AddMap"] = "Server.AddMap";
13
+ HookServer["AddWorldMaps"] = "Server.AddWorldMaps";
13
14
  HookServer["AddDatabase"] = "Server.AddDatabase";
14
15
  HookServer["PlayerInput"] = "Server.onInput";
15
16
  HookServer["PlayerJoinMap"] = "Server.onJoinMap";
@@ -19,6 +20,7 @@ var HookServer;
19
20
  HookServer["PlayerInShape"] = "Server.onInShape";
20
21
  HookServer["PlayerOutShape"] = "Server.onOutShape";
21
22
  HookServer["PlayerMove"] = "Server.PlayerMove";
23
+ HookServer["PlayerCanChangeMap"] = "Server.PlayerCanChangeMap";
22
24
  })(HookServer = exports.HookServer || (exports.HookServer = {}));
23
25
  var HookClient;
24
26
  (function (HookClient) {
package/lib/Plugin.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Plugin.js","sourceRoot":"","sources":["../src/Plugin.ts"],"names":[],"mappings":";;;AAAA,iDAA6C;AAC7C,mCAAiC;AAMjC,IAAY,UAeX;AAfD,WAAY,UAAU;IAClB,oCAAsB,CAAA;IACtB,kCAAoB,CAAA;IACpB,oDAAsC,CAAA;IACtC,0DAA4C,CAAA;IAC5C,sCAAwB,CAAA;IACxB,gDAAkC,CAAA;IAClC,4CAA8B,CAAA;IAC9B,gDAAkC,CAAA;IAClC,kDAAoC,CAAA;IACpC,gDAAkC,CAAA;IAClC,0CAA4B,CAAA;IAC5B,gDAAkC,CAAA;IAClC,kDAAoC,CAAA;IACpC,8CAAgC,CAAA;AACpC,CAAC,EAfW,UAAU,GAAV,kBAAU,KAAV,kBAAU,QAerB;AAED,IAAY,UA0BX;AA1BD,WAAY,UAAU;IAClB,oCAAsB,CAAA;IACtB,kCAAoB,CAAA;IACpB,4CAA8B,CAAA;IAC9B,8CAAgC,CAAA;IAChC,sDAAwC,CAAA;IAExC,sDAAwC,CAAA;IACxC,sCAAwB,CAAA;IACxB,0CAA4B,CAAA;IAC5B,4CAA8B,CAAA;IAE9B,8DAAgD,CAAA;IAChD,4DAA8C,CAAA;IAC9C,wDAA0C,CAAA;IAC1C,sDAAwC,CAAA;IACxC,sDAAwC,CAAA;IACxC,4CAA8B,CAAA;IAC9B,4DAA8C,CAAA;IAE9C,4CAA8B,CAAA;IAC9B,kDAAoC,CAAA;IACpC,kDAAoC,CAAA;IACpC,oDAAsC,CAAA;IACtC,kDAAoC,CAAA;IACpC,8CAAgC,CAAA;AACpC,CAAC,EA1BW,UAAU,GAAV,kBAAU,KAAV,kBAAU,QA0BrB;AAED;;GAEG;AACH,MAAa,YAAa,SAAQ,2BAAY;IAClC,WAAW,CAAC,OAAiB,EAAE,MAAW,EAAE,IAAY;QAC5D,IAAI,CAAC,OAAO;YAAE,OAAM;QACpB,KAAK,IAAI,MAAM,IAAI,OAAO,EAAE;YACxB,IAAI,CAAC,MAAM;gBAAE,SAAQ;YACrB,IAAI,IAAI,GAAQ,EAAE,CAAA;YAClB,IAAI,CAAC,eAAO,CAAC,MAAM,CAAC,EAAE;gBAClB,IAAI,GAAG,CAAC,MAAM,CAAC,CAAA;aAClB;iBACI;gBACD,IAAI,GAAG,MAAM,CAAA;aAChB;YACD,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;YAC5B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;gBAAE,SAAQ;YACzB,IAAI,CAAC,IAAI,CAAC,iBACN,SAAS,EAAT,iBAAS,IACN,MAAM,GACV,OAAO,CAAC,CAAA;SACd;IACL,CAAC;IAED,iBAAiB,CAAC,OAAO,EAAE,MAAM;QAC7B,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAA;IAC/C,CAAC;IAED,iBAAiB,CAAC,OAAO,EAAE,MAAM;QAC7B,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAA;IAC/C,CAAC;CACJ;AA5BD,oCA4BC;AAEY,QAAA,SAAS,GAAG,IAAI,YAAY,EAAE,CAAA"}
1
+ {"version":3,"file":"Plugin.js","sourceRoot":"","sources":["../src/Plugin.ts"],"names":[],"mappings":";;;AAAA,iDAA6C;AAC7C,mCAAiC;AAMjC,IAAY,UAiBX;AAjBD,WAAY,UAAU;IAClB,oCAAsB,CAAA;IACtB,kCAAoB,CAAA;IACpB,oDAAsC,CAAA;IACtC,0DAA4C,CAAA;IAC5C,sCAAwB,CAAA;IACxB,kDAAoC,CAAA;IACpC,gDAAkC,CAAA;IAClC,4CAA8B,CAAA;IAC9B,gDAAkC,CAAA;IAClC,kDAAoC,CAAA;IACpC,gDAAkC,CAAA;IAClC,0CAA4B,CAAA;IAC5B,gDAAkC,CAAA;IAClC,kDAAoC,CAAA;IACpC,8CAAgC,CAAA;IAChC,8DAAgD,CAAA;AACpD,CAAC,EAjBW,UAAU,GAAV,kBAAU,KAAV,kBAAU,QAiBrB;AAED,IAAY,UA0BX;AA1BD,WAAY,UAAU;IAClB,oCAAsB,CAAA;IACtB,kCAAoB,CAAA;IACpB,4CAA8B,CAAA;IAC9B,8CAAgC,CAAA;IAChC,sDAAwC,CAAA;IAExC,sDAAwC,CAAA;IACxC,sCAAwB,CAAA;IACxB,0CAA4B,CAAA;IAC5B,4CAA8B,CAAA;IAE9B,8DAAgD,CAAA;IAChD,4DAA8C,CAAA;IAC9C,wDAA0C,CAAA;IAC1C,sDAAwC,CAAA;IACxC,sDAAwC,CAAA;IACxC,4CAA8B,CAAA;IAC9B,4DAA8C,CAAA;IAE9C,4CAA8B,CAAA;IAC9B,kDAAoC,CAAA;IACpC,kDAAoC,CAAA;IACpC,oDAAsC,CAAA;IACtC,kDAAoC,CAAA;IACpC,8CAAgC,CAAA;AACpC,CAAC,EA1BW,UAAU,GAAV,kBAAU,KAAV,kBAAU,QA0BrB;AAED;;GAEG;AACH,MAAa,YAAa,SAAQ,2BAAY;IAClC,WAAW,CAAC,OAAiB,EAAE,MAAW,EAAE,IAAY;QAC5D,IAAI,CAAC,OAAO;YAAE,OAAM;QACpB,KAAK,IAAI,MAAM,IAAI,OAAO,EAAE;YACxB,IAAI,CAAC,MAAM;gBAAE,SAAQ;YACrB,IAAI,IAAI,GAAQ,EAAE,CAAA;YAClB,IAAI,CAAC,eAAO,CAAC,MAAM,CAAC,EAAE;gBAClB,IAAI,GAAG,CAAC,MAAM,CAAC,CAAA;aAClB;iBACI;gBACD,IAAI,GAAG,MAAM,CAAA;aAChB;YACD,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;YAC5B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;gBAAE,SAAQ;YACzB,IAAI,CAAC,IAAI,CAAC,iBACN,SAAS,EAAT,iBAAS,IACN,MAAM,GACV,OAAO,CAAC,CAAA;SACd;IACL,CAAC;IAED,iBAAiB,CAAC,OAAO,EAAE,MAAM;QAC7B,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAA;IAC/C,CAAC;IAED,iBAAiB,CAAC,OAAO,EAAE,MAAM;QAC7B,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAA;IAC/C,CAAC;CACJ;AA5BD,oCA4BC;AAEY,QAAA,SAAS,GAAG,IAAI,YAAY,EAAE,CAAA"}
package/lib/Scheduler.js CHANGED
@@ -65,7 +65,7 @@ class Scheduler extends EventEmitter_1.EventEmitter {
65
65
  }
66
66
  callTick() {
67
67
  if (this.delayCounter >= LOOP_SLOW_COUNT) {
68
- console.warn('[RPGJS] Warning, Event Loop is slow !');
68
+ //console.warn('[RPGJS] Warning, Event Loop is slow !')
69
69
  this.delayCounter = 0;
70
70
  }
71
71
  this.options.tick(this.timestamp, this.deltaTime);
@@ -1 +1 @@
1
- {"version":3,"file":"Scheduler.js","sourceRoot":"","sources":["../src/Scheduler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Scheduler.js","sourceRoot":"","sources":["../src/Scheduler.ts"],"names":[],"mappings":"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"}
package/lib/Shape.d.ts CHANGED
@@ -104,5 +104,17 @@ export declare class RpgShape {
104
104
  * @memberof Shape
105
105
  */
106
106
  getPlayerOwner(): RpgCommonPlayer | undefined;
107
+ /**
108
+ * We get the rectangle of a shape (box, circle and polygon). We use in the grid system to recover a shape.
109
+ * Generally we add a margin (size of a tile) to detect if the player enters or leaves a shape
110
+ * @param margin
111
+ * @returns { minX: number, minY: number, maxX: number, maxY: number }
112
+ */
113
+ getSizeBox(margin?: number): {
114
+ minX: number;
115
+ minY: number;
116
+ maxX: number;
117
+ maxY: number;
118
+ };
107
119
  }
108
120
  export {};
package/lib/Shape.js CHANGED
@@ -24,7 +24,7 @@ var ShapePositioning;
24
24
  class RpgShape {
25
25
  constructor(obj) {
26
26
  this._properties = {};
27
- this.type = 'box';
27
+ this.type = Hit_1.HitType.Box;
28
28
  /**
29
29
  * Get/Set name
30
30
  * @title name
@@ -147,6 +147,15 @@ class RpgShape {
147
147
  set(obj) {
148
148
  const hit = Hit_1.Hit.getHitbox(obj);
149
149
  Object.assign(this, hit);
150
+ const findPoint = (prop, isMin) => {
151
+ return this.hitbox.points.sort((a, b) => isMin ? a[prop] - b[prop] : b[prop] - a[prop])[0][prop];
152
+ };
153
+ if (this.type == Hit_1.HitType.Polygon) {
154
+ this.hitbox.minX = findPoint('x', true);
155
+ this.hitbox.maxX = findPoint('x', false);
156
+ this.hitbox.minY = findPoint('y', true);
157
+ this.hitbox.maxY = findPoint('y', false);
158
+ }
150
159
  this.positioning = obj.positioning;
151
160
  this.fixEvent = obj.fixEvent;
152
161
  }
@@ -201,6 +210,37 @@ class RpgShape {
201
210
  getPlayerOwner() {
202
211
  return this.fixEvent;
203
212
  }
213
+ /**
214
+ * We get the rectangle of a shape (box, circle and polygon). We use in the grid system to recover a shape.
215
+ * Generally we add a margin (size of a tile) to detect if the player enters or leaves a shape
216
+ * @param margin
217
+ * @returns { minX: number, minY: number, maxX: number, maxY: number }
218
+ */
219
+ getSizeBox(margin = 0) {
220
+ if (this.type == Hit_1.HitType.Circle) {
221
+ const radius = this.hitbox.r;
222
+ return {
223
+ minX: this.x - radius - margin,
224
+ maxX: this.x + radius + margin,
225
+ minY: this.y - radius - margin,
226
+ maxY: this.y + radius + margin
227
+ };
228
+ }
229
+ if (this.type == Hit_1.HitType.Polygon) {
230
+ return {
231
+ minX: this.x + this.hitbox.minX - margin,
232
+ maxX: this.x + this.hitbox.maxX + margin,
233
+ minY: this.y + this.hitbox.minY - margin,
234
+ maxY: this.y + this.hitbox.maxY + margin
235
+ };
236
+ }
237
+ return {
238
+ minX: this.x - margin,
239
+ maxX: this.x + this.width + margin,
240
+ minY: this.y - margin,
241
+ maxY: this.y + this.height + margin
242
+ };
243
+ }
204
244
  }
205
245
  exports.RpgShape = RpgShape;
206
246
  //# sourceMappingURL=Shape.js.map
package/lib/Shape.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Shape.js","sourceRoot":"","sources":["../src/Shape.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Shape.js","sourceRoot":"","sources":["../src/Shape.ts"],"names":[],"mappings":"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"}
package/lib/Utils.d.ts CHANGED
@@ -14,11 +14,10 @@ export declare function capitalize(s: any): string;
14
14
  export declare function arrayEquals(a: any, b: any): any;
15
15
  export declare function applyMixins(derivedCtor: any, baseCtors: any[]): void;
16
16
  export declare function generateUID(): string;
17
- export declare function createConstructor(...propNames: any[]): {
18
- new (...propValues: any[]): {};
19
- };
17
+ export declare function createConstructor<T>(...propNames: any[]): T;
20
18
  export declare function sharedArrayBuffer(): any;
21
19
  export declare function toRadians(angle: number): number;
20
+ export declare function extractId(path: string): string | null;
22
21
  declare const _default: {
23
22
  random: typeof random;
24
23
  isBrowser: typeof isBrowser;
@@ -39,5 +38,6 @@ declare const _default: {
39
38
  generateUID: typeof generateUID;
40
39
  createConstructor: typeof createConstructor;
41
40
  toRadians: typeof toRadians;
41
+ extractId: typeof extractId;
42
42
  };
43
43
  export default _default;
package/lib/Utils.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.toRadians = exports.sharedArrayBuffer = exports.createConstructor = exports.generateUID = exports.applyMixins = exports.arrayEquals = exports.capitalize = exports.intersection = exports.arrayFlat = exports.arrayUniq = exports.isInstanceOf = exports.isString = exports.isObject = exports.isArray = exports.isPromise = exports.isClass = exports.isFunction = exports.isBrowser = exports.random = void 0;
3
+ exports.extractId = exports.toRadians = exports.sharedArrayBuffer = exports.createConstructor = exports.generateUID = exports.applyMixins = exports.arrayEquals = exports.capitalize = exports.intersection = exports.arrayFlat = exports.arrayUniq = exports.isInstanceOf = exports.isString = exports.isObject = exports.isArray = exports.isPromise = exports.isClass = exports.isFunction = exports.isBrowser = exports.random = void 0;
4
4
  function random(min, max) {
5
5
  return Math.floor(Math.random() * (max - min + 1) + min);
6
6
  }
@@ -105,6 +105,13 @@ function toRadians(angle) {
105
105
  return angle * (Math.PI / 180);
106
106
  }
107
107
  exports.toRadians = toRadians;
108
+ function extractId(path) {
109
+ const id = path.match(/([a-zA-Z0-9-_$!]+)\.[a-z]+$/i);
110
+ if (!id)
111
+ return null;
112
+ return id[1];
113
+ }
114
+ exports.extractId = extractId;
108
115
  exports.default = {
109
116
  random,
110
117
  isBrowser,
@@ -124,6 +131,7 @@ exports.default = {
124
131
  sharedArrayBuffer,
125
132
  generateUID,
126
133
  createConstructor,
127
- toRadians
134
+ toRadians,
135
+ extractId
128
136
  };
129
137
  //# sourceMappingURL=Utils.js.map
package/lib/Utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Utils.js","sourceRoot":"","sources":["../src/Utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Utils.js","sourceRoot":"","sources":["../src/Utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,103 @@
1
+ import { TiledWorldMap } from '@rpgjs/tiled';
2
+ import { RpgCommonMap } from './Map';
3
+ import { Direction } from './Player';
4
+ export interface RpgClassMap<T> {
5
+ id?: string;
6
+ new (server: any): T;
7
+ }
8
+ export interface RpgTiledWorldMap extends TiledWorldMap {
9
+ properties?: {
10
+ [key: string]: any;
11
+ };
12
+ }
13
+ declare type PositionBox = {
14
+ minX: number;
15
+ minY: number;
16
+ maxX: number;
17
+ maxY: number;
18
+ };
19
+ export declare class RpgCommonWorldMaps {
20
+ id: string;
21
+ private mapsTree;
22
+ private maps;
23
+ constructor(id: string);
24
+ /**
25
+ * Adding information from the map to the world
26
+ *
27
+ * > Maximum maps in world: 500
28
+ *
29
+ * @title Add Map in world
30
+ * @method world.addMap(wordMapInfo,map)
31
+ * @param {object} wordMapInfo
32
+ * Object file:
33
+ * ```ts
34
+ * {
35
+ * fileName: string;
36
+ height: number;
37
+ width: number;
38
+ x: number;
39
+ y: number;
40
+ * }
41
+ ```
42
+ `fileName` represents a file to the JSON file (TMX transformed) or directly the Tiled Map Editor object
43
+ *
44
+ * @param {class of RpgMap} map
45
+ * @since 3.0.0-beta.8
46
+ * @memberof RpgWorldMaps
47
+ */
48
+ addMap(wordMapInfo: RpgTiledWorldMap, map: RpgClassMap<RpgCommonMap>): void;
49
+ /**
50
+ * Remove map of the world
51
+ * @title Remove map of the world
52
+ * @method world.removeMap(mapId)
53
+ * @param {string} mapId
54
+ * @returns {boolean}
55
+ * @since 3.0.0-beta.8
56
+ * @memberof RpgWorldMaps
57
+ */
58
+ removeMap(mapId: string): boolean;
59
+ /**
60
+ * Retrieve information from the world
61
+ *
62
+ * @title Retrieve information from the world
63
+ * @method world.getMapInfo(id)
64
+ * @param {string} id map id
65
+ * @return {RpgTiledWorldMap | undefined}
66
+ * {
67
+ * id?: string
68
+ * properties?: object
69
+ * fileName: string;
70
+ height: number;
71
+ width: number;
72
+ x: number;
73
+ y: number;
74
+ * }
75
+ * @since 3.0.0-beta.8
76
+ * @memberof RpgWorldMaps
77
+ */
78
+ getMapInfo(id: string): RpgTiledWorldMap | undefined;
79
+ /**
80
+ * Retrieves neighboring maps according to positions or direction
81
+ *
82
+ * @title Retrieves neighboring maps
83
+ * @method world.getAdjacentMaps(map,search)
84
+ * @param {RpgMap} map The source map. We want to find the neighboring maps of the source map
85
+ * @param { PositionBox | Direction | { x: number, y: number } } search Research method
86
+ * * PositionBox. An object of the following form:
87
+ * `{ minX: number, minY: number, maxX: number, maxY: number }`
88
+ * * Direction. Collect all the maps in the given direction (e.g. the maps at the top)
89
+ * * Point: { x: number, y: number }
90
+ * @return { {class of RpgMap}[] }
91
+ * @since 3.0.0-beta.8
92
+ * @example
93
+ * ```ts
94
+ * world.getAdjacentMaps(mymap, Direction.Up) // returns [class of RpgMap]
95
+ * ```
96
+ * @memberof RpgWorldMaps
97
+ */
98
+ getAdjacentMaps(map: RpgCommonMap, search: PositionBox | Direction | {
99
+ x: number;
100
+ y: number;
101
+ }): RpgClassMap<RpgCommonMap>[];
102
+ }
103
+ export {};
@@ -0,0 +1,170 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.RpgCommonWorldMaps = void 0;
7
+ const rbush_1 = __importDefault(require("rbush"));
8
+ const Player_1 = require("./Player");
9
+ class RpgCommonWorldMaps {
10
+ constructor(id) {
11
+ this.id = id;
12
+ this.mapsTree = new rbush_1.default(500);
13
+ this.maps = new Map();
14
+ }
15
+ /**
16
+ * Adding information from the map to the world
17
+ *
18
+ * > Maximum maps in world: 500
19
+ *
20
+ * @title Add Map in world
21
+ * @method world.addMap(wordMapInfo,map)
22
+ * @param {object} wordMapInfo
23
+ * Object file:
24
+ * ```ts
25
+ * {
26
+ * fileName: string;
27
+ height: number;
28
+ width: number;
29
+ x: number;
30
+ y: number;
31
+ * }
32
+ ```
33
+ `fileName` represents a file to the JSON file (TMX transformed) or directly the Tiled Map Editor object
34
+ *
35
+ * @param {class of RpgMap} map
36
+ * @since 3.0.0-beta.8
37
+ * @memberof RpgWorldMaps
38
+ */
39
+ addMap(wordMapInfo, map) {
40
+ const { x, y, height, width } = wordMapInfo;
41
+ map.prototype.worldMapParent = this;
42
+ this.maps.set(map.id, wordMapInfo);
43
+ this.mapsTree.insert({
44
+ minX: x,
45
+ minY: y,
46
+ maxX: x + width,
47
+ maxY: y + height,
48
+ map
49
+ });
50
+ }
51
+ /**
52
+ * Remove map of the world
53
+ * @title Remove map of the world
54
+ * @method world.removeMap(mapId)
55
+ * @param {string} mapId
56
+ * @returns {boolean}
57
+ * @since 3.0.0-beta.8
58
+ * @memberof RpgWorldMaps
59
+ */
60
+ removeMap(mapId) {
61
+ const map = this.maps.get(mapId);
62
+ if (map) {
63
+ const item = this.mapsTree.all().find(item => item.map.id == mapId);
64
+ if (!item)
65
+ return false;
66
+ this.maps.delete(mapId);
67
+ item.map.prototype.worldMapParent = undefined;
68
+ this.mapsTree.remove(item);
69
+ return true;
70
+ }
71
+ return false;
72
+ }
73
+ /**
74
+ * Retrieve information from the world
75
+ *
76
+ * @title Retrieve information from the world
77
+ * @method world.getMapInfo(id)
78
+ * @param {string} id map id
79
+ * @return {RpgTiledWorldMap | undefined}
80
+ * {
81
+ * id?: string
82
+ * properties?: object
83
+ * fileName: string;
84
+ height: number;
85
+ width: number;
86
+ x: number;
87
+ y: number;
88
+ * }
89
+ * @since 3.0.0-beta.8
90
+ * @memberof RpgWorldMaps
91
+ */
92
+ getMapInfo(id) {
93
+ return this.maps.get(id);
94
+ }
95
+ /**
96
+ * Retrieves neighboring maps according to positions or direction
97
+ *
98
+ * @title Retrieves neighboring maps
99
+ * @method world.getAdjacentMaps(map,search)
100
+ * @param {RpgMap} map The source map. We want to find the neighboring maps of the source map
101
+ * @param { PositionBox | Direction | { x: number, y: number } } search Research method
102
+ * * PositionBox. An object of the following form:
103
+ * `{ minX: number, minY: number, maxX: number, maxY: number }`
104
+ * * Direction. Collect all the maps in the given direction (e.g. the maps at the top)
105
+ * * Point: { x: number, y: number }
106
+ * @return { {class of RpgMap}[] }
107
+ * @since 3.0.0-beta.8
108
+ * @example
109
+ * ```ts
110
+ * world.getAdjacentMaps(mymap, Direction.Up) // returns [class of RpgMap]
111
+ * ```
112
+ * @memberof RpgWorldMaps
113
+ */
114
+ getAdjacentMaps(map, search) {
115
+ let position = {};
116
+ const point = search;
117
+ if (typeof search == 'number') {
118
+ const padding = 1;
119
+ switch (search) {
120
+ case Player_1.Direction.Up:
121
+ position = {
122
+ minX: map.worldX + padding,
123
+ maxX: map.worldX + map.widthPx - padding,
124
+ minY: map.worldY - padding - 1,
125
+ maxY: map.worldY - padding
126
+ };
127
+ break;
128
+ case Player_1.Direction.Right:
129
+ position = {
130
+ minX: map.worldX + map.widthPx + padding,
131
+ maxX: map.worldX + map.widthPx + padding + 1,
132
+ minY: map.worldY + padding,
133
+ maxY: map.worldY + map.heightPx - padding
134
+ };
135
+ break;
136
+ case Player_1.Direction.Down:
137
+ position = {
138
+ minX: map.worldX + padding,
139
+ maxX: map.worldX + map.widthPx - padding,
140
+ minY: map.worldY + map.heightPx + padding,
141
+ maxY: map.worldY + map.heightPx + padding + 1
142
+ };
143
+ break;
144
+ case Player_1.Direction.Left:
145
+ position = {
146
+ minX: map.worldX - padding,
147
+ maxX: map.worldX - padding - 1,
148
+ minY: map.worldY + padding,
149
+ maxY: map.worldY + map.heightPx - padding
150
+ };
151
+ break;
152
+ }
153
+ }
154
+ else if (point.x) {
155
+ position = {
156
+ minX: point.x,
157
+ maxX: point.x,
158
+ minY: point.y,
159
+ maxY: point.y
160
+ };
161
+ }
162
+ else {
163
+ position = search;
164
+ }
165
+ const result = this.mapsTree.search(position);
166
+ return result.map(ret => ret.map);
167
+ }
168
+ }
169
+ exports.RpgCommonWorldMaps = RpgCommonWorldMaps;
170
+ //# sourceMappingURL=WorldMaps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorldMaps.js","sourceRoot":"","sources":["../src/WorldMaps.ts"],"names":[],"mappings":"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"}
package/lib/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { Direction, LiteralDirection, RpgCommonPlayer, PlayerType } from './Player';
2
2
  import { RpgCommonEvent } from './Event';
3
- import RpgCommonMap from './Map';
3
+ import { RpgCommonMap } from './Map';
4
4
  import { RpgCommonGame, GameSide } from './Game';
5
5
  import { EventEmitter } from './EventEmitter';
6
6
  import { PrebuiltGui } from './gui/PrebuiltGui';
@@ -15,4 +15,5 @@ import * as MockIo from './transports/io';
15
15
  import * as Logger from './Logger';
16
16
  import { RpgShape, ShapePositioning } from './Shape';
17
17
  import { VirtualGrid } from './VirtualGrid';
18
- export { RpgCommonPlayer, RpgCommonEvent, RpgCommonMap, RpgCommonGame, EventEmitter, Utils, TransportIo, Direction, LiteralDirection, PrebuiltGui, PlayerType, Input, Control, MockIo, RpgPlugin, Plugin, HookServer, HookClient, Scheduler, Hit, RpgModule, loadModules, Logger, ModuleType, RpgShape, ShapePositioning, VirtualGrid, GameSide };
18
+ import { RpgCommonWorldMaps } from './WorldMaps';
19
+ export { RpgCommonPlayer, RpgCommonEvent, RpgCommonMap, RpgCommonGame, EventEmitter, Utils, TransportIo, Direction, LiteralDirection, PrebuiltGui, PlayerType, Input, Control, MockIo, RpgPlugin, Plugin, HookServer, HookClient, Scheduler, Hit, RpgModule, loadModules, Logger, ModuleType, RpgShape, ShapePositioning, VirtualGrid, GameSide, RpgCommonWorldMaps };
package/lib/index.js CHANGED
@@ -22,7 +22,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
22
22
  return (mod && mod.__esModule) ? mod : { "default": mod };
23
23
  };
24
24
  Object.defineProperty(exports, "__esModule", { value: true });
25
- exports.GameSide = exports.VirtualGrid = exports.ShapePositioning = exports.RpgShape = exports.Logger = exports.loadModules = exports.RpgModule = exports.Hit = exports.Scheduler = exports.HookClient = exports.HookServer = exports.RpgPlugin = exports.MockIo = exports.Control = exports.Input = exports.PlayerType = exports.PrebuiltGui = exports.LiteralDirection = exports.Direction = exports.TransportIo = exports.Utils = exports.EventEmitter = exports.RpgCommonGame = exports.RpgCommonMap = exports.RpgCommonEvent = exports.RpgCommonPlayer = void 0;
25
+ exports.RpgCommonWorldMaps = exports.GameSide = exports.VirtualGrid = exports.ShapePositioning = exports.RpgShape = exports.Logger = exports.loadModules = exports.RpgModule = exports.Hit = exports.Scheduler = exports.HookClient = exports.HookServer = exports.RpgPlugin = exports.MockIo = exports.Control = exports.Input = exports.PlayerType = exports.PrebuiltGui = exports.LiteralDirection = exports.Direction = exports.TransportIo = exports.Utils = exports.EventEmitter = exports.RpgCommonGame = exports.RpgCommonMap = exports.RpgCommonEvent = exports.RpgCommonPlayer = void 0;
26
26
  const Player_1 = require("./Player");
27
27
  Object.defineProperty(exports, "Direction", { enumerable: true, get: function () { return Player_1.Direction; } });
28
28
  Object.defineProperty(exports, "LiteralDirection", { enumerable: true, get: function () { return Player_1.LiteralDirection; } });
@@ -30,8 +30,8 @@ Object.defineProperty(exports, "RpgCommonPlayer", { enumerable: true, get: funct
30
30
  Object.defineProperty(exports, "PlayerType", { enumerable: true, get: function () { return Player_1.PlayerType; } });
31
31
  const Event_1 = require("./Event");
32
32
  Object.defineProperty(exports, "RpgCommonEvent", { enumerable: true, get: function () { return Event_1.RpgCommonEvent; } });
33
- const Map_1 = __importDefault(require("./Map"));
34
- exports.RpgCommonMap = Map_1.default;
33
+ const Map_1 = require("./Map");
34
+ Object.defineProperty(exports, "RpgCommonMap", { enumerable: true, get: function () { return Map_1.RpgCommonMap; } });
35
35
  const Game_1 = require("./Game");
36
36
  Object.defineProperty(exports, "RpgCommonGame", { enumerable: true, get: function () { return Game_1.RpgCommonGame; } });
37
37
  Object.defineProperty(exports, "GameSide", { enumerable: true, get: function () { return Game_1.GameSide; } });
@@ -66,4 +66,6 @@ Object.defineProperty(exports, "RpgShape", { enumerable: true, get: function ()
66
66
  Object.defineProperty(exports, "ShapePositioning", { enumerable: true, get: function () { return Shape_1.ShapePositioning; } });
67
67
  const VirtualGrid_1 = require("./VirtualGrid");
68
68
  Object.defineProperty(exports, "VirtualGrid", { enumerable: true, get: function () { return VirtualGrid_1.VirtualGrid; } });
69
+ const WorldMaps_1 = require("./WorldMaps");
70
+ Object.defineProperty(exports, "RpgCommonWorldMaps", { enumerable: true, get: function () { return WorldMaps_1.RpgCommonWorldMaps; } });
69
71
  //# 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,qCAAmF;AA0B/E,0FA1BK,kBAAS,OA0BL;AACT,iGA3BgB,yBAAgB,OA2BhB;AARhB,gGAnBkC,wBAAe,OAmBlC;AAUf,2FA7BmD,mBAAU,OA6BnD;AA5Bd,mCAAuC;AAmBnC,+FAnBI,sBAAc,OAmBJ;AAlBlB,gDAAgC;AAmB5B,uBAnBG,aAAY,CAmBH;AAlBhB,iCAAgD;AAmB5C,8FAnBK,oBAAa,OAmBL;AAwBb,yFA3CoB,eAAQ,OA2CpB;AA1CZ,iDAA6C;AAmBzC,6FAnBK,2BAAY,OAmBL;AAlBhB,mDAA+C;AAuB3C,4FAvBK,yBAAW,OAuBL;AAtBf,oDAA2B;AAkBvB,gBAlBG,eAAK,CAkBH;AAjBT,qCAAoE;AA0BhE,0FA1BK,kBAAS,OA0BL;AAET,2FA5BwB,mBAAU,OA4BxB;AACV,2FA7BoC,mBAAU,OA6BpC;AA5Bd,6DAA8C;AAiB1C,kCAAW;AAhBf,mCAAwC;AAqBpC,sFArBK,aAAK,OAqBL;AACL,wFAtBY,eAAO,OAsBZ;AArBX,+BAA2B;AA4BvB,oFA5BK,SAAG,OA4BL;AA3BP,2CAAuC;AA0BnC,0FA1BK,qBAAS,OA0BL;AAzBb,qCAA6D;AA2BzD,0FA3BK,kBAAS,OA2BL;AACT,4FA5BgB,oBAAW,OA4BhB;AA3Bf,wDAAyC;AAmBrC,wBAAM;AAlBV,iDAAmC;AA2B/B,wBAAM;AA1BV,mCAAoD;AA4BhD,yFA5BK,gBAAQ,OA4BL;AACR,iGA7Be,wBAAgB,OA6Bf;AA5BpB,+CAA2C;AA6BvC,4FA7BK,yBAAW,OA6BL"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qCAAmF;AA2B/E,0FA3BK,kBAAS,OA2BL;AACT,iGA5BgB,yBAAgB,OA4BhB;AARhB,gGApBkC,wBAAe,OAoBlC;AAUf,2FA9BmD,mBAAU,OA8BnD;AA7Bd,mCAAwC;AAoBpC,+FApBK,sBAAc,OAoBL;AAnBlB,+BAAoC;AAoBhC,6FApBK,kBAAY,OAoBL;AAnBhB,iCAAgD;AAoB5C,8FApBK,oBAAa,OAoBL;AAwBb,yFA5CoB,eAAQ,OA4CpB;AA3CZ,iDAA6C;AAoBzC,6FApBK,2BAAY,OAoBL;AAnBhB,mDAA+C;AAwB3C,4FAxBK,yBAAW,OAwBL;AAvBf,oDAA2B;AAmBvB,gBAnBG,eAAK,CAmBH;AAlBT,qCAAoE;AA2BhE,0FA3BK,kBAAS,OA2BL;AAET,2FA7BwB,mBAAU,OA6BxB;AACV,2FA9BoC,mBAAU,OA8BpC;AA7Bd,6DAA8C;AAkB1C,kCAAW;AAjBf,mCAAwC;AAsBpC,sFAtBK,aAAK,OAsBL;AACL,wFAvBY,eAAO,OAuBZ;AAtBX,+BAA2B;AA6BvB,oFA7BK,SAAG,OA6BL;AA5BP,2CAAuC;AA2BnC,0FA3BK,qBAAS,OA2BL;AA1Bb,qCAA6D;AA4BzD,0FA5BK,kBAAS,OA4BL;AACT,4FA7BgB,oBAAW,OA6BhB;AA5Bf,wDAAyC;AAoBrC,wBAAM;AAnBV,iDAAmC;AA4B/B,wBAAM;AA3BV,mCAAoD;AA6BhD,yFA7BK,gBAAQ,OA6BL;AACR,iGA9Be,wBAAgB,OA8Bf;AA7BpB,+CAA2C;AA8BvC,4FA9BK,yBAAW,OA8BL;AA7Bf,2CAAgD;AA+B5C,mGA/BK,8BAAkB,OA+BL"}
@@ -13,7 +13,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  const workerpool_1 = __importDefault(require("workerpool"));
16
- const Map_1 = __importDefault(require("../Map"));
16
+ const Map_1 = require("../Map");
17
17
  const Game_1 = require("../Game");
18
18
  const Player_1 = require("../Player");
19
19
  const objects = {};
@@ -41,9 +41,9 @@ gameEngine.start({
41
41
  });
42
42
  let i = 0;
43
43
  function loadMap(data) {
44
- const map = new Map_1.default();
44
+ const map = new Map_1.RpgCommonMap();
45
45
  map.load(data.data);
46
- Map_1.default.buffer.set(data.id, map);
46
+ Map_1.RpgCommonMap.buffer.set(data.id, map);
47
47
  }
48
48
  function movePlayers(data) {
49
49
  return __awaiter(this, void 0, void 0, function* () {
@@ -1 +1 @@
1
- {"version":3,"file":"move.js","sourceRoot":"","sources":["../../src/workers/move.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,4DAAmC;AACnC,iDAA2B;AAC3B,kCAAiD;AACjD,sCAA2C;AAE3C,MAAM,OAAO,GAAQ,EAAE,CAAA;AACvB,IAAI,YAAY,GAAQ,EAAE,CAAA;AAC1B,MAAM,UAAU,GAAG,IAAI,oBAAa,CAAC,eAAQ,CAAC,MAAM,CAAC,CAAA;AACrD,UAAU,CAAC,KAAK,CAAC;IACf,SAAS,CAAC,QAAQ;QAChB,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAA;IAC1B,CAAC;IACD,SAAS,CAAC,QAAQ,EAAE,IAAI;QACtB,MAAM,MAAM,GAAG,UAAU,CAAC,SAAS,CAAC,wBAAe,EAAE,QAAQ,CAAC,CAAA;QAC9D,KAAK,IAAI,GAAG,IAAI,IAAI,EAAE;YACpB,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAA;SACxB;QACD,IAAI,MAAM,CAAC,MAAM,EAAE;YACjB,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;SAC5D;QACD,OAAO,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAA;QAC1B,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAA;QACjC,OAAO,MAAM,CAAA;IACf,CAAC;IACD,iBAAiB,CAAC,KAAK,EAAE,MAAM;QAC7B,OAAO,EAAE,CAAA;IACX,CAAC;CACF,CAAC,CAAA;AAEF,IAAI,CAAC,GAAC,CAAC,CAAA;AAEP,SAAS,OAAO,CAAC,IAAI;IACnB,MAAM,GAAG,GAAG,IAAI,aAAM,EAAE,CAAA;IACxB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACnB,aAAM,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,CAAC,CAAA;AACjC,CAAC;AAED,SAAe,WAAW,CAAC,IAAI;;QAC7B,YAAY,GAAG,EAAE,CAAA;QACjB,MAAM,GAAG,GAAG,EAAE,CAAA;QACd,KAAK,IAAI,MAAM,IAAI,IAAI,EAAE;YACvB,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA;YAC7C,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;YACvD,IAAI,MAAM,EAAE;gBACV,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG;oBACf,QAAQ,EAAE;wBACR,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;wBACpB,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;wBACpB,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;qBACrB;oBACD,SAAS,EAAE,MAAM,CAAC,SAAS;iBAC5B,CAAA;aACF;SACF;QACD,OAAO,GAAG,CAAA;IACZ,CAAC;CAAA;AAED,oBAAU,CAAC,MAAM,CAAC;IAChB,OAAO;IACP,WAAW;CACZ,CAAC,CAAC"}
1
+ {"version":3,"file":"move.js","sourceRoot":"","sources":["../../src/workers/move.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,4DAAmC;AACnC,gCAAqC;AACrC,kCAAiD;AACjD,sCAA2C;AAE3C,MAAM,OAAO,GAAQ,EAAE,CAAA;AACvB,IAAI,YAAY,GAAQ,EAAE,CAAA;AAC1B,MAAM,UAAU,GAAG,IAAI,oBAAa,CAAC,eAAQ,CAAC,MAAM,CAAC,CAAA;AACrD,UAAU,CAAC,KAAK,CAAC;IACf,SAAS,CAAC,QAAQ;QAChB,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAA;IAC1B,CAAC;IACD,SAAS,CAAC,QAAQ,EAAE,IAAI;QACtB,MAAM,MAAM,GAAG,UAAU,CAAC,SAAS,CAAC,wBAAe,EAAE,QAAQ,CAAC,CAAA;QAC9D,KAAK,IAAI,GAAG,IAAI,IAAI,EAAE;YACpB,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAA;SACxB;QACD,IAAI,MAAM,CAAC,MAAM,EAAE;YACjB,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;SAC5D;QACD,OAAO,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAA;QAC1B,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAA;QACjC,OAAO,MAAM,CAAA;IACf,CAAC;IACD,iBAAiB,CAAC,KAAK,EAAE,MAAM;QAC7B,OAAO,EAAE,CAAA;IACX,CAAC;CACF,CAAC,CAAA;AAEF,IAAI,CAAC,GAAC,CAAC,CAAA;AAEP,SAAS,OAAO,CAAC,IAAI;IACnB,MAAM,GAAG,GAAG,IAAI,kBAAY,EAAE,CAAA;IAC9B,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACnB,kBAAY,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,CAAC,CAAA;AACvC,CAAC;AAED,SAAe,WAAW,CAAC,IAAI;;QAC7B,YAAY,GAAG,EAAE,CAAA;QACjB,MAAM,GAAG,GAAG,EAAE,CAAA;QACd,KAAK,IAAI,MAAM,IAAI,IAAI,EAAE;YACvB,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA;YAC7C,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;YACvD,IAAI,MAAM,EAAE;gBACV,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG;oBACf,QAAQ,EAAE;wBACR,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;wBACpB,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;wBACpB,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;qBACrB;oBACD,SAAS,EAAE,MAAM,CAAC,SAAS;iBAC5B,CAAA;aACF;SACF;QACD,OAAO,GAAG,CAAA;IACZ,CAAC;CAAA;AAED,oBAAU,CAAC,MAAM,CAAC;IAChB,OAAO;IACP,WAAW;CACZ,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rpgjs/common",
3
- "version": "3.0.0-beta.7",
3
+ "version": "3.0.0-beta.8",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "types": "./lib/index.d.ts",
@@ -18,10 +18,12 @@
18
18
  "author": "Samuel Ronce",
19
19
  "license": "MIT",
20
20
  "dependencies": {
21
+ "@rpgjs/tiled": "^3.0.0-beta.8",
22
+ "rbush": "^3.0.1",
21
23
  "sat": "^0.9.0",
22
24
  "workerpool": "^6.2.0"
23
25
  },
24
- "gitHead": "c7017c71e58e83b54d85d8b41bd530eb69cd4d8f",
26
+ "gitHead": "ab845a7414ff25b0e756fe639b229d62f477bdf0",
25
27
  "devDependencies": {
26
28
  "typescript": "^4.3.5"
27
29
  }