@rpgjs/server 3.0.0-beta.3 → 3.0.0-beta.4

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/Map.d.ts CHANGED
@@ -1,32 +1,112 @@
1
- import { RpgCommonMap } from '@rpgjs/common';
1
+ import { RpgCommonMap, RpgShape } from '@rpgjs/common';
2
2
  import * as Kompute from 'kompute/build/Kompute';
3
3
  import { EventOptions } from '../decorators/event';
4
4
  import { EventMode, RpgEvent } from '../Event';
5
5
  import { RpgPlayer } from '../Player/Player';
6
- declare type EventOption = {
6
+ import { RpgServerEngine } from '../server';
7
+ export declare type EventPosOption = {
7
8
  x: number;
8
9
  y: number;
10
+ z?: number;
9
11
  event: EventOptions;
10
- } | EventOptions;
12
+ };
13
+ export declare type EventOption = EventPosOption | EventOptions;
11
14
  export declare class RpgMap extends RpgCommonMap {
12
15
  private _server;
13
16
  _events: EventOption[];
14
- id: any;
17
+ /**
18
+ * @title map id
19
+ * @readonly
20
+ * @prop {string} [id]
21
+ * @memberof Map
22
+ * */
23
+ readonly id: string;
15
24
  file: any;
25
+ /**
26
+ * @title event list
27
+ * @prop { { [eventId: string]: RpgEvent } } [events]
28
+ * @memberof Map
29
+ * */
16
30
  events: {
17
31
  [eventId: string]: RpgEvent;
18
32
  };
19
33
  kWorld: Kompute;
20
34
  entityManager: any;
21
- constructor(_server: any);
35
+ constructor(_server: RpgServerEngine);
22
36
  load(): Promise<void>;
23
37
  get game(): any;
24
38
  onLoad(): void;
25
39
  onJoin(player: RpgPlayer): void;
26
40
  onLeave(player: RpgPlayer): void;
27
41
  autoLoadEvent(): void;
28
- getEventShape(eventName: string): any | null;
29
- createEvent(obj: EventOption, mode: EventMode, shape?: any): RpgEvent | null;
42
+ /**
43
+ * Edit a tile on the map. All players on the map will see the modified tile
44
+ *
45
+ *
46
+ * @title Change Tile in map
47
+ * @since 3.0.0-beta.4
48
+ * @method map.setTile(x,y,layer,tileInfo)
49
+ * @param {number} x Position X
50
+ * @param {number} y Position Y
51
+ * @param {string | ((layer: any) => boolean)} layer Name of the layer where you want to put a tile. OYou can also put a function that will act as a filter. The first parameter is the layer and you return a boolean to indicate if you modify the tile of this layer or not
52
+ * @param {object} tileInfo Object with the following properties:
53
+ * - {number} gid: The tile number in tileset (from 1)
54
+ * - {object} properties Property of the tile. You own object. To set a collision, set the `collision:true` property
55
+ * @example
56
+ * ```ts
57
+ * map.setTile(15, 18, 'mylayer', { gid: 2 })
58
+ * ```
59
+ * @returns {void}
60
+ * @memberof Map
61
+ */
62
+ setTile(x: number, y: number, layerFilter: string | ((layer: any) => boolean), tileInfo: {
63
+ gid: number;
64
+ properties?: object;
65
+ }): any;
66
+ getEventShape(eventName: string): RpgShape | undefined;
67
+ /**
68
+ * Dynamically create an event in Shared mode
69
+ *
70
+ * ```ts
71
+ * @EventData({
72
+ * name: 'EV-1'
73
+ * })
74
+ * class MyEvent extends RpgEvent {
75
+ * onAction() {
76
+ * console.log('ok')
77
+ * }
78
+ * }
79
+ *
80
+ * map.createDynamicEvent({
81
+ * x: 100,
82
+ * y: 100,
83
+ * event: MyEvent
84
+ * })
85
+ * ```
86
+ *
87
+ * You can also put an array of objects to create several events at once
88
+ *
89
+ * @title Create Dynamic Event
90
+ * @since 3.0.0-beta.4
91
+ * @method map.createDynamicEvent(eventObj|eventObj[])
92
+ * @param { { x: number, y: number, z?: number, event: eventClass } } eventsList
93
+ * @returns { { [eventId: string]: RpgEvent } }
94
+ * @memberof Map
95
+ */
96
+ createDynamicEvent(eventsList: EventPosOption | EventPosOption[]): {
97
+ [eventId: string]: RpgEvent;
98
+ };
99
+ /**
100
+ * Removes an event from the map. Returns false if the event is not found
101
+ * @title Remove Event
102
+ * @since 3.0.0-beta.4
103
+ * @method map.removeEvent(eventId)
104
+ * @param {string} eventId Event Name
105
+ * @returns {boolean}
106
+ * @memberof Map
107
+ */
108
+ removeEvent(eventId: string): boolean;
109
+ createEvent(obj: EventPosOption, mode: EventMode, shape?: any): RpgEvent | null;
30
110
  createEvents(eventsList: EventOption[], mode: EventMode): {
31
111
  [eventId: string]: RpgEvent;
32
112
  };
@@ -37,4 +117,3 @@ export interface RpgMap {
37
117
  sounds: string[];
38
118
  $setSchema: (schema: any) => void;
39
119
  }
40
- export {};
package/lib/Game/Map.js CHANGED
@@ -72,6 +72,11 @@ class RpgMap extends common_1.RpgCommonMap {
72
72
  constructor(_server) {
73
73
  super();
74
74
  this._server = _server;
75
+ /**
76
+ * @title event list
77
+ * @prop { { [eventId: string]: RpgEvent } } [events]
78
+ * @memberof Map
79
+ * */
75
80
  this.events = {};
76
81
  this.entityManager = new YUKA.EntityManager();
77
82
  }
@@ -86,13 +91,7 @@ class RpgMap extends common_1.RpgCommonMap {
86
91
  const data = yield this.parseFile();
87
92
  _super.load.call(this, data);
88
93
  common_1.RpgCommonMap.buffer.set(this.id, this);
89
- //this.kWorld = new Kompute.World(data.width * data.tileWidth, data.height * data.tileHeight, 1000, 32)
90
- this.events = this.createEvents(this._events, Event_1.EventMode.Shared);
91
- // TODO
92
- // this.autoLoadEvent()
93
- for (let key in this.events) {
94
- this.events[key].execMethod('onInit');
95
- }
94
+ this.createDynamicEvent(this._events);
96
95
  this.onLoad();
97
96
  });
98
97
  }
