@rpgjs/common 3.0.0-beta.2 → 3.0.0-beta.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/EventEmitter.d.ts +1 -0
- package/lib/EventEmitter.js +4 -0
- package/lib/EventEmitter.js.map +1 -1
- package/lib/Game.d.ts +5 -1
- package/lib/Game.js +32 -14
- package/lib/Game.js.map +1 -1
- package/lib/Hit.d.ts +9 -9
- package/lib/Input.d.ts +8 -8
- package/lib/Input.js +8 -8
- package/lib/Input.js.map +1 -1
- package/lib/Map.d.ts +221 -12
- package/lib/Map.js +234 -9
- package/lib/Map.js.map +1 -1
- package/lib/Player.d.ts +157 -26
- package/lib/Player.js +240 -127
- package/lib/Player.js.map +1 -1
- package/lib/Plugin.d.ts +5 -4
- package/lib/Plugin.js +3 -2
- package/lib/Plugin.js.map +1 -1
- package/lib/Scheduler.d.ts +14 -4
- package/lib/Scheduler.js +16 -6
- package/lib/Scheduler.js.map +1 -1
- package/lib/Shape.d.ts +88 -3
- package/lib/Shape.js +144 -4
- package/lib/Shape.js.map +1 -1
- package/lib/Utils.d.ts +11 -15
- package/lib/Utils.js +27 -49
- package/lib/Utils.js.map +1 -1
- package/lib/VirtualGrid.d.ts +27 -0
- package/lib/VirtualGrid.js +74 -0
- package/lib/VirtualGrid.js.map +1 -0
- package/lib/Worker.d.ts +7 -0
- package/lib/Worker.js +21 -0
- package/lib/Worker.js.map +1 -0
- package/lib/index.d.ts +2 -1
- package/lib/index.js +4 -1
- package/lib/index.js.map +1 -1
- package/lib/transports/io.d.ts +6 -5
- package/lib/transports/io.js +14 -0
- package/lib/transports/io.js.map +1 -1
- package/lib/workers/move.d.ts +1 -0
- package/lib/workers/move.js +62 -0
- package/lib/workers/move.js.map +1 -0
- package/package.json +5 -3
package/lib/Player.js
CHANGED
|
@@ -6,15 +6,21 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.RpgCommonPlayer = exports.PlayerType = exports.Direction = void 0;
|
|
7
7
|
const Utils_1 = require("./Utils");
|
|
8
8
|
const Hit_1 = require("./Hit");
|
|
9
|
+
const Shape_1 = require("./Shape");
|
|
9
10
|
const sat_1 = __importDefault(require("sat"));
|
|
10
11
|
const Map_1 = __importDefault(require("./Map"));
|
|
12
|
+
const Plugin_1 = require("./Plugin");
|
|
11
13
|
const ACTIONS = { IDLE: 0, RUN: 1, ACTION: 2 };
|
|
12
14
|
var Direction;
|
|
13
15
|
(function (Direction) {
|
|
14
|
-
Direction["Up"] = "
|
|
15
|
-
Direction["Down"] = "
|
|
16
|
-
Direction["Left"] = "
|
|
17
|
-
Direction["Right"] = "
|
|
16
|
+
Direction[Direction["Up"] = 1] = "Up";
|
|
17
|
+
Direction[Direction["Down"] = 3] = "Down";
|
|
18
|
+
Direction[Direction["Left"] = 4] = "Left";
|
|
19
|
+
Direction[Direction["Right"] = 2] = "Right";
|
|
20
|
+
Direction[Direction["UpRight"] = 1.5] = "UpRight";
|
|
21
|
+
Direction[Direction["DownRight"] = 2.5] = "DownRight";
|
|
22
|
+
Direction[Direction["DownLeft"] = 3.5] = "DownLeft";
|
|
23
|
+
Direction[Direction["UpLeft"] = 2.5] = "UpLeft";
|
|
18
24
|
})(Direction = exports.Direction || (exports.Direction = {}));
|
|
19
25
|
var PlayerType;
|
|
20
26
|
(function (PlayerType) {
|
|
@@ -30,11 +36,13 @@ class RpgCommonPlayer {
|
|
|
30
36
|
this.height = 0;
|
|
31
37
|
this.width = 0;
|
|
32
38
|
this.events = [];
|
|
33
|
-
this.direction =
|
|
39
|
+
this.direction = 3;
|
|
34
40
|
this.collisionWith = [];
|
|
41
|
+
this._collisionWithTiles = [];
|
|
35
42
|
this.data = {};
|
|
43
|
+
this.pendingMove = [];
|
|
36
44
|
this.inShapes = {};
|
|
37
|
-
this.
|
|
45
|
+
this.shapes = [];
|
|
38
46
|
this._hitboxPos = new sat_1.default.Vector(0, 0);
|
|
39
47
|
this.setHitbox(this.width, this.height);
|
|
40
48
|
this.position = { x: 0, y: 0, z: 0 };
|
|
@@ -62,16 +70,15 @@ class RpgCommonPlayer {
|
|
|
62
70
|
this._hitboxPos.x = x;
|
|
63
71
|
this._hitboxPos.y = y;
|
|
64
72
|
this._hitboxPos.z = z;
|
|
65
|
-
|
|
66
|
-
|
|
73
|
+
this._position = val;
|
|
74
|
+
const map = this.mapInstance;
|
|
75
|
+
if (map /*&& this.gameEngine.isWorker TODO */) {
|
|
76
|
+
map.grid.insertInCells(this.id, this.getSizeMaxShape());
|
|
67
77
|
}
|
|
68
78
|
this._position = new Proxy(val, {
|
|
69
79
|
get: (target, prop) => target[prop],
|
|
70
80
|
set: (target, prop, value) => {
|
|
71
81
|
this._hitboxPos[prop] = value;
|
|
72
|
-
if (this.steerable) {
|
|
73
|
-
this.steerable[prop] = value;
|
|
74
|
-
}
|
|
75
82
|
target[prop] = value;
|
|
76
83
|
return true;
|
|
77
84
|
}
|
|
@@ -92,6 +99,34 @@ class RpgCommonPlayer {
|
|
|
92
99
|
get mapInstance() {
|
|
93
100
|
return Map_1.default.buffer.get(this.map);
|
|
94
101
|
}
|
|
102
|
+
/**
|
|
103
|
+
*
|
|
104
|
+
* Recovers all the colliding tiles of the current player
|
|
105
|
+
*
|
|
106
|
+
* @title Get Collision of tiles
|
|
107
|
+
* @since 3.0.0-beta.4
|
|
108
|
+
* @readonly
|
|
109
|
+
* @prop { TileInfo[] } tiles
|
|
110
|
+
* @memberof Player
|
|
111
|
+
* @memberof RpgSpriteLogic
|
|
112
|
+
*/
|
|
113
|
+
get tilesCollision() {
|
|
114
|
+
return this._collisionWithTiles;
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
*
|
|
118
|
+
* Recovers all other players and events colliding with the current player's hitbox
|
|
119
|
+
*
|
|
120
|
+
* @title Get Collision of other players/events
|
|
121
|
+
* @since 3.0.0-beta.4
|
|
122
|
+
* @readonly
|
|
123
|
+
* @prop { (RpgPlayer | RpgEvent)[] } otherPlayersCollision
|
|
124
|
+
* @memberof Player
|
|
125
|
+
* @memberof RpgSpriteLogic
|
|
126
|
+
*/
|
|
127
|
+
get otherPlayersCollision() {
|
|
128
|
+
return this.collisionWith;
|
|
129
|
+
}
|
|
95
130
|
/**
|
|
96
131
|
* Define the size of the player. You can set the hitbox for collisions
|
|
97
132
|
*
|
|
@@ -133,10 +168,7 @@ class RpgCommonPlayer {
|
|
|
133
168
|
* Define the hitbox of the player.
|
|
134
169
|
*
|
|
135
170
|
* ```ts
|
|
136
|
-
* player.setHitbox(
|
|
137
|
-
* width: 20,
|
|
138
|
-
* height: 20
|
|
139
|
-
* })
|
|
171
|
+
* player.setHitbox(20, 20)
|
|
140
172
|
* ```
|
|
141
173
|
*
|
|
142
174
|
* @title Set Hitbox
|
|
@@ -168,42 +200,21 @@ class RpgCommonPlayer {
|
|
|
168
200
|
get hHitbox() {
|
|
169
201
|
return this.hitbox.h;
|
|
170
202
|
}
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
const x = this.position.x - (this.vision.width / 2 - this.wHitbox / 2);
|
|
175
|
-
const y = this.position.y - (this.vision.height / 2 - this.hHitbox / 2);
|
|
176
|
-
return Hit_1.Hit.getHitbox(Object.assign(Object.assign({}, this.vision), { x,
|
|
177
|
-
y }));
|
|
203
|
+
directionToAngle(direction) {
|
|
204
|
+
const angle = (direction < 2 ? +direction + 2 : direction - 2) * 90;
|
|
205
|
+
return Utils_1.toRadians(angle);
|
|
178
206
|
}
|
|
179
|
-
defineNextPosition(direction) {
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
y: this.position.y,
|
|
191
|
-
z: this.position.z
|
|
192
|
-
};
|
|
193
|
-
case Direction.Up:
|
|
194
|
-
return {
|
|
195
|
-
x: this.position.x,
|
|
196
|
-
y: this.position.y - this.speed,
|
|
197
|
-
z: this.position.z
|
|
198
|
-
};
|
|
199
|
-
case Direction.Down:
|
|
200
|
-
return {
|
|
201
|
-
x: this.position.x,
|
|
202
|
-
y: this.position.y + this.speed,
|
|
203
|
-
z: this.position.z
|
|
204
|
-
};
|
|
205
|
-
}
|
|
206
|
-
return this.position;
|
|
207
|
+
defineNextPosition(direction, deltaTimeInt) {
|
|
208
|
+
const angle = this.directionToAngle(direction);
|
|
209
|
+
const computePosition = (prop) => {
|
|
210
|
+
return this.position[prop] + this.speed * deltaTimeInt
|
|
211
|
+
* (Math.round(Math[prop == 'x' ? 'cos' : 'sin'](angle) * 100) / 100);
|
|
212
|
+
};
|
|
213
|
+
return {
|
|
214
|
+
x: computePosition('x'),
|
|
215
|
+
y: computePosition('y'),
|
|
216
|
+
z: this.position.z
|
|
217
|
+
};
|
|
207
218
|
}
|
|
208
219
|
setPosition({ x, y, tileX, tileY }, move = true) {
|
|
209
220
|
const { tileWidth, tileHeight } = this.mapInstance;
|
|
@@ -236,12 +247,59 @@ class RpgCommonPlayer {
|
|
|
236
247
|
const otherZ = other.position.z;
|
|
237
248
|
return Utils_1.intersection([z, z + this.height], [otherZ, otherZ + other.height]);
|
|
238
249
|
}
|
|
239
|
-
moveByDirection(direction) {
|
|
240
|
-
const nextPosition = this.defineNextPosition(direction);
|
|
250
|
+
moveByDirection(direction, deltaTimeInt) {
|
|
251
|
+
const nextPosition = this.defineNextPosition(direction, deltaTimeInt);
|
|
241
252
|
return this.move(nextPosition);
|
|
242
253
|
}
|
|
254
|
+
/**
|
|
255
|
+
* Retrieves a tile and checks if the player has a collision
|
|
256
|
+
*
|
|
257
|
+
* ```ts
|
|
258
|
+
* const tileInfo = player.getTile(20, 30)
|
|
259
|
+
* console.log(tileInfo)
|
|
260
|
+
* ```
|
|
261
|
+
*
|
|
262
|
+
* Example of returns:
|
|
263
|
+
*
|
|
264
|
+
```ts
|
|
265
|
+
{
|
|
266
|
+
tiles: [
|
|
267
|
+
{
|
|
268
|
+
id: 0,
|
|
269
|
+
terrain: [],
|
|
270
|
+
probability: null,
|
|
271
|
+
properties: [Object],
|
|
272
|
+
animations: [],
|
|
273
|
+
objectGroups: [],
|
|
274
|
+
image: null,
|
|
275
|
+
gid: 1
|
|
276
|
+
}
|
|
277
|
+
],
|
|
278
|
+
hasCollision: false,
|
|
279
|
+
isOverlay: undefined,
|
|
280
|
+
objectGroups: [],
|
|
281
|
+
isClimbable: undefined,
|
|
282
|
+
tileIndex: 93
|
|
283
|
+
}
|
|
284
|
+
```
|
|
285
|
+
*
|
|
286
|
+
* @title Get Tile
|
|
287
|
+
* @since 3.0.0-beta.4
|
|
288
|
+
* @method player.getTile(x,y,z?)
|
|
289
|
+
* @param {number} x
|
|
290
|
+
* @param {number} y
|
|
291
|
+
* @param {number} [z]
|
|
292
|
+
* @returns {object}
|
|
293
|
+
* @memberof Player
|
|
294
|
+
* @memberof RpgSpriteLogic
|
|
295
|
+
*/
|
|
296
|
+
getTile(x, y, z = 0, hitbox) {
|
|
297
|
+
const map = this.mapInstance;
|
|
298
|
+
return map.getTile(hitbox || this.hitbox, x, y, [z, this.height]);
|
|
299
|
+
}
|
|
243
300
|
isCollided(nextPosition) {
|
|
244
301
|
this.collisionWith = [];
|
|
302
|
+
this._collisionWithTiles = [];
|
|
245
303
|
const map = this.mapInstance;
|
|
246
304
|
const hitbox = Hit_1.Hit.createObjectHitbox(nextPosition.x, nextPosition.y, 0, this.hitbox.w, this.hitbox.h);
|
|
247
305
|
if (!map) {
|
|
@@ -263,28 +321,12 @@ class RpgCommonPlayer {
|
|
|
263
321
|
this.posY = map.heightPx - this.hitbox.h;
|
|
264
322
|
return true;
|
|
265
323
|
}
|
|
266
|
-
let isClimbable = false;
|
|
267
324
|
const tileCollision = (x, y) => {
|
|
268
|
-
const tile =
|
|
269
|
-
const tilePos = map.getTileOriginPosition(x, y);
|
|
325
|
+
const tile = this.getTile(x, y, nextPosition.z, hitbox);
|
|
270
326
|
if (tile.hasCollision) {
|
|
327
|
+
this._collisionWithTiles.push(tile);
|
|
271
328
|
return true;
|
|
272
329
|
}
|
|
273
|
-
else if (tile.objectGroups) {
|
|
274
|
-
for (let object of tile.objectGroups) {
|
|
275
|
-
const hit = Hit_1.Hit.getHitbox(object, {
|
|
276
|
-
x: tilePos.x,
|
|
277
|
-
y: tilePos.y
|
|
278
|
-
});
|
|
279
|
-
const collided = Hit_1.Hit.testPolyCollision(hit.type, hit.hitbox, hitbox);
|
|
280
|
-
if (collided) {
|
|
281
|
-
return true;
|
|
282
|
-
}
|
|
283
|
-
}
|
|
284
|
-
}
|
|
285
|
-
if (!isClimbable && tile.isClimbable) {
|
|
286
|
-
isClimbable = true;
|
|
287
|
-
}
|
|
288
330
|
return false;
|
|
289
331
|
};
|
|
290
332
|
if (tileCollision(nextPosition.x, nextPosition.y) ||
|
|
@@ -293,31 +335,24 @@ class RpgCommonPlayer {
|
|
|
293
335
|
tileCollision(nextPosition.x + this.hitbox.w, nextPosition.y + this.hitbox.h)) {
|
|
294
336
|
return true;
|
|
295
337
|
}
|
|
296
|
-
|
|
297
|
-
const
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
if (player1.execMethod)
|
|
304
|
-
player1.execMethod('onInVision', [player2]);
|
|
305
|
-
}
|
|
306
|
-
if (!playerInVision && player1.inVision[player2.id]) {
|
|
307
|
-
delete player1.inVision[player2.id];
|
|
308
|
-
if (player1.execMethod)
|
|
309
|
-
player1.execMethod('onOutVision', [player2]);
|
|
310
|
-
}
|
|
311
|
-
}
|
|
312
|
-
};
|
|
313
|
-
for (let event of events) {
|
|
338
|
+
const events = this.gameEngine.world.getObjectsOfGroup(this.map, this);
|
|
339
|
+
const objects = map.grid.getObjectsByBox(this.getSizeMaxShape(nextPosition.x, nextPosition.y));
|
|
340
|
+
for (let objectId of objects) {
|
|
341
|
+
// client side: read "object" propertie
|
|
342
|
+
if (!events[objectId])
|
|
343
|
+
continue;
|
|
344
|
+
const event = events[objectId]['object'] || events[objectId];
|
|
314
345
|
if (event.id == this.id)
|
|
315
346
|
continue;
|
|
316
347
|
if (!this.zCollision(event))
|
|
317
348
|
continue;
|
|
318
349
|
const collided = Hit_1.Hit.testPolyCollision('box', hitbox, event.hitbox);
|
|
319
|
-
|
|
320
|
-
|
|
350
|
+
for (let shape of this.shapes) {
|
|
351
|
+
this.collisionWithShape(shape, event);
|
|
352
|
+
}
|
|
353
|
+
for (let shape of event.shapes) {
|
|
354
|
+
event.collisionWithShape(shape, this);
|
|
355
|
+
}
|
|
321
356
|
if (collided) {
|
|
322
357
|
this.collisionWith.push(event);
|
|
323
358
|
this.triggerCollisionWith();
|
|
@@ -336,29 +371,80 @@ class RpgCommonPlayer {
|
|
|
336
371
|
}
|
|
337
372
|
const shapes = map.getShapes();
|
|
338
373
|
for (let shape of shapes) {
|
|
339
|
-
const
|
|
340
|
-
if (
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
374
|
+
const bool = this.collisionWithShape(shape, this, nextPosition);
|
|
375
|
+
if (bool)
|
|
376
|
+
return true;
|
|
377
|
+
}
|
|
378
|
+
return false;
|
|
379
|
+
}
|
|
380
|
+
/**
|
|
381
|
+
* Attach a shape to the player (and allow interaction with it)
|
|
382
|
+
*
|
|
383
|
+
* ```ts
|
|
384
|
+
* import { ShapePositioning } from '@rpgjs/server'
|
|
385
|
+
*
|
|
386
|
+
* player.attachShape({
|
|
387
|
+
* width: 100,
|
|
388
|
+
* height: 100,
|
|
389
|
+
* positioning: ShapePositioning.Center
|
|
390
|
+
* })
|
|
391
|
+
* ```
|
|
392
|
+
*
|
|
393
|
+
* @title Attach Shape
|
|
394
|
+
* @method player.attachShape(parameters)
|
|
395
|
+
* @param { { width: number, height: number, positioning?, name?, properties?: object } } obj
|
|
396
|
+
* - positioning: Indicate where the shape is placed.
|
|
397
|
+
* - properties: An object in order to retrieve information when interacting with the shape
|
|
398
|
+
* - name: The name of the shape
|
|
399
|
+
* @since 3.0.0-beta.3
|
|
400
|
+
* @returns {RpgShape}
|
|
401
|
+
* @memberof Player
|
|
402
|
+
*/
|
|
403
|
+
attachShape(obj) {
|
|
404
|
+
obj.name = (obj.name || Utils_1.generateUID());
|
|
405
|
+
const shape = new Shape_1.RpgShape(Object.assign(Object.assign({}, obj), { fixEvent: this }));
|
|
406
|
+
this.shapes.push(shape);
|
|
407
|
+
return shape;
|
|
408
|
+
}
|
|
409
|
+
/**
|
|
410
|
+
* Returns all shapes assigned to this player
|
|
411
|
+
*
|
|
412
|
+
* @title Get Shapes
|
|
413
|
+
* @method player.getShapes()
|
|
414
|
+
* @returns {RpgShape[]}
|
|
415
|
+
* @since 3.0.0-beta.3
|
|
416
|
+
* @memberof Player
|
|
417
|
+
* @memberof RpgSpriteLogic
|
|
418
|
+
*/
|
|
419
|
+
getShapes() {
|
|
420
|
+
return this.shapes;
|
|
421
|
+
}
|
|
422
|
+
collisionWithShape(shape, player, nextPosition) {
|
|
423
|
+
const { collision, z } = shape.properties;
|
|
424
|
+
if (shape.isShapePosition())
|
|
425
|
+
return false;
|
|
426
|
+
if (z !== undefined && !this.zCollision({
|
|
427
|
+
position: { z },
|
|
428
|
+
height: this.mapInstance.tileHeight
|
|
429
|
+
})) {
|
|
430
|
+
return false;
|
|
431
|
+
}
|
|
432
|
+
let { position, hitbox } = player;
|
|
433
|
+
if (nextPosition)
|
|
434
|
+
position = nextPosition;
|
|
435
|
+
const hitboxObj = Hit_1.Hit.createObjectHitbox(position.x, position.y, position.z, hitbox.w, hitbox.h);
|
|
436
|
+
let collided = Hit_1.Hit.testPolyCollision(shape.type, hitboxObj, shape.hitbox);
|
|
437
|
+
if (collided) {
|
|
438
|
+
this.collisionWith.push(shape);
|
|
439
|
+
// TODO: in shape after map load
|
|
440
|
+
if (!collision)
|
|
441
|
+
shape.in(this);
|
|
442
|
+
this.triggerCollisionWith();
|
|
443
|
+
if (collision)
|
|
444
|
+
return true;
|
|
445
|
+
}
|
|
446
|
+
else {
|
|
447
|
+
shape.out(this);
|
|
362
448
|
}
|
|
363
449
|
return false;
|
|
364
450
|
}
|
|
@@ -383,11 +469,22 @@ class RpgCommonPlayer {
|
|
|
383
469
|
}
|
|
384
470
|
}
|
|
385
471
|
}
|
|
386
|
-
|
|
472
|
+
const collided = testCollision && !this.isCollided(nextPosition);
|
|
473
|
+
if (collided) {
|
|
387
474
|
this.position = nextPosition;
|
|
475
|
+
Plugin_1.RpgPlugin.emit(Plugin_1.HookServer.PlayerMove, this);
|
|
388
476
|
}
|
|
389
477
|
return true;
|
|
390
478
|
}
|
|
479
|
+
/**
|
|
480
|
+
* Retrieves all shapes where the player is located
|
|
481
|
+
*
|
|
482
|
+
* @title Get In-Shapes
|
|
483
|
+
* @method player.getInShapes()
|
|
484
|
+
* @returns {RpgShape[]}
|
|
485
|
+
* @since 3.0.0-beta.3
|
|
486
|
+
* @memberof Player
|
|
487
|
+
*/
|
|
391
488
|
getInShapes() {
|
|
392
489
|
return Object.values(this.inShapes);
|
|
393
490
|
}
|
|
@@ -400,28 +497,17 @@ class RpgCommonPlayer {
|
|
|
400
497
|
*
|
|
401
498
|
* @title Get Direction
|
|
402
499
|
* @method player.getDirection()
|
|
403
|
-
* @returns {
|
|
500
|
+
* @returns {Direction | number} direction
|
|
404
501
|
* @memberof Player
|
|
405
502
|
*/
|
|
406
503
|
getDirection(direction) {
|
|
407
|
-
|
|
408
|
-
if (!Utils_1.isString(currentDir)) {
|
|
409
|
-
return [Direction.Down, Direction.Left, Direction.Right, Direction.Up][currentDir];
|
|
410
|
-
}
|
|
411
|
-
const dir = {
|
|
412
|
-
[Direction.Down]: 0,
|
|
413
|
-
[Direction.Left]: 1,
|
|
414
|
-
[Direction.Right]: 2,
|
|
415
|
-
[Direction.Up]: 3
|
|
416
|
-
};
|
|
417
|
-
return dir[currentDir];
|
|
504
|
+
return direction || this.direction;
|
|
418
505
|
}
|
|
419
506
|
/**
|
|
420
507
|
* Changes the player's direction
|
|
421
508
|
*
|
|
422
509
|
* ```ts
|
|
423
510
|
* import { Direction } from '@rpgjs/server'
|
|
424
|
-
import { Shape } from './Shape';
|
|
425
511
|
*
|
|
426
512
|
* player.changeDirection(Direction.Left)
|
|
427
513
|
* ```
|
|
@@ -462,6 +548,33 @@ import { Shape } from './Shape';
|
|
|
462
548
|
return NaN;
|
|
463
549
|
}
|
|
464
550
|
}
|
|
551
|
+
getSizeMaxShape(x, y) {
|
|
552
|
+
const _x = x || this.position.x;
|
|
553
|
+
const _y = y || this.position.y;
|
|
554
|
+
let minX = _x;
|
|
555
|
+
let minY = _y;
|
|
556
|
+
let maxX = _x + this.wHitbox;
|
|
557
|
+
let maxY = _y + this.hHitbox;
|
|
558
|
+
const shapes = this.getShapes();
|
|
559
|
+
for (let shape of shapes) {
|
|
560
|
+
if (shape.x < minX)
|
|
561
|
+
minX = shape.x;
|
|
562
|
+
if (shape.y < minY)
|
|
563
|
+
minX = shape.y;
|
|
564
|
+
const shapeMaxX = shape.x + shape.width;
|
|
565
|
+
const shapeMaxY = shape.y + shape.height;
|
|
566
|
+
if (shapeMaxX > maxX)
|
|
567
|
+
maxX = shapeMaxX;
|
|
568
|
+
if (shapeMaxY > maxY)
|
|
569
|
+
maxY = shapeMaxY;
|
|
570
|
+
}
|
|
571
|
+
return {
|
|
572
|
+
minX,
|
|
573
|
+
minY,
|
|
574
|
+
maxX,
|
|
575
|
+
maxY
|
|
576
|
+
};
|
|
577
|
+
}
|
|
465
578
|
execMethod(methodName, methodData, instance) { }
|
|
466
579
|
}
|
|
467
580
|
exports.RpgCommonPlayer = RpgCommonPlayer;
|
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
|
@@ -7,19 +7,19 @@ declare type PluginSides = {
|
|
|
7
7
|
export declare type Plugin = PluginSides | [PluginSides, any];
|
|
8
8
|
export declare enum HookServer {
|
|
9
9
|
Start = "Server.Start",
|
|
10
|
+
Step = "Server.Step",
|
|
10
11
|
PlayerConnected = "Server.onConnected",
|
|
11
12
|
PlayerDisconnected = "Server.onDisconnected",
|
|
12
13
|
AddMap = "Server.AddMap",
|
|
13
14
|
AddDatabase = "Server.AddDatabase",
|
|
14
|
-
PlayerInVision = "Server.onInVision",
|
|
15
|
-
PlayerOutVision = "Server.onOutVision",
|
|
16
15
|
PlayerInput = "Server.onInput",
|
|
17
16
|
PlayerJoinMap = "Server.onJoinMap",
|
|
18
17
|
PlayerLeaveMap = "Server.onLeaveMap",
|
|
19
18
|
PlayerLevelUp = "Server.onLevelUp",
|
|
20
19
|
PlayerDead = "Server.onDead",
|
|
21
20
|
PlayerInShape = "Server.onInShape",
|
|
22
|
-
PlayerOutShape = "Server.onOutShape"
|
|
21
|
+
PlayerOutShape = "Server.onOutShape",
|
|
22
|
+
PlayerMove = "Server.PlayerMove"
|
|
23
23
|
}
|
|
24
24
|
export declare enum HookClient {
|
|
25
25
|
Start = "Client.Start",
|
|
@@ -42,7 +42,8 @@ export declare enum HookClient {
|
|
|
42
42
|
RemoveSprite = "Client.RemoveSprite",
|
|
43
43
|
UpdateSprite = "Client.UpdateSprite",
|
|
44
44
|
ChangesSprite = "Client.ChangesSprite",
|
|
45
|
-
WindowResize = "Client.WindowResize"
|
|
45
|
+
WindowResize = "Client.WindowResize",
|
|
46
|
+
SpriteMove = "Client.SpriteMove"
|
|
46
47
|
}
|
|
47
48
|
export declare class PluginSystem extends EventEmitter {
|
|
48
49
|
private loadPlugins;
|
package/lib/Plugin.js
CHANGED
|
@@ -6,12 +6,11 @@ const Utils_1 = require("./Utils");
|
|
|
6
6
|
var HookServer;
|
|
7
7
|
(function (HookServer) {
|
|
8
8
|
HookServer["Start"] = "Server.Start";
|
|
9
|
+
HookServer["Step"] = "Server.Step";
|
|
9
10
|
HookServer["PlayerConnected"] = "Server.onConnected";
|
|
10
11
|
HookServer["PlayerDisconnected"] = "Server.onDisconnected";
|
|
11
12
|
HookServer["AddMap"] = "Server.AddMap";
|
|
12
13
|
HookServer["AddDatabase"] = "Server.AddDatabase";
|
|
13
|
-
HookServer["PlayerInVision"] = "Server.onInVision";
|
|
14
|
-
HookServer["PlayerOutVision"] = "Server.onOutVision";
|
|
15
14
|
HookServer["PlayerInput"] = "Server.onInput";
|
|
16
15
|
HookServer["PlayerJoinMap"] = "Server.onJoinMap";
|
|
17
16
|
HookServer["PlayerLeaveMap"] = "Server.onLeaveMap";
|
|
@@ -19,6 +18,7 @@ var HookServer;
|
|
|
19
18
|
HookServer["PlayerDead"] = "Server.onDead";
|
|
20
19
|
HookServer["PlayerInShape"] = "Server.onInShape";
|
|
21
20
|
HookServer["PlayerOutShape"] = "Server.onOutShape";
|
|
21
|
+
HookServer["PlayerMove"] = "Server.PlayerMove";
|
|
22
22
|
})(HookServer = exports.HookServer || (exports.HookServer = {}));
|
|
23
23
|
var HookClient;
|
|
24
24
|
(function (HookClient) {
|
|
@@ -43,6 +43,7 @@ var HookClient;
|
|
|
43
43
|
HookClient["UpdateSprite"] = "Client.UpdateSprite";
|
|
44
44
|
HookClient["ChangesSprite"] = "Client.ChangesSprite";
|
|
45
45
|
HookClient["WindowResize"] = "Client.WindowResize";
|
|
46
|
+
HookClient["SpriteMove"] = "Client.SpriteMove";
|
|
46
47
|
})(HookClient = exports.HookClient || (exports.HookClient = {}));
|
|
47
48
|
// deprecated
|
|
48
49
|
class PluginSystem extends EventEmitter_1.EventEmitter {
|
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,oDAAsC,CAAA;IACtC,0DAA4C,CAAA;IAC5C,sCAAwB,CAAA;IACxB,gDAAkC,CAAA;IAClC,
|
|
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,aAAa;AACb,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.d.ts
CHANGED
|
@@ -4,10 +4,15 @@ import { EventEmitter } from './EventEmitter';
|
|
|
4
4
|
*
|
|
5
5
|
*/
|
|
6
6
|
export declare class Scheduler extends EventEmitter {
|
|
7
|
-
options
|
|
7
|
+
private options;
|
|
8
8
|
nextExecTime: any;
|
|
9
|
-
requestedDelay:
|
|
10
|
-
delayCounter:
|
|
9
|
+
requestedDelay: number;
|
|
10
|
+
delayCounter: number;
|
|
11
|
+
timestamp: number;
|
|
12
|
+
lastTimestamp: number;
|
|
13
|
+
deltaTime: number;
|
|
14
|
+
deltaTimeInt: number;
|
|
15
|
+
frame: number;
|
|
11
16
|
/**
|
|
12
17
|
* schedule a function to be called
|
|
13
18
|
*
|
|
@@ -16,7 +21,12 @@ export declare class Scheduler extends EventEmitter {
|
|
|
16
21
|
* @param {Number} options.period number of milliseconds between each invocation, not including the function's execution time
|
|
17
22
|
* @param {Number} options.delay number of milliseconds to add when delaying or hurrying the execution
|
|
18
23
|
*/
|
|
19
|
-
constructor(options:
|
|
24
|
+
constructor(options: {
|
|
25
|
+
tick: Function;
|
|
26
|
+
period: number;
|
|
27
|
+
delay: number;
|
|
28
|
+
stepPeriod?: number;
|
|
29
|
+
});
|
|
20
30
|
nextTickChecker(): void;
|
|
21
31
|
nextTick(): void;
|
|
22
32
|
callTick(): void;
|