@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 +87 -8
- package/lib/Game/Map.js +94 -10
- package/lib/Game/Map.js.map +1 -1
- package/lib/Player/ElementManager.d.ts +1 -1
- package/lib/Player/Player.d.ts +53 -8
- package/lib/Player/Player.js +72 -14
- package/lib/Player/Player.js.map +1 -1
- package/lib/RpgServer.d.ts +45 -6
- package/lib/Scenes/Map.d.ts +31 -1
- package/lib/Scenes/Map.js +36 -11
- package/lib/Scenes/Map.js.map +1 -1
- package/lib/decorators/map.d.ts +4 -5
- package/lib/entry-point.js +4 -2
- package/lib/entry-point.js.map +1 -1
- package/lib/server.d.ts +41 -2
- package/lib/server.js +49 -3
- package/lib/server.js.map +1 -1
- package/package.json +5 -5
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
|
-
|
|
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
|
-
}
|
|
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
|
-
|
|
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:
|
|
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
|
-
|
|
29
|
-
|
|
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
|
-
|
|
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
|
|
229
|
+
if (obj.x === undefined) {
|
|
146
230
|
event = obj;
|
|
147
231
|
}
|
|
148
232
|
else {
|
|
149
|
-
event = obj
|
|
150
|
-
position = { x: obj
|
|
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) {
|
package/lib/Game/Map.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Map.js","sourceRoot":"","sources":["../../src/Game/Map.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,
|
|
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():
|
|
96
|
+
get elements(): any[];
|
|
97
97
|
coefficientElements(otherPlayer: RpgPlayer): number;
|
|
98
98
|
}
|
|
99
99
|
export interface ElementManager {
|
package/lib/Player/Player.d.ts
CHANGED
|
@@ -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
|
-
|
|
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?:
|
|
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
|
package/lib/Player/Player.js
CHANGED
|
@@ -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.
|
|
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
|
package/lib/Player/Player.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Player.js","sourceRoot":"","sources":["../../src/Player/Player.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAA0F;AAE1F,2CAA4B;AAC5B,oCAAgC;AAChC,gEAAgC;AAChC,+CAA2C;AAC3C,+CAA2C;AAC3C,iDAA8C;AAC9C,iDAA6C;AAC7C,yDAAsD;AACtD,mDAAgD;AAChD,iDAA8C;AAC9C,qDAAiD;AACjD,6CAAyC;AACzC,uDAAmD;AACnD,+CAA6D;AAC7D,mDAA+C;AAE/C,wCAamB;AACnB,uDAAmD;AAEnD,MAAM,EACF,SAAS,EACT,WAAW,EACX,QAAQ,EACX,GAAG,cAAK,CAAA;AAIT,MAAM,WAAW,GAAG;IAChB,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,MAAM;IACnB,KAAK,EAAE,MAAM;IACb,UAAU,EAAE,OAAO;IACnB,EAAE,EAAE,MAAM;CACb,CAAA;AAED,MAAM,aAAa,GAAG;IAClB,QAAQ,EAAE;QACN,CAAC,EAAE,MAAM;QACT,CAAC,EAAE,MAAM;QACT,CAAC,EAAE,MAAM;KACZ;IACD,SAAS,EAAE,MAAM;IACjB,UAAU,EAAE,MAAM;IAElB,MAAM,EAAE;QACJ,OAAO,EAAE,OAAO;QAChB,MAAM,EAAE,MAAM;QACd,KAAK,EAAE,MAAM;QACb,IAAI,EAAE,MAAM;KACf;IAED,KAAK,EAAE,MAAM;IACb,EAAE,EAAE,MAAM;IACV,EAAE,EAAE,MAAM;IACV,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,MAAM;IACb,GAAG,EAAE,MAAM;IACX,IAAI,EAAE,MAAM;IACZ,eAAe,EAAE,MAAM;IACvB,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;IAC1C,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE;IACzD,UAAU,EAAE,CAAC,WAAW,CAAC;IACzB,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC;IAC3E,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC;IAC3D,OAAO,EAAE,CAAC,MAAM,CAAC;IAEjB,OAAO,EAAE,MAAM;IACf,MAAM,EAAE,MAAM;IACd,GAAG,EAAE,MAAM;IAEX,KAAK,EAAE,MAAM;IACb,OAAO,EAAE,OAAO;IAChB,OAAO,EAAE,OAAO;IAChB,kBAAkB,EAAE,OAAO;IAE3B,KAAK,EAAE,MAAM;IACb,MAAM,EAAE,MAAM;IACd,OAAO,EAAE,MAAM;IACf,OAAO,EAAE,MAAM;CAClB,CAAA;AAED,MAAa,SAAU,SAAQ,wBAAe;IAc1C,YAAY,UAAW,EAAE,QAAS;QAC9B,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;QAbf,SAAI,GAAW,QAAQ,CAAA;QAQhC,WAAM,GAAU,EAAE,CAAA;QAElB,WAAM,GAAG,EAAE,CAAA;QAOlB,0IAA0I;QAC1I,eAAU,GAAW,CAAC,CAAA;QAJlB,IAAI,CAAC,UAAU,EAAE,CAAA;IACrB,CAAC;IAOD,UAAU;QACN,IAAI,CAAC,QAAQ,GAAI;YACb,KAAK,EAAE,EAAE;YACT,KAAK,EAAE,EAAE;YACT,aAAa,EAAE,EAAE;YACjB,aAAa,EAAE,EAAE;SACpB,CAAA;QAED,IAAI,CAAC,UAAU,GAAG,IAAI,GAAG,EAAE,CAAA;QAC3B,IAAI,CAAC,SAAS,GAAG,IAAI,GAAG,EAAE,CAAA;QAC1B,IAAI,CAAC,MAAM,GAAG,EAAE,CAAA;QAChB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAA;QACpB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAA;QAClB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAA;QACf,IAAI,CAAC,MAAM,GAAG,EAAE,CAAA;QAChB,IAAI,CAAC,IAAI,GAAG,CAAC,CAAA;QACb,IAAI,CAAC,GAAG,GAAG,CAAC,CAAA;QACZ,IAAI,CAAC,KAAK,GAAG,mBAAK,CAAC,MAAM,CAAA;QACzB,IAAI,CAAC,SAAS,GAAG,uBAAS,CAAC,IAAI,CAAA;QAC/B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;QACnB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAA;QACpB,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAA;QAE/B,iHAAiH;QAEhH,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE,CAAA;QAEnC,IAAI,CAAC,YAAY,GAAG,CAAC,CAAA;QACrB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAA;QACpB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,YAAY,CAAA;QAC9B,IAAI,CAAC,IAAI,GAAG,EAAE,CAAA;QACd,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAA;QAC7B,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAA;QAE3B,IAAI,CAAC,YAAY,CAAC,eAAK,EAAE,qBAAW,CAAC,CAAA;QACrC,IAAI,CAAC,YAAY,CAAC,eAAK,EAAE,qBAAW,CAAC,CAAA;QACrC,IAAI,CAAC,YAAY,CAAC,aAAG,EAAE,mBAAS,CAAC,CAAA;QACjC,IAAI,CAAC,YAAY,CAAC,aAAG,EAAE,mBAAS,CAAC,CAAA;QACjC,IAAI,CAAC,YAAY,CAAC,aAAG,EAAE,mBAAS,CAAC,CAAA;QACjC,IAAI,CAAC,YAAY,CAAC,aAAG,EAAE,mBAAS,CAAC,CAAA;QACjC,IAAI,CAAC,WAAW,EAAE,CAAA;IACtB,CAAC;IAED,KAAK;QACD,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,iBAAiB,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE;YACzD,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;gBAClB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;gBACjC,IAAI,CAAC,WAAW,EAAE,CAAA;aACrB;QACL,CAAC,CAAC,CAAA;QACF,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE;YAC5C,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;QAC/B,CAAC,CAAC,CAAA;IACN,CAAC;IAED;;;;;;;SAOK;IACL,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,KAAK,CAAA;IACrB,CAAC;IAED,IAAI,IAAI,CAAC,GAAW;QAChB,IAAI,CAAC,KAAK,GAAG,GAAG,CAAA;IACpB,CAAC;IAED;;;;;;;;;;OAUG;IACH,UAAU,CAAC,OAAe;QACtB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IAC1B,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,SAAS,CAAC,KAAa,EAAE,SAAU;QAC/B,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,CAAC,CAAA;IACxE,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,QAAQ,CAAC,SAA6B;QAClC,IAAI,QAAQ,CAAC,SAAS,CAAC;YAAE,SAAS,GAAa,IAAI,CAAC,aAAa,EAAE,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,IAAI,SAAS,IAAI,KAAK,CAAC,IAAI,IAAI,SAAS,CAAC,CAAA;QACnJ,IAAI,CAAC,SAAS;YAAE,SAAS,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAA;QAChD,IAAI,CAAE,SAAsB,CAAC,CAAC;YAAG,SAAsB,CAAC,CAAC,GAAG,CAAC,CAAA;QAC7D,IAAI,CAAC,UAAU,EAAE,CAAA;QACjB,IAAI,CAAC,QAAQ,GAAG,SAAqB,CAAA;QACrC,wCAAwC;QACxC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACxB,OAAQ,SAAsB,CAAA;IAClC,CAAC;IAED,WAAW,CAAC,OAAwC;QAChD,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IAC/D,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,IAAI,CAAC,IAAS;QACV,IAAI,QAAQ,CAAC,IAAI,CAAC;YAAE,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAE3C,MAAM,OAAO,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,EAAE,CAAA;QAErD,MAAM,KAAK,GAAG,EAAE,CAAA;QAChB,KAAK,IAAI,EAAE,IAAI,IAAI,CAAC,KAAK,EAAE;YACvB,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,CAAA;SACpC;QACD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;QACxE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;YACvC,KAAK,CAAC,EAAE,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAA;YACzB,OAAO,KAAK,CAAC,EAAE,CAAC,CAAA;QACpB,CAAC,CAAC,CAAA;QACF,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAA;QAChD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAA;QAChD,IAAI,CAAC,SAAS,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QACxC,sBAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;QACjB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;QAC7B,IAAI,IAAI,CAAC,GAAG,EAAE;YACV,IAAI,CAAC,GAAG,GAAG,EAAE,CAAA;YACb,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;SAC1C;IACL,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,IAAI;QACA,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;IAC/B,CAAC;IAED,MAAM;QACF,MAAM,GAAG,GAAQ,EAAE,CAAA;QACnB,MAAM,KAAK,GAAG;YACV,IAAI;YACJ,IAAI;YACJ,MAAM;YACN,OAAO;YACP,KAAK;YACL,MAAM;YACN,UAAU;YACV,OAAO;YACP,QAAQ;YACR,YAAY;YACZ,QAAQ;YACR,QAAQ;YACR,mBAAmB;YACnB,SAAS;YACT,SAAS;YACT,KAAK;YACL,OAAO;YACP,SAAS;YACT,SAAS;YACT,OAAO;YACP,QAAQ;YACR,SAAS;YACT,SAAS;YACT,WAAW;YACX,cAAc;YACd,YAAY;SACf,CAAA;QACD,KAAK,IAAI,IAAI,IAAI,KAAK,EAAE;YACpB,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAA;SACzB;QACD,GAAG,CAAC,SAAS,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAA;QACnC,OAAO,GAAG,CAAA;IACd,CAAC;IAED;;;;;;;;OAQG;IACH,WAAW;QACP,IAAI,CAAC,aAAa,EAAE,CAAA;IACxB,CAAC;IAED,YAAY,CAAC,EAAU;QACnB,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;QACrC,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,UAAU,EAAE,sGAAsG,CAAC,CAAA;QAC9I,OAAO,IAAI,CAAA;IACf,CAAC;IAED;;;;;;;OAOG;IACH,aAAa;QACT,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACjC,CAAC;IAED,SAAS,CAAC,IAAY,EAAE,IAAS;QAC7B,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACnB,IAAI;YACJ,IAAI;SACP,CAAC,CAAA;IACN,CAAC;IAEO,OAAO,CAAC,EAAE;QACd,OAAO,qBAAM,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IAChC,CAAC;IAED,OAAO;IACP,UAAU;QACN,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YACpB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,IAAI,EAAE,WAAW;YACjB,MAAM,EAAE,EAAE;SACb,CAAC,CAAA;IACN,CAAC;IAED;;OAEG;IACH,kBAAkB,CAAC,GAAG,EAAE,IAAI;QACxB,MAAM,GAAG,GAAS,IAAI,CAAC,WAAsB,CAAA;QAC7C,MAAM,KAAK,GAAG,GAAG,CAAC,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;QACxC,IAAI,KAAK,EAAE;YACP,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAA;YAC9B,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;SAC7B;QACD,OAAO,KAAK,CAAA;IAChB,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA0CG;IACH,aAAa,CAAC,OAAe,EAAE,aAAqB,EAAE,iBAA0B,KAAK;QACjF,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE;YACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,IAAI,EAAE,eAAe;YACrB,MAAM,EAAE,CAAC,OAAO,EAAE,aAAa,EAAE,cAAc,CAAC;SACnD,CAAC,CAAA;IACN,CAAC;IAED;;;;;;;;;OASG;IACI,IAAI,CAAC,GAAW,EAAE,KAAU;QAC/B,IAAI,IAAI,CAAC,OAAO;YAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IACnD,CAAC;IAED;;;;;;;;;OASG;IACI,EAAE,CAAC,GAAW,EAAE,EAAY;QAC/B,IAAI,IAAI,CAAC,OAAO;YAAE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;IAC9C,CAAC;IAED,SAAS,CAAC,GAAW,EAAE,KAAU;QAC7B,aAAK,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAA;IAC9E,CAAC;IAEK,UAAU,CAAC,UAAkB,EAAE,UAAU,GAAG,EAAE;;YAChD,MAAM,GAAG,GAAG,MAAM,kBAAS,CAAC,IAAI,CAAC,UAAU,UAAU,EAAE,EAAE,CAAC,IAAI,EAAE,GAAG,UAAU,CAAC,EAAE,IAAI,CAAC,CAAA;YACrF,IAAI,CAAC,WAAW,EAAE,CAAA;YAClB,OAAO,GAAG,CAAA;QACd,CAAC;KAAA;IAED,YAAY,CAAC,IAAI,EAAE,GAAI;QACnB,IAAI,IAAI,CAAC,IAAI,CAAC;YAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAA;QAC/B,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,EAAE,GAAG,CAAC,CAAA;IACpC,CAAC;IAEO,aAAa;QACjB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;YAAE,OAAM;QACnC,MAAM,EACF,MAAM,EACT,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAC1B,MAAM,WAAW,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAA;QAC7E,KAAK,IAAI,KAAK,IAAI,WAAW,EAAE;YAC3B,oBAAoB;YACpB,IAAI,KAAK,CAAC,SAAS;gBAAE,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;SAC7C;IACL,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;IACH,SAAS,CAAC,OAAe,EAAE,SAAkB,KAAK;QAC9C,MAAM,GAAG,GAAG;YACR,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,IAAI,EAAE,WAAW;YACjB,MAAM,EAAE,CAAC,OAAO,CAAC;SACpB,CAAA;QACD,IAAI,CAAC,MAAM,EAAE;YACT,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,CAAC,CAAA;YAC5B,OAAM;SACT;QACD,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,GAAG,CAAC,CAAA;IACrC,CAAC;;AAleL,8BAmeC;AA/dU,iBAAO,mCACR,aAAa,KACf,MAAM,EAAE,CAAC,aAAa,CAAC,IAC1B;AAofL,WAAW,CAAC,SAAS,EAAE;IACnB,yBAAW;IACX,yBAAW;IACX,2BAAY;IACZ,2BAAY;IACZ,mCAAgB;IAChB,6BAAa;IACb,2BAAY;IACZ,+BAAc;IACd,uBAAU;IACV,iCAAe;IACf,yBAAW;IACX,6BAAa;IACb,iCAAe;CAClB,CAAC,CAAA"}
|
|
1
|
+
{"version":3,"file":"Player.js","sourceRoot":"","sources":["../../src/Player/Player.ts"],"names":[],"mappings":"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"}
|
package/lib/RpgServer.d.ts
CHANGED
|
@@ -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:
|
|
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:
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
*
|
package/lib/Scenes/Map.d.ts
CHANGED
|
@@ -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
|
-
|
|
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.
|
|
23
|
+
this.createDynamicMap(map);
|
|
25
24
|
}
|
|
26
25
|
}
|
|
27
26
|
}
|
|
28
27
|
getMapBydId(id) {
|
|
29
|
-
|
|
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('
|
|
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
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
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
|
});
|
package/lib/Scenes/Map.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Map.js","sourceRoot":"","sources":["../../src/Scenes/Map.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,
|
|
1
|
+
{"version":3,"file":"Map.js","sourceRoot":"","sources":["../../src/Scenes/Map.ts"],"names":[],"mappings":"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"}
|
package/lib/decorators/map.d.ts
CHANGED
|
@@ -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
|
|
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 {
|
|
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 {};
|
package/lib/entry-point.js
CHANGED
|
@@ -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',
|
package/lib/entry-point.js.map
CHANGED
|
@@ -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;
|
|
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
|
-
|
|
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.
|
|
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)
|
|
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":";;;;;;;;;;;;AAAA,sCAAwC;AACxC,4CAA2C;AAC3C,mCAA+B;AAC/B,uCAA8F;AAC9F,oDAA0C;AAC1C,0CAAuE;AAEvE,IAAI,IAAI,GAAG,CAAC,CAAA;AAEZ,MAAa,eAAe;
|
|
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
|
+
"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.
|
|
22
|
-
"@rpgjs/database": "^3.0.0-beta.
|
|
23
|
-
"@rpgjs/sync-server": "^3.0.0-beta.
|
|
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": "
|
|
30
|
+
"gitHead": "95f49412eafe8f028fde9911446309477718239e",
|
|
31
31
|
"devDependencies": {
|
|
32
32
|
"typescript": "^4.3.5"
|
|
33
33
|
}
|