@@ -135,19 +134,104 @@ class RpgMap extends common_1.RpgCommonMap {
135
134
  }
136
135
  });
137
136
  }
137
+ /**
138
+ * Edit a tile on the map. All players on the map will see the modified tile
139
+ *
140
+ *
141
+ * @title Change Tile in map
142
+ * @since 3.0.0-beta.4
143
+ * @method map.setTile(x,y,layer,tileInfo)
144
+ * @param {number} x Position X
145
+ * @param {number} y Position Y
146
+ * @param {string | ((layer: any) => boolean)} layer Name of the layer where you want to put a tile. OYou can also put a function that will act as a filter. The first parameter is the layer and you return a boolean to indicate if you modify the tile of this layer or not
147
+ * @param {object} tileInfo Object with the following properties:
148
+ * - {number} gid: The tile number in tileset (from 1)
149
+ * - {object} properties Property of the tile. You own object. To set a collision, set the `collision:true` property
150
+ * @example
151
+ * ```ts
152
+ * map.setTile(15, 18, 'mylayer', { gid: 2 })
153
+ * ```
154
+ * @returns {void}
155
+ * @memberof Map
156
+ */
157
+ setTile(x, y, layerFilter, tileInfo) {
158
+ const tiles = super.setTile(x, y, layerFilter, tileInfo);
159
+ const players = Object.values(this['users']);
160
+ for (let player of players) {
161
+ player.emit('changeTile', tiles);
162
+ }
163
+ return tiles;
164
+ }
138
165
  // TODO: return type
139
166
  getEventShape(eventName) {
140
167
  return this.getShapes().find(shape => shape.name == eventName);
141
168
  }
169
+ /**
170
+ * Dynamically create an event in Shared mode
171
+ *
172
+ * ```ts
173
+ * @EventData({
174
+ * name: 'EV-1'
175
+ * })
176
+ * class MyEvent extends RpgEvent {
177
+ * onAction() {
178
+ * console.log('ok')
179
+ * }
180
+ * }
181
+ *
182
+ * map.createDynamicEvent({
183
+ * x: 100,
184
+ * y: 100,
185
+ * event: MyEvent
186
+ * })
187
+ * ```
188
+ *
189
+ * You can also put an array of objects to create several events at once
190
+ *
191
+ * @title Create Dynamic Event
192
+ * @since 3.0.0-beta.4
193
+ * @method map.createDynamicEvent(eventObj|eventObj[])
194
+ * @param { { x: number, y: number, z?: number, event: eventClass } } eventsList
195
+ * @returns { { [eventId: string]: RpgEvent } }
196
+ * @memberof Map
197
+ */
198
+ createDynamicEvent(eventsList) {
199
+ if (!eventsList)
200
+ return {};
201
+ if (!common_1.Utils.isArray(eventsList)) {
202
+ eventsList = [eventsList];
203
+ }
204
+ const events = this.createEvents(eventsList, Event_1.EventMode.Shared);
205
+ for (let key in events) {
206
+ this.events[key] = events[key];
207
+ this.events[key].execMethod('onInit');
208
+ }
209
+ return events;
210
+ }
211
+ /**
212
+ * Removes an event from the map. Returns false if the event is not found
213
+ * @title Remove Event
214
+ * @since 3.0.0-beta.4
215
+ * @method map.removeEvent(eventId)
216
+ * @param {string} eventId Event Name
217
+ * @returns {boolean}
218
+ * @memberof Map
219
+ */
220
+ removeEvent(eventId) {
221
+ if (!this.events[eventId])
222
+ return false;
223
+ delete this.events[eventId];
224
+ return true;
225
+ }
142
226
  createEvent(obj, mode, shape) {
143
227
  let event, position;
144
228
  // We retrieve the information of the event ([Event] or [{event: Event, x: number, y: number}])
145
- if (obj['x'] === undefined) {
229
+ if (obj.x === undefined) {
146
230
  event = obj;
147
231
  }
148
232
  else {
149
- event = obj['event'];
150
- position = { x: obj['x'], y: obj['y'] };
233
+ event = obj.event;
234
+ position = { x: obj.x, y: obj.y, z: 0 };
151
235
  }
152
236
  // The event is ignored if the mode is different.
153
237
  if (event.mode != mode) {
@@ -1 +1 @@
1
- {"version":3,"file":"Map.js","sourceRoot":"","sources":["../../src/Game/Map.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Map.js","sourceRoot":"","sources":["../../src/Game/Map.ts"],"names":[],"mappings":"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"}
@@ -93,7 +93,7 @@ export declare class ElementManager extends ItemFixture {
93
93
  * @readonly
94
94
  * @memberof ElementManager
95
95
  * */
96
- get elements(): unknown[];
96
+ get elements(): any[];
97
97
  coefficientElements(otherPlayer: RpgPlayer): number;
98
98
  }
99
99
  export interface ElementManager {
@@ -13,11 +13,13 @@ import { VariableManager } from './VariableManager';
13
13
  import { MoveManager } from './MoveManager';
14
14
  import { BattleManager } from './BattleManager';
15
15
  import { BehaviorManager } from './BehaviorManager';
16
- export declare type Position = {
16
+ import { EventPosOption } from '../Game/Map';
17
+ import { RpgEvent } from '..';
18
+ export interface Position {
17
19
  x: number;
18
20
  y: number;
19
21
  z: number;
20
- };
22
+ }
21
23
  export declare class RpgPlayer extends RpgCommonPlayer {
22
24
  readonly type: string;
23
25
  static schemas: {
@@ -157,9 +159,10 @@ export declare class RpgPlayer extends RpgCommonPlayer {
157
159
  hHitbox: NumberConstructor;
158
160
  };
159
161
  private _name;
160
- events: any[];
162
+ events: any;
161
163
  param: any;
162
164
  _rooms: never[];
165
+ prevMap: string;
163
166
  constructor(gameEngine?: any, playerId?: any);
164
167
  teleported: number;
165
168
  initialize(): void;
@@ -201,6 +204,48 @@ export declare class RpgPlayer extends RpgCommonPlayer {
201
204
  * @memberof Player
202
205
  */
203
206
  changeMap(mapId: string, positions?: any): Promise<RpgMap>;
207
+ /**
208
+ * Dynamically create an event in Scenario mode on the current map
209
+ *
210
+ * ```ts
211
+ * @EventData({
212
+ * name: 'EV-1'
213
+ * })
214
+ * class MyEvent extends RpgEvent {
215
+ * onAction() {
216
+ * console.log('ok')
217
+ * }
218
+ * }
219
+ *
220
+ * player.createDynamicEvent({
221
+ * x: 100,
222
+ * y: 100,
223
+ * event: MyEvent
224
+ * })
225
+ * ```
226
+ *
227
+ * You can also put an array of objects to create several events at once
228
+ *
229
+ * @title Create Dynamic Event
230
+ * @since 3.0.0-beta.4
231
+ * @method player.createDynamicEvent(eventObj | eventObj[])
232
+ * @param { { x: number, y: number, z?: number, event: eventClass } } [eventsList]
233
+ * @returns { { [eventId: string]: RpgEvent } }
234
+ * @memberof Player
235
+ */
236
+ createDynamicEvent(eventsList: EventPosOption | EventPosOption[], forceMode?: boolean): {
237
+ [eventId: string]: RpgEvent;
238
+ };
239
+ /**
240
+ * Removes an event from the map (Scenario Mode). Returns false if the event is not found
241
+ * @title Remove Event
242
+ * @since 3.0.0-beta.4
243
+ * @method player.removeEvent(eventId)
244
+ * @param {string} eventId Event Name
245
+ * @returns {boolean}
246
+ * @memberof Player
247
+ */
248
+ removeEvent(eventId: string): boolean;
204
249
  /**
205
250
  * Allows to change the positions of the player on the current map.
206
251
  * You can put the X and Y positions or the name of the created shape on Tiled Map Editor.
@@ -228,7 +273,11 @@ export declare class RpgPlayer extends RpgCommonPlayer {
228
273
  * @returns { {x: number, y: number, z: number} }
229
274
  * @memberof Player
230
275
  */
231
- teleport(positions?: Position | string): Position;
276
+ teleport(positions?: {
277
+ x: number;
278
+ y: number;
279
+ z?: number;
280
+ } | string): Position;
232
281
  startBattle(enemies: {
233
282
  enemy: any;
234
283
  level: number;
@@ -289,10 +338,6 @@ export declare class RpgPlayer extends RpgCommonPlayer {
289
338
  loadScene(name: string, data: any): void;
290
339
  private _getMap;
291
340
  showEffect(): void;
292
- /**
293
- * @todo
294
- */
295
- createDynamicEvent(obj: any, mode: any): RpgPlayer | null;
296
341
  /**
297
342
  * Calls the showAnimation() method on the client side to display an animation on the player
298
343
  * You must remember to create the spritesheet beforehand
@@ -50,6 +50,7 @@ const MoveManager_1 = require("./MoveManager");
50
50
  const BattleManager_1 = require("./BattleManager");
51
51
  const presets_1 = require("../presets");
52
52
  const BehaviorManager_1 = require("./BehaviorManager");
53
+ const __1 = require("..");
53
54
  const { isPromise, applyMixins, isString } = common_1.Utils;
54
55
  const itemSchemas = {
55
56
  name: String,
@@ -102,8 +103,9 @@ class RpgPlayer extends common_1.RpgCommonPlayer {
102
103
  constructor(gameEngine, playerId) {
103
104
  super(gameEngine, playerId);
104
105
  this.type = 'player';
105
- this.events = [];
106
+ this.events = {};
106
107
  this._rooms = [];
108
+ this.prevMap = '';
107
109
  // As soon as a teleport has been made, the value is changed to force the client to change the positions on the map without making a move.
108
110
  this.teleported = 0;
109
111
  this.initialize();
@@ -201,6 +203,74 @@ class RpgPlayer extends common_1.RpgCommonPlayer {
201
203
  changeMap(mapId, positions) {
202
204
  return this.server.getScene('map').changeMap(mapId, this, positions);
203
205
  }
206
+ /**
207
+ * Dynamically create an event in Scenario mode on the current map
208
+ *
209
+ * ```ts
210
+ * @EventData({
211
+ * name: 'EV-1'
212
+ * })
213
+ * class MyEvent extends RpgEvent {
214
+ * onAction() {
215
+ * console.log('ok')
216
+ * }
217
+ * }
218
+ *
219
+ * player.createDynamicEvent({
220
+ * x: 100,
221
+ * y: 100,
222
+ * event: MyEvent
223
+ * })
224
+ * ```
225
+ *
226
+ * You can also put an array of objects to create several events at once
227
+ *
228
+ * @title Create Dynamic Event
229
+ * @since 3.0.0-beta.4
230
+ * @method player.createDynamicEvent(eventObj | eventObj[])
231
+ * @param { { x: number, y: number, z?: number, event: eventClass } } [eventsList]
232
+ * @returns { { [eventId: string]: RpgEvent } }
233
+ * @memberof Player
234
+ */
235
+ createDynamicEvent(eventsList, forceMode = true) {
236
+ if (!eventsList)
237
+ return {};
238
+ const mapInstance = this.getCurrentMap();
239
+ if (!mapInstance) {
240
+ throw 'The player is not assigned to any map';
241
+ }
242
+ if (!common_1.Utils.isArray(eventsList)) {
243
+ eventsList = [eventsList];
244
+ }
245
+ let eventsListMode = eventsList;
246
+ if (forceMode) {
247
+ eventsListMode = eventsList.map(event => {
248
+ event.event.mode = __1.EventMode.Scenario;
249
+ return event;
250
+ });
251
+ }
252
+ const events = mapInstance.createEvents(eventsListMode, __1.EventMode.Scenario);
253
+ for (let key in events) {
254
+ this.events[key] = events[key];
255
+ this.events[key].execMethod('onInit', [this]);
256
+ }
257
+ return events;
258
+ }
259
+ /**
260
+ * Removes an event from the map (Scenario Mode). Returns false if the event is not found
261
+ * @title Remove Event
262
+ * @since 3.0.0-beta.4
263
+ * @method player.removeEvent(eventId)
264
+ * @param {string} eventId Event Name
265
+ * @returns {boolean}
266
+ * @memberof Player
267
+ */
268
+ removeEvent(eventId) {
269
+ if (!this.events[eventId])
270
+ return false;
271
+ delete this.events[eventId];
272
+ return true;
273
+ }
204
274
  /**
205
275
  * Allows to change the positions of the player on the current map.
206
276
  * You can put the X and Y positions or the name of the created shape on Tiled Map Editor.
@@ -238,7 +308,7 @@ class RpgPlayer extends common_1.RpgCommonPlayer {
238
308
  this.teleported++;
239
309
  this.position = positions;
240
310
  // force interaction with event or shape
241
- this.move(this.position);
311
+ this.isCollided(this.position);
242
312
  return positions;
243
313
  }
244
314
  startBattle(enemies) {
@@ -382,18 +452,6 @@ class RpgPlayer extends common_1.RpgCommonPlayer {
382
452
  params: []
383
453
  });
384
454
  }
385
- /**
386
- * @todo
387
- */
388
- createDynamicEvent(obj, mode) {
389
- const map = this.mapInstance;
390
- const event = map.createEvent(obj, mode);
391
- if (event) {
392
- map.events[event.name] = event;
393
- event.execMethod('onInit');
394
- }
395
- return event;
396
- }
397
455
  /**
398
456
  * Calls the showAnimation() method on the client side to display an animation on the player
399
457
  * You must remember to create the spritesheet beforehand
@@ -1 +1 @@
1
- {"version":3,"file":"Player.js","sourceRoot":"","sources":["../../src/Player/Player.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Player.js","sourceRoot":"","sources":["../../src/Player/Player.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,26 @@
1
- import { ModuleType, RpgShape } from '@rpgjs/common';
1
+ import { ModuleType, RpgShape, Direction, Control } from '@rpgjs/common';
2
2
  import { RpgPlayer } from './Player/Player';
3
3
  import { RpgMap } from './Game/Map';
4
4
  import { RpgServerEngine } from './server';
5
+ import { MapOptions } from './decorators/map';
5
6
  interface RpgClassMap<T> {
6
7
  new (server: any): T;
7
8
  }
8
9
  export interface RpgServerEngineHooks {
10
+ /**
11
+ * When the server starts
12
+ *
13
+ * @prop { (engine: RpgServerEngine) => any } [onStart]
14
+ * @memberof RpgServerEngineHooks
15
+ */
9
16
  onStart?: (server: RpgServerEngine) => any;
17
+ /**
18
+ * At each server frame. Normally represents 60FPS
19
+ *
20
+ * @prop { (engine: RpgServerEngine) => any } [onStep]
21
+ * @memberof RpgServerEngineHooks
22
+ */
23
+ onStep?: (server: RpgServerEngine) => any;
10
24
  }
11
25
  export interface RpgPlayerHooks {
12
26
  /**
@@ -26,11 +40,12 @@ export interface RpgPlayerHooks {
26
40
  /**
27
41
  * When the player presses a key on the client side
28
42
  *
29
- * @prop { (player: RpgPlayer, data: { input: any }) => any } [onInput]
43
+ * @prop { (player: RpgPlayer, data: { input: Direction | Control | string, moving: boolean }) => any } [onInput]
30
44
  * @memberof RpgPlayerHooks
31
45
  */
32
46
  onInput?: (player: RpgPlayer, data: {
33
- input: any;
47
+ input: Direction | Control | string;
48
+ moving: boolean;
34
49
  }) => any;
35
50
  /**
36
51
  * When the player leaves the map
@@ -66,7 +81,7 @@ export interface RpgPlayerHooks {
66
81
  * When the player enters the shape
67
82
  *
68
83
  * @prop { (player: RpgPlayer, shape: RpgShape) => any } [onInShape]
69
- * @since beta.3
84
+ * 3.0.0-beta.3
70
85
  * @memberof RpgPlayerHooks
71
86
  */
72
87
  onInShape?: (player: RpgPlayer, shape: RpgShape) => any;
@@ -74,10 +89,18 @@ export interface RpgPlayerHooks {
74
89
  * When the player leaves the shape
75
90
  *
76
91
  * @prop { (player: RpgPlayer, shape: RpgShape) => any } [onOutShape]
77
- * @since beta.3
92
+ * 3.0.0-beta.3
78
93
  * @memberof RpgPlayerHooks
79
94
  */
80
95
  onOutShape?: (player: RpgPlayer, shape: RpgShape) => any;
96
+ /**
97
+ * When the x, y positions change
98
+ *
99
+ * @prop { (player: RpgPlayer) => any } [onMove]
100
+ * @since 3.0.0-beta.4
101
+ * @memberof RpgPlayerHooks
102
+ */
103
+ onMove?: (player: RpgPlayer) => any;
81
104
  }
82
105
  export interface RpgServer {
83
106
  /**
@@ -171,10 +194,26 @@ export interface RpgServer {
171
194
  * class RpgServerEngine { }
172
195
  * ```
173
196
  *
197
+ * It is possible to just give the object as well
198
+ *
199
+ * ```ts
200
+ * @RpgModule<RpgServer>({
201
+ * maps: [
202
+ * {
203
+ * id: 'town',
204
+ * file: require('./tmx/mymap.tmx'),
205
+ * name: 'Town'
206
+ * }
207
+ * ]
208
+ * })
209
+ * class RpgServerEngine { }
210
+ * ```
211
+ *
212
+ *
174
213
  * @prop {RpgClassMap<RpgMap>[]} [maps]
175
214
  * @memberof RpgServer
176
215
  * */
177
- maps?: RpgClassMap<RpgMap>[];
216
+ maps?: RpgClassMap<RpgMap>[] | MapOptions[];
178
217
  /**
179
218
  * Combat formula used in the method player.applyDamage(). There are already formulas in the RPGJS engine but you can customize them
180
219
  *
@@ -1,4 +1,6 @@
1
+ import { MapOptions } from '../decorators/map';
1
2
  import { RpgMap } from '../Game/Map';
3
+ import { RpgPlayer } from '../Player/Player';
2
4
  export declare class SceneMap {
3
5
  private maps;
4
6
  private server;
@@ -7,5 +9,33 @@ export declare class SceneMap {
7
9
  constructor(maps: any[], server: any);
8
10
  getMapBydId(id: any): any;
9
11
  loadMap(id: string): Promise<RpgMap>;
10
- changeMap(mapId: any, player: any, positions?: any): Promise<RpgMap>;
12
+ /**
13
+ * Create a dynamic map
14
+ *
15
+ * @method sceneMap.createDynamicMap(mapData)
16
+ * @title Create a dynamic map
17
+ * @param {object | RpgMap} mapData The same property as [@MapData decorator](https://docs.rpgjs.dev/classes/map.html#mapdata-decorator)
18
+ * @returns {void}
19
+ * @since 3.0.0-beta.4
20
+ * @memberof SceneMap
21
+ * @example
22
+ * ```ts
23
+ * sceneMap.createDynamicMap({
24
+ * id: 'myid',
25
+ * file: require('./tmx/mymap.tmx')
26
+ * })
27
+ * ```
28
+ *
29
+ * And later, on the player:
30
+ *
31
+ * ```ts
32
+ * player.changeMap('myid')
33
+ * ```
34
+ */
35
+ createDynamicMap(mapData: MapOptions): void;
36
+ changeMap(mapId: string, player: RpgPlayer, positions?: {
37
+ x: number;
38
+ y: number;
39
+ z: number;
40
+ } | string): Promise<RpgMap>;
11
41
  }
package/lib/Scenes/Map.js CHANGED
@@ -12,7 +12,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.SceneMap = void 0;
13
13
  const common_1 = require("@rpgjs/common");
14
14
  const sync_server_1 = require("@rpgjs/sync-server");
15
- const Event_1 = require("../Event");
16
15
  class SceneMap {
17
16
  constructor(maps, server) {
18
17
  this.maps = maps;
@@ -21,16 +20,18 @@ class SceneMap {
21
20
  this.mapsById = {};
22
21
  if (this.maps) {
23
22
  for (let map of this.maps) {
24
- this.mapsById[map.id] = map;
23
+ this.createDynamicMap(map);
25
24
  }
26
25
  }
27
26
  }
28
27
  getMapBydId(id) {
29
- const mapClass = this.mapsById[id];
28
+ let mapClass = this.mapsById[id];
30
29
  if (!mapClass) {
31
30
  console.log(`Map ${id} not exists`);
32
31
  return false;
33
32
  }
33
+ if (!common_1.Utils.isClass(mapClass))
34
+ mapClass = common_1.Utils.createConstructor(mapClass);
34
35
  return mapClass;
35
36
  }
36
37
  loadMap(id) {
@@ -50,6 +51,33 @@ class SceneMap {
50
51
  return mapInstance;
51
52
  });
52
53
  }
54
+ /**
55
+ * Create a dynamic map
56
+ *
57
+ * @method sceneMap.createDynamicMap(mapData)
58
+ * @title Create a dynamic map
59
+ * @param {object | RpgMap} mapData The same property as [@MapData decorator](https://docs.rpgjs.dev/classes/map.html#mapdata-decorator)
60
+ * @returns {void}
61
+ * @since 3.0.0-beta.4
62
+ * @memberof SceneMap
63
+ * @example
64
+ * ```ts
65
+ * sceneMap.createDynamicMap({
66
+ * id: 'myid',
67
+ * file: require('./tmx/mymap.tmx')
68
+ * })
69
+ * ```
70
+ *
71
+ * And later, on the player:
72
+ *
73
+ * ```ts
74
+ * player.changeMap('myid')
75
+ * ```
76
+ */
77
+ createDynamicMap(mapData) {
78
+ mapData.id = mapData.id || common_1.Utils.generateUID();
79
+ this.mapsById[mapData.id] = mapData;
80
+ }
53
81
  changeMap(mapId, player, positions) {
54
82
  return __awaiter(this, void 0, void 0, function* () {
55
83
  player.prevMap = player.map;
@@ -57,8 +85,7 @@ class SceneMap {
57
85
  player.events = [];
58
86
  if (player.prevMap) {
59
87
  sync_server_1.World.leaveRoom(player.prevMap, player.id);
60
- player.execMethod('onLeave', [player], player.mapInstance);
61
- player.execMethod('onLeaveMap', [player.mapInstance]);
88
+ player.execMethod('onLeaveMap', [player.getCurrentMap()]);
62
89
  }
63
90
  const mapInstance = yield this.loadMap(mapId);
64
91
  if (!player.height)
@@ -79,12 +106,10 @@ class SceneMap {
79
106
  player.loadScene('map', Object.assign({ id: mapId, sounds: mapInstance.sounds }, serializeMap));
80
107
  sync_server_1.World.joinRoom(mapId, player.id);
81
108
  player = sync_server_1.World.getUser(player.id);
82
- player.execMethod('onEnter', [player, player.prevMap || null], mapInstance);
83
- player.execMethod('onJoinMap', [mapInstance]);
84
- player.teleport(positions || 'start');
85
- player.events = mapInstance.createEvents(mapInstance._events, Event_1.EventMode.Scenario);
86
- for (let key in player.events) {
87
- player.events[key].execMethod('onInit', [player]);
109
+ if (player) {
110
+ player.execMethod('onJoinMap', [mapInstance]);
111
+ player.teleport(positions || 'start');
112
+ player.createDynamicEvent(mapInstance._events, false);
88
113
  }
89
114
  return mapInstance;
90
115
  });
@@ -1 +1 @@
1
- {"version":3,"file":"Map.js","sourceRoot":"","sources":["../../src/Scenes/Map.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,0CAA4C;AAC5C,oDAA0C;AAC1C,oCAAqC;AAGrC,MAAa,QAAQ;IAMjB,YAAoB,IAAW,EAAU,MAAW;QAAhC,SAAI,GAAJ,IAAI,CAAO;QAAU,WAAM,GAAN,MAAM,CAAK;QAF5C,aAAQ,GAAW,EAAE,CAAA;QAGzB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAA;QAClB,IAAI,IAAI,CAAC,IAAI,EAAE;YACX,KAAK,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE;gBACvB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAA;aAC9B;SACJ;IACL,CAAC;IAED,WAAW,CAAC,EAAE;QACV,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;QAClC,IAAI,CAAC,QAAQ,EAAE;YACX,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,aAAa,CAAC,CAAA;YACnC,OAAO,KAAK,CAAA;SACf;QACD,OAAO,QAAQ,CAAA;IACnB,CAAC;IAEK,OAAO,CAAC,EAAU;;YACpB,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;YACrC,IAAI,WAAW,CAAA;YAEf,IAAI,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;gBACzB,OAAO,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;aACjC;YAED,IAAI,qBAAY,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;gBAC7B,WAAW,GAAI,qBAAY,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;aAC7C;iBACI;gBACD,WAAW,GAAG,mBAAK,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;gBAC1D,MAAM,WAAW,CAAC,IAAI,EAAE,CAAA;aAC3B;YAED,OAAO,WAAW,CAAA;QACtB,CAAC;KAAA;IAEK,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,SAAU;;YAErC,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAA;YAC3B,MAAM,CAAC,GAAG,GAAG,KAAK,CAAA;YAClB,MAAM,CAAC,MAAM,GAAG,EAAE,CAAA;YAElB,IAAI,MAAM,CAAC,OAAO,EAAE;gBAChB,mBAAK,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC,CAAA;gBAC1C,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC,CAAA;gBAC1D,MAAM,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAA;aACxD;YAED,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;YAE7C,IAAI,CAAC,MAAM,CAAC,MAAM;gBAAE,MAAM,CAAC,MAAM,GAAG,WAAW,CAAC,UAAU,CAAA;YAC1D,IAAI,CAAC,MAAM,CAAC,KAAK;gBAAE,MAAM,CAAC,KAAK,GAAG,WAAW,CAAC,SAAS,CAAA;YACvD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,WAAW,CAAC,UAAU,CAAA;YAC9D,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,WAAW,CAAC,SAAS,CAAA;YAE7D,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,qBAAY,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAA;YAC9E,OAAO,YAAY,CAAC,MAAM,CAAA;YAC1B,OAAO,YAAY,CAAC,MAAM,CAAA;YAC1B,OAAO,YAAY,CAAC,OAAO,CAAA;YAE3B,KAAK,IAAI,KAAK,IAAI,YAAY,CAAC,MAAM,EAAE;gBACnC,OAAO,KAAK,CAAC,GAAG,CAAA;aACnB;YAED,MAAM,CAAC,SAAS,CAAC,KAAK,kBAClB,EAAE,EAAE,KAAK,EACT,MAAM,EAAE,WAAW,CAAC,MAAM,IACvB,YAAY,EACjB,CAAA;YAEF,mBAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,CAAA;YAEhC,MAAM,GAAG,mBAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;YAEjC,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,EAAE,WAAW,CAAC,CAAA;YAC3E,MAAM,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,WAAW,CAAC,CAAC,CAAA;YAE7C,MAAM,CAAC,QAAQ,CAAC,SAAS,IAAI,OAAO,CAAC,CAAA;YACrC,MAAM,CAAC,MAAM,GAAG,WAAW,CAAC,YAAY,CAAC,WAAW,CAAC,OAAO,EAAE,iBAAS,CAAC,QAAQ,CAAC,CAAA;YACjF,KAAK,IAAI,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE;gBAC3B,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,CAAC,CAAA;aACpD;YACD,OAAO,WAAW,CAAA;QACtB,CAAC;KAAA;;AA1FL,4BA2FC;AAzFmB,WAAE,GAAW,KAAK,CAAA"}
1
+ {"version":3,"file":"Map.js","sourceRoot":"","sources":["../../src/Scenes/Map.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,11 @@
1
- interface MapOptions {
1
+ export interface MapOptions {
2
2
  /**
3
3
  * Map identifier. Allows to go to the map (for example with player.changeMap())
4
4
  *
5
- * @prop {string} id
5
+ * @prop {string} [id]
6
6
  * @memberof MapData
7
7
  * */
8
- id: string;
8
+ id?: string;
9
9
  /**
10
10
  * the path to the .tmx file (Tiled Map Editor)
11
11
  *
@@ -58,7 +58,7 @@ interface MapOptions {
58
58
  * events: [{ event: NpcEvent, x: 10, y: 30 }]
59
59
  * ```
60
60
  *
61
- * @prop {Array<Class RpgEvent> | { event: Class RpgEvent, x: number, y: number }} [events]
61
+ * @prop {Class of RpgEvent[] | { event: Class RpgEvent, x: number, y: number }} [events]
62
62
  * @memberof MapData
63
63
  * */
64
64
  events?: {
@@ -158,4 +158,3 @@ interface MapOptions {
158
158
  syncSchema?: any;
159
159
  }
160
160
  export declare function MapData(options: MapOptions): (target: any) => void;
161
- export {};
@@ -15,10 +15,12 @@ function default_1(modules, options) {
15
15
  onDead: common_1.HookServer.PlayerDead,
16
16
  onDisconnected: common_1.HookServer.PlayerDisconnected,
17
17
  onInShape: common_1.HookServer.PlayerInShape,
18
- onOutShape: common_1.HookServer.PlayerOutShape
18
+ onOutShape: common_1.HookServer.PlayerOutShape,
19
+ onMove: common_1.HookServer.PlayerMove
19
20
  };
20
21
  const relationsEngine = {
21
- onStart: common_1.HookServer.Start
22
+ onStart: common_1.HookServer.Start,
23
+ onStep: common_1.HookServer.Step
22
24
  };
23
25
  common_1.loadModules(modules, {
24
26
  side: 'server',
@@ -1 +1 @@
1
- {"version":3,"file":"entry-point.js","sourceRoot":"","sources":["../src/entry-point.ts"],"names":[],"mappings":";;AAAA,0CAAkF;AAClF,qCAA0C;AAiC1C,mBAAwB,OAAqB,EAAE,OAAmC;IAC9E,MAAM,UAAU,GAAG,IAAI,sBAAa,CAAC,QAAQ,CAAC,CAAA;IAE9C,IAAI,CAAC,OAAO,CAAC,YAAY;QAAE,OAAO,CAAC,YAAY,GAAG,EAAE,CAAA;IAEpD,MAAM,SAAS,GAAG;QACd,WAAW,EAAE,mBAAU,CAAC,eAAe;QACvC,OAAO,EAAE,mBAAU,CAAC,WAAW;QAC/B,SAAS,EAAE,mBAAU,CAAC,aAAa;QACnC,UAAU,EAAE,mBAAU,CAAC,cAAc;QACrC,SAAS,EAAE,mBAAU,CAAC,aAAa;QACnC,MAAM,EAAE,mBAAU,CAAC,UAAU;QAC7B,cAAc,EAAE,mBAAU,CAAC,kBAAkB;QAC7C,SAAS,EAAE,mBAAU,CAAC,aAAa;QACnC,UAAU,EAAE,mBAAU,CAAC,cAAc;KACxC,CAAA;IAED,MAAM,eAAe,GAAG;QACpB,OAAO,EAAE,mBAAU,CAAC,KAAK;KAC5B,CAAA;IAED,oBAAW,CAAC,OAAO,EAAE;QACjB,IAAI,EAAE,QAAQ;QACd,SAAS,EAAE;YACP,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,eAAe;SAC1B;KACJ,CAAC,CAAA;IAEF,MAAM,YAAY,GAAG,IAAI,wBAAe,CAAC,OAAO,CAAC,EAAE,EAAE,UAAU,kBAC3D,KAAK,EAAE,EAAE,EACT,UAAU,EAAE,EAAE,EACd,QAAQ,EAAE,EAAE,EACZ,eAAe,EAAE,CAAC,EAClB,gBAAgB,EAAE,KAAK,IACpB,OAAO,EACZ,CAAA;IACF,OAAO,YAAY,CAAA;AACvB,CAAC;AAtCD,4BAsCC"}
1
+ {"version":3,"file":"entry-point.js","sourceRoot":"","sources":["../src/entry-point.ts"],"names":[],"mappings":";;AAAA,0CAAkF;AAClF,qCAA0C;AAiC1C,mBAAwB,OAAqB,EAAE,OAAmC;IAC9E,MAAM,UAAU,GAAG,IAAI,sBAAa,CAAC,QAAQ,CAAC,CAAA;IAE9C,IAAI,CAAC,OAAO,CAAC,YAAY;QAAE,OAAO,CAAC,YAAY,GAAG,EAAE,CAAA;IAEpD,MAAM,SAAS,GAAG;QACd,WAAW,EAAE,mBAAU,CAAC,eAAe;QACvC,OAAO,EAAE,mBAAU,CAAC,WAAW;QAC/B,SAAS,EAAE,mBAAU,CAAC,aAAa;QACnC,UAAU,EAAE,mBAAU,CAAC,cAAc;QACrC,SAAS,EAAE,mBAAU,CAAC,aAAa;QACnC,MAAM,EAAE,mBAAU,CAAC,UAAU;QAC7B,cAAc,EAAE,mBAAU,CAAC,kBAAkB;QAC7C,SAAS,EAAE,mBAAU,CAAC,aAAa;QACnC,UAAU,EAAE,mBAAU,CAAC,cAAc;QACrC,MAAM,EAAE,mBAAU,CAAC,UAAU;KAChC,CAAA;IAED,MAAM,eAAe,GAAG;QACpB,OAAO,EAAE,mBAAU,CAAC,KAAK;QACzB,MAAM,EAAE,mBAAU,CAAC,IAAI;KAC1B,CAAA;IAED,oBAAW,CAAC,OAAO,EAAE;QACjB,IAAI,EAAE,QAAQ;QACd,SAAS,EAAE;YACP,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,eAAe;SAC1B;KACJ,CAAC,CAAA;IAEF,MAAM,YAAY,GAAG,IAAI,wBAAe,CAAC,OAAO,CAAC,EAAE,EAAE,UAAU,kBAC3D,KAAK,EAAE,EAAE,EACT,UAAU,EAAE,EAAE,EACd,QAAQ,EAAE,EAAE,EACZ,eAAe,EAAE,CAAC,EAClB,gBAAgB,EAAE,KAAK,IACpB,OAAO,EACZ,CAAA;IACF,OAAO,YAAY,CAAA;AACvB,CAAC;AAxCD,4BAwCC"}
package/lib/server.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  export declare class RpgServerEngine {
2
2
  io: any;
3
3
  gameEngine: any;
4
- private inputOptions;
4
+ inputOptions: any;
5
5
  /**
6
6
  * Express App Instance. If you have assigned this variable before starting the game, you can get the instance of Express
7
7
  *
@@ -35,6 +35,7 @@ export declare class RpgServerEngine {
35
35
  private scenes;
36
36
  protected totalConnected: number;
37
37
  private scheduler;
38
+ world: any;
38
39
  /**
39
40
  * Combat formulas
40
41
  *
@@ -43,18 +44,56 @@ export declare class RpgServerEngine {
43
44
  */
44
45
  constructor(io: any, gameEngine: any, inputOptions: any);
45
46
  private _init;
47
+ /**
48
+ * Adds data to the server's database (in RAM) for later use
49
+ *
50
+ * @method server.addInDatabase(id,data)
51
+ * @title Add in database
52
+ * @param {number} id resource id
53
+ * @param {class} dataClass A class representing the data
54
+ * @since 3.0.0-beta.4
55
+ * @example
56
+ * ```ts
57
+ * @Item({
58
+ * name: 'Potion',
59
+ * description: 'Gives 100 HP',
60
+ * })
61
+ * class MyItem() {}
62
+ *
63
+ * server.addInDatabase('dynamic_item', MyItem)
64
+ * ```
65
+ * @returns {void}
66
+ * @memberof RpgServerEngine
67
+ */
68
+ addInDatabase(id: string, dataClass: any): void;
46
69
  /**
47
70
  * Start the RPG server
48
71
  *
49
72
  * @method server.start()
73
+ * @title Start Server
50
74
  * @returns {void}
51
75
  * @memberof RpgServerEngine
52
76
  */
53
- start(inputOptions?: any): Promise<void>;
77
+ start(inputOptions?: any, scheduler?: boolean): Promise<void>;
78
+ /**
79
+ * Sends all packages to clients. The sending is done automatically but you can decide to send yourself by calling this method (for example, for unit tests)
80
+ *
81
+ * @method server.send()
82
+ * @title Send All Packets
83
+ * @returns {void}
84
+ * @memberof RpgServerEngine
85
+ */
54
86
  send(): void;
55
87
  step(): void;
56
88
  private loadScenes;
57
89
  getScene(name: string): any;
90
+ /**
91
+ * Return the scene that manages the maps of the game
92
+ * @prop {SceneMap} [sceneMap]
93
+ * @since 3.0.0-beta.4
94
+ * @memberof RpgServerEngine
95
+ */
96
+ get sceneMap(): any;
58
97
  sendToPlayer(currentPlayer: any, eventName: any, data: any): void;
59
98
  private onPlayerConnected;
60
99
  /**
package/lib/server.js CHANGED
@@ -52,6 +52,7 @@ class RpgServerEngine {
52
52
  this.damageFormulas = {};
53
53
  this.scenes = new Map();
54
54
  this.totalConnected = 0;
55
+ this.world = sync_server_1.World;
55
56
  }
56
57
  _init() {
57
58
  return __awaiter(this, void 0, void 0, function* () {
@@ -73,19 +74,44 @@ class RpgServerEngine {
73
74
  }
74
75
  for (let key in this.inputOptions.database) {
75
76
  const data = this.inputOptions.database[key];
76
- this.database[data.id] = data;
77
+ this.addInDatabase(data.id, data);
77
78
  }
78
79
  this.loadScenes();
79
80
  });
80
81
  }
82
+ /**
83
+ * Adds data to the server's database (in RAM) for later use
84
+ *
85
+ * @method server.addInDatabase(id,data)
86
+ * @title Add in database
87
+ * @param {number} id resource id
88
+ * @param {class} dataClass A class representing the data
89
+ * @since 3.0.0-beta.4
90
+ * @example
91
+ * ```ts
92
+ * @Item({
93
+ * name: 'Potion',
94
+ * description: 'Gives 100 HP',
95
+ * })
96
+ * class MyItem() {}
97
+ *
98
+ * server.addInDatabase('dynamic_item', MyItem)
99
+ * ```
100
+ * @returns {void}
101
+ * @memberof RpgServerEngine
102
+ */
103
+ addInDatabase(id, dataClass) {
104
+ this.database[id] = dataClass;
105
+ }
81
106
  /**
82
107
  * Start the RPG server
83
108
  *
84
109
  * @method server.start()
110
+ * @title Start Server
85
111
  * @returns {void}
86
112
  * @memberof RpgServerEngine
87
113
  */
88
- start(inputOptions) {
114
+ start(inputOptions, scheduler = true) {
89
115
  return __awaiter(this, void 0, void 0, function* () {
90
116
  if (inputOptions)
91
117
  this.inputOptions = inputOptions;
@@ -95,7 +121,9 @@ class RpgServerEngine {
95
121
  period: 1000 / this.inputOptions.stepRate,
96
122
  delay: 4
97
123
  };
98
- this.scheduler = new common_1.Scheduler(schedulerConfig).start();
124
+ this.scheduler = new common_1.Scheduler(schedulerConfig);
125
+ if (scheduler)
126
+ this.scheduler.start();
99
127
  this.gameEngine.start({
100
128
  getObject(id) {
101
129
  return Query_1.Query.getPlayer(id);
@@ -108,6 +136,14 @@ class RpgServerEngine {
108
136
  common_1.RpgPlugin.emit(common_1.HookServer.Start, this);
109
137
  });
110
138
  }
139
+ /**
140
+ * Sends all packages to clients. The sending is done automatically but you can decide to send yourself by calling this method (for example, for unit tests)
141
+ *
142
+ * @method server.send()
143
+ * @title Send All Packets
144
+ * @returns {void}
145
+ * @memberof RpgServerEngine
146
+ */
111
147
  send() {
112
148
  sync_server_1.World.send();
113
149
  }
@@ -116,6 +152,7 @@ class RpgServerEngine {
116
152
  if (tick % 4 === 0) {
117
153
  this.send();
118
154
  }
155
+ common_1.RpgPlugin.emit(common_1.HookServer.Step, this);
119
156
  }
120
157
  loadScenes() {
121
158
  this.scenes.set(Map_1.SceneMap.id, new Map_1.SceneMap(this.inputOptions.maps, this));
@@ -123,6 +160,15 @@ class RpgServerEngine {
123
160
  getScene(name) {
124
161
  return this.scenes.get(name);
125
162
  }
163
+ /**
164
+ * Return the scene that manages the maps of the game
165
+ * @prop {SceneMap} [sceneMap]
166
+ * @since 3.0.0-beta.4
167
+ * @memberof RpgServerEngine
168
+ */
169
+ get sceneMap() {
170
+ return this.getScene(Map_1.SceneMap.id);
171
+ }
126
172
  sendToPlayer(currentPlayer, eventName, data) {
127
173
  currentPlayer._socket.emit(eventName, data);
128
174
  }
package/lib/server.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rpgjs/server",
3
- "version": "3.0.0-beta.3",
3
+ "version": "3.0.0-beta.4",
4
4
  "description": "",
5
5
  "main": "./lib/index.js",
6
6
  "types": "./lib/index.d.ts",
@@ -18,16 +18,16 @@
18
18
  "author": "Samuel Ronce",
19
19
  "license": "MIT",
20
20
  "dependencies": {
21
- "@rpgjs/common": "^3.0.0-beta.3",
22
- "@rpgjs/database": "^3.0.0-beta.3",
23
- "@rpgjs/sync-server": "^3.0.0-beta.3",
21
+ "@rpgjs/common": "^3.0.0-beta.4",
22
+ "@rpgjs/database": "^3.0.0-beta.4",
23
+ "@rpgjs/sync-server": "^3.0.0-beta.4",
24
24
  "kompute": "^1.13.0",
25
25
  "lodash.merge": "^4.6.2",
26
26
  "pathfinding": "^0.4.18",
27
27
  "sat": "^0.8.0",
28
28
  "yuka": "^0.7.5"
29
29
  },
30
- "gitHead": "7bb0326cc3216764a4bfc86f53e7b24464a2040f",
30
+ "gitHead": "95f49412eafe8f028fde9911446309477718239e",
31
31
  "devDependencies": {
32
32
  "typescript": "^4.3.5"
33
33
  }