@rpgjs/server 3.0.0-beta.4 → 3.0.0-beta.7
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/Event.d.ts +1 -2
- package/lib/Event.js +1 -2
- package/lib/Event.js.map +1 -1
- package/lib/Game/Map.d.ts +13 -7
- package/lib/Game/Map.js +28 -32
- package/lib/Game/Map.js.map +1 -1
- package/lib/Player/BattleManager.d.ts +1 -1
- package/lib/Player/BattleManager.js.map +1 -1
- package/lib/Player/GuiManager.d.ts +48 -0
- package/lib/Player/GuiManager.js +59 -0
- package/lib/Player/GuiManager.js.map +1 -1
- package/lib/Player/MoveManager.d.ts +10 -12
- package/lib/Player/MoveManager.js +39 -31
- package/lib/Player/MoveManager.js.map +1 -1
- package/lib/Player/Player.d.ts +65 -18
- package/lib/Player/Player.js +100 -44
- package/lib/Player/Player.js.map +1 -1
- package/lib/Query.d.ts +3 -0
- package/lib/Query.js +4 -5
- package/lib/Query.js.map +1 -1
- package/lib/Scenes/Map.d.ts +2 -2
- package/lib/Scenes/Map.js +24 -7
- package/lib/Scenes/Map.js.map +1 -1
- package/lib/decorators/event.d.ts +1 -1
- package/lib/decorators/event.js +2 -2
- package/lib/decorators/event.js.map +1 -1
- package/lib/entry-point.d.ts +1 -0
- package/lib/entry-point.js +1 -1
- package/lib/entry-point.js.map +1 -1
- package/lib/index.d.ts +3 -5
- package/lib/index.js +7 -8
- package/lib/index.js.map +1 -1
- package/lib/server.d.ts +12 -7
- package/lib/server.js +59 -14
- package/lib/server.js.map +1 -1
- package/lib/workers/move.d.ts +2 -0
- package/lib/workers/move.js +8 -0
- package/lib/workers/move.js.map +1 -0
- package/package.json +6 -8
package/lib/decorators/event.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.EventData = void 0;
|
|
4
|
-
const
|
|
4
|
+
const Player_1 = require("../Player/Player");
|
|
5
5
|
function EventData(options) {
|
|
6
6
|
return (target) => {
|
|
7
|
-
target.mode = options.mode ||
|
|
7
|
+
target.mode = options.mode || Player_1.EventMode.Shared;
|
|
8
8
|
target.width = options.width;
|
|
9
9
|
target.height = options.height;
|
|
10
10
|
target.hitbox = options.hitbox;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event.js","sourceRoot":"","sources":["../../src/decorators/event.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"event.js","sourceRoot":"","sources":["../../src/decorators/event.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;AA+C5C,SAAgB,SAAS,CAAC,OAAqB;IAC3C,OAAO,CAAC,MAAM,EAAE,EAAE;QACd,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,kBAAS,CAAC,MAAM,CAAA;QAC9C,MAAM,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAA;QAC5B,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;QAC9B,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;QAC9B,MAAM,CAAC,SAAS,CAAC,KAAK,GAAG,OAAO,CAAC,IAAI,CAAA;IACzC,CAAC,CAAA;AACL,CAAC;AARD,8BAQC"}
|
package/lib/entry-point.d.ts
CHANGED
package/lib/entry-point.js
CHANGED
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
const common_1 = require("@rpgjs/common");
|
|
4
4
|
const server_1 = require("./server");
|
|
5
5
|
function default_1(modules, options) {
|
|
6
|
-
const gameEngine = new common_1.RpgCommonGame(
|
|
6
|
+
const gameEngine = new common_1.RpgCommonGame(common_1.GameSide.Server);
|
|
7
7
|
if (!options.globalConfig)
|
|
8
8
|
options.globalConfig = {};
|
|
9
9
|
const relations = {
|
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,
|
|
1
|
+
{"version":3,"file":"entry-point.js","sourceRoot":"","sources":["../src/entry-point.ts"],"names":[],"mappings":";;AAAA,0CAA4F;AAC5F,qCAA0C;AAmC1C,mBAAwB,OAAqB,EAAE,OAAmC;IAC9E,MAAM,UAAU,GAAG,IAAI,sBAAa,CAAC,iBAAQ,CAAC,MAAM,CAAC,CAAA;IAErD,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/index.d.ts
CHANGED
|
@@ -3,13 +3,11 @@ import { Direction, Input, Control, RpgPlugin, HookServer, HookClient, RpgModule
|
|
|
3
3
|
import { RpgServer, RpgPlayerHooks, RpgServerEngineHooks } from './RpgServer';
|
|
4
4
|
import { EventData } from './decorators/event';
|
|
5
5
|
import { MapData } from './decorators/map';
|
|
6
|
+
import { RpgPlayer, RpgEvent, EventMode } from './Player/Player';
|
|
6
7
|
import { RpgMap } from './Game/Map';
|
|
7
|
-
import { RpgEvent, EventMode } from './Event';
|
|
8
|
-
import { RpgPlayer } from './Player/Player';
|
|
9
|
-
import RpgEnemy from './Enemy';
|
|
10
8
|
import { Query } from './Query';
|
|
11
9
|
import Monitor from './Monitor';
|
|
12
10
|
import * as Presets from './presets';
|
|
13
|
-
import { Move } from './Player/MoveManager';
|
|
11
|
+
import { Move, Frequency, Speed } from './Player/MoveManager';
|
|
14
12
|
import { RpgServerEngine } from './server';
|
|
15
|
-
export { RpgServer, RpgEvent, RpgPlayer, RpgPlugin, RpgMap,
|
|
13
|
+
export { RpgServer, RpgEvent, RpgPlayer, RpgPlugin, RpgMap, MapData, EventData, Query as RpgWorld, Query, entryPoint, Presets, Monitor, Move, EventMode, Direction, Input, Control, HookServer, HookClient, RpgModule, RpgPlayerHooks, RpgServerEngineHooks, RpgServerEngine, RpgShape, ShapePositioning, Frequency, Speed };
|
package/lib/index.js
CHANGED
|
@@ -22,7 +22,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
22
22
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
23
23
|
};
|
|
24
24
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
|
-
exports.ShapePositioning = exports.RpgShape = exports.RpgServerEngine = exports.RpgModule = exports.HookClient = exports.HookServer = exports.Control = exports.Input = exports.Direction = exports.EventMode = exports.Move = exports.Monitor = exports.Presets = exports.entryPoint = exports.Query = exports.RpgWorld = exports.EventData = exports.MapData = exports.
|
|
25
|
+
exports.Speed = exports.Frequency = exports.ShapePositioning = exports.RpgShape = exports.RpgServerEngine = exports.RpgModule = exports.HookClient = exports.HookServer = exports.Control = exports.Input = exports.Direction = exports.EventMode = exports.Move = exports.Monitor = exports.Presets = exports.entryPoint = exports.Query = exports.RpgWorld = exports.EventData = exports.MapData = exports.RpgMap = exports.RpgPlugin = exports.RpgPlayer = exports.RpgEvent = void 0;
|
|
26
26
|
const entry_point_1 = __importDefault(require("./entry-point"));
|
|
27
27
|
exports.entryPoint = entry_point_1.default;
|
|
28
28
|
const common_1 = require("@rpgjs/common");
|
|
@@ -39,15 +39,12 @@ const event_1 = require("./decorators/event");
|
|
|
39
39
|
Object.defineProperty(exports, "EventData", { enumerable: true, get: function () { return event_1.EventData; } });
|
|
40
40
|
const map_1 = require("./decorators/map");
|
|
41
41
|
Object.defineProperty(exports, "MapData", { enumerable: true, get: function () { return map_1.MapData; } });
|
|
42
|
-
const Map_1 = require("./Game/Map");
|
|
43
|
-
Object.defineProperty(exports, "RpgMap", { enumerable: true, get: function () { return Map_1.RpgMap; } });
|
|
44
|
-
const Event_1 = require("./Event");
|
|
45
|
-
Object.defineProperty(exports, "RpgEvent", { enumerable: true, get: function () { return Event_1.RpgEvent; } });
|
|
46
|
-
Object.defineProperty(exports, "EventMode", { enumerable: true, get: function () { return Event_1.EventMode; } });
|
|
47
42
|
const Player_1 = require("./Player/Player");
|
|
48
43
|
Object.defineProperty(exports, "RpgPlayer", { enumerable: true, get: function () { return Player_1.RpgPlayer; } });
|
|
49
|
-
|
|
50
|
-
exports
|
|
44
|
+
Object.defineProperty(exports, "RpgEvent", { enumerable: true, get: function () { return Player_1.RpgEvent; } });
|
|
45
|
+
Object.defineProperty(exports, "EventMode", { enumerable: true, get: function () { return Player_1.EventMode; } });
|
|
46
|
+
const Map_1 = require("./Game/Map");
|
|
47
|
+
Object.defineProperty(exports, "RpgMap", { enumerable: true, get: function () { return Map_1.RpgMap; } });
|
|
51
48
|
const Query_1 = require("./Query");
|
|
52
49
|
Object.defineProperty(exports, "RpgWorld", { enumerable: true, get: function () { return Query_1.Query; } });
|
|
53
50
|
Object.defineProperty(exports, "Query", { enumerable: true, get: function () { return Query_1.Query; } });
|
|
@@ -57,6 +54,8 @@ const Presets = __importStar(require("./presets"));
|
|
|
57
54
|
exports.Presets = Presets;
|
|
58
55
|
const MoveManager_1 = require("./Player/MoveManager");
|
|
59
56
|
Object.defineProperty(exports, "Move", { enumerable: true, get: function () { return MoveManager_1.Move; } });
|
|
57
|
+
Object.defineProperty(exports, "Frequency", { enumerable: true, get: function () { return MoveManager_1.Frequency; } });
|
|
58
|
+
Object.defineProperty(exports, "Speed", { enumerable: true, get: function () { return MoveManager_1.Speed; } });
|
|
60
59
|
const server_1 = require("./server");
|
|
61
60
|
Object.defineProperty(exports, "RpgServerEngine", { enumerable: true, get: function () { return server_1.RpgServerEngine; } });
|
|
62
61
|
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gEAAsC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gEAAsC;AAiClC,qBAjCG,qBAAU,CAiCH;AAhCd,0CAUsB;AA2BlB,0FApCA,kBAAS,OAoCA;AACT,sFApCA,cAAK,OAoCA;AACL,wFApCA,gBAAO,OAoCA;AAbP,0FAtBA,kBAAS,OAsBA;AAcT,2FAnCA,mBAAU,OAmCA;AACV,2FAnCA,mBAAU,OAmCA;AACV,0FAnCA,kBAAS,OAmCA;AAIT,yFAtCA,iBAAQ,OAsCA;AACR,iGAtCA,yBAAgB,OAsCA;AAnCpB,8CAA8C;AAiB1C,0FAjBK,iBAAS,OAiBL;AAhBb,0CAA0C;AAetC,wFAfK,aAAO,OAeL;AAdX,4CAAgE;AAW5D,0FAXK,kBAAS,OAWL;AADT,yFAVgB,iBAAQ,OAUhB;AAYR,0FAtB0B,kBAAS,OAsB1B;AArBb,oCAAmC;AAY/B,uFAZK,YAAM,OAYL;AAXV,mCAA+B;AAclB,yFAdJ,aAAK,OAcO;AACjB,sFAfK,aAAK,OAeL;AAdT,wDAA+B;AAiB3B,kBAjBG,iBAAO,CAiBH;AAhBX,mDAAoC;AAehC,0BAAO;AAdX,sDAA6D;AAgBzD,qFAhBK,kBAAI,OAgBL;AAaJ,0FA7BW,uBAAS,OA6BX;AACT,sFA9BsB,mBAAK,OA8BtB;AA7BT,qCAA0C;AAyBtC,gGAzBK,wBAAe,OAyBL"}
|
package/lib/server.d.ts
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
|
+
import { SceneMap } from './Scenes/Map';
|
|
2
|
+
import { WorldClass } from '@rpgjs/sync-server';
|
|
3
|
+
import { RpgCommonGame } from '@rpgjs/common';
|
|
1
4
|
export declare class RpgServerEngine {
|
|
2
5
|
io: any;
|
|
3
|
-
gameEngine:
|
|
6
|
+
gameEngine: RpgCommonGame;
|
|
4
7
|
inputOptions: any;
|
|
5
8
|
/**
|
|
6
9
|
* Express App Instance. If you have assigned this variable before starting the game, you can get the instance of Express
|
|
@@ -31,18 +34,19 @@ export declare class RpgServerEngine {
|
|
|
31
34
|
* @memberof RpgServerEngine
|
|
32
35
|
*/
|
|
33
36
|
damageFormulas: any;
|
|
34
|
-
private playerClass;
|
|
35
37
|
private scenes;
|
|
36
38
|
protected totalConnected: number;
|
|
37
39
|
private scheduler;
|
|
38
|
-
|
|
40
|
+
private tick;
|
|
41
|
+
world: WorldClass;
|
|
42
|
+
workers: any;
|
|
39
43
|
/**
|
|
40
44
|
* Combat formulas
|
|
41
45
|
*
|
|
42
46
|
* @prop {Socket Io Server} [io]
|
|
43
47
|
* @memberof RpgServerEngine
|
|
44
48
|
*/
|
|
45
|
-
constructor(io: any, gameEngine:
|
|
49
|
+
constructor(io: any, gameEngine: RpgCommonGame, inputOptions: any);
|
|
46
50
|
private _init;
|
|
47
51
|
/**
|
|
48
52
|
* Adds data to the server's database (in RAM) for later use
|
|
@@ -84,16 +88,17 @@ export declare class RpgServerEngine {
|
|
|
84
88
|
* @memberof RpgServerEngine
|
|
85
89
|
*/
|
|
86
90
|
send(): void;
|
|
87
|
-
|
|
91
|
+
private updatePlayersMove;
|
|
92
|
+
step(t: number, dt: number): void;
|
|
88
93
|
private loadScenes;
|
|
89
|
-
getScene(name: string):
|
|
94
|
+
getScene<T>(name: string): T;
|
|
90
95
|
/**
|
|
91
96
|
* Return the scene that manages the maps of the game
|
|
92
97
|
* @prop {SceneMap} [sceneMap]
|
|
93
98
|
* @since 3.0.0-beta.4
|
|
94
99
|
* @memberof RpgServerEngine
|
|
95
100
|
*/
|
|
96
|
-
get sceneMap():
|
|
101
|
+
get sceneMap(): SceneMap;
|
|
97
102
|
sendToPlayer(currentPlayer: any, eventName: any, data: any): void;
|
|
98
103
|
private onPlayerConnected;
|
|
99
104
|
/**
|
package/lib/server.js
CHANGED
|
@@ -16,7 +16,6 @@ const Query_1 = require("./Query");
|
|
|
16
16
|
const presets_1 = require("./presets");
|
|
17
17
|
const sync_server_1 = require("@rpgjs/sync-server");
|
|
18
18
|
const common_1 = require("@rpgjs/common");
|
|
19
|
-
let tick = 0;
|
|
20
19
|
class RpgServerEngine {
|
|
21
20
|
/**
|
|
22
21
|
* Combat formulas
|
|
@@ -52,11 +51,15 @@ class RpgServerEngine {
|
|
|
52
51
|
this.damageFormulas = {};
|
|
53
52
|
this.scenes = new Map();
|
|
54
53
|
this.totalConnected = 0;
|
|
54
|
+
this.tick = 0;
|
|
55
55
|
this.world = sync_server_1.World;
|
|
56
|
+
if (this.inputOptions.workers) {
|
|
57
|
+
console.log('workers enabled');
|
|
58
|
+
this.workers = this.gameEngine.createWorkers(this.inputOptions.workers).load();
|
|
59
|
+
}
|
|
56
60
|
}
|
|
57
61
|
_init() {
|
|
58
62
|
return __awaiter(this, void 0, void 0, function* () {
|
|
59
|
-
this.playerClass = this.inputOptions.playerClass || Player_1.RpgPlayer;
|
|
60
63
|
this.damageFormulas = this.inputOptions.damageFormulas || {};
|
|
61
64
|
this.damageFormulas = Object.assign({ damageSkill: presets_1.DAMAGE_SKILL, damagePhysic: presets_1.DAMAGE_PHYSIC, damageCritical: presets_1.DAMAGE_CRITICAL, coefficientElements: presets_1.COEFFICIENT_ELEMENTS }, this.damageFormulas);
|
|
62
65
|
this.globalConfig = this.inputOptions.globalConfig;
|
|
@@ -116,12 +119,11 @@ class RpgServerEngine {
|
|
|
116
119
|
if (inputOptions)
|
|
117
120
|
this.inputOptions = inputOptions;
|
|
118
121
|
yield this._init();
|
|
119
|
-
|
|
122
|
+
this.scheduler = new common_1.Scheduler({
|
|
120
123
|
tick: this.step.bind(this),
|
|
121
124
|
period: 1000 / this.inputOptions.stepRate,
|
|
122
125
|
delay: 4
|
|
123
|
-
};
|
|
124
|
-
this.scheduler = new common_1.Scheduler(schedulerConfig);
|
|
126
|
+
});
|
|
125
127
|
if (scheduler)
|
|
126
128
|
this.scheduler.start();
|
|
127
129
|
this.gameEngine.start({
|
|
@@ -129,7 +131,7 @@ class RpgServerEngine {
|
|
|
129
131
|
return Query_1.Query.getPlayer(id);
|
|
130
132
|
},
|
|
131
133
|
getObjectsOfGroup(groupId, player) {
|
|
132
|
-
return Query_1.Query.
|
|
134
|
+
return Query_1.Query._getObjectsOfMap(groupId, player);
|
|
133
135
|
}
|
|
134
136
|
});
|
|
135
137
|
this.io.on('connection', this.onPlayerConnected.bind(this));
|
|
@@ -145,11 +147,49 @@ class RpgServerEngine {
|
|
|
145
147
|
* @memberof RpgServerEngine
|
|
146
148
|
*/
|
|
147
149
|
send() {
|
|
148
|
-
|
|
150
|
+
this.world.send();
|
|
151
|
+
}
|
|
152
|
+
updatePlayersMove(deltaTimeInt) {
|
|
153
|
+
const players = this.world.getUsers();
|
|
154
|
+
const obj = [];
|
|
155
|
+
let p = [];
|
|
156
|
+
let id = Math.random();
|
|
157
|
+
for (let playerId in players) {
|
|
158
|
+
const player = players[playerId];
|
|
159
|
+
if (player.pendingMove.length > 0) {
|
|
160
|
+
const lastFrame = player.pendingMove[player.pendingMove.length - 1];
|
|
161
|
+
if (this.inputOptions.workers)
|
|
162
|
+
obj.push(player.toObject());
|
|
163
|
+
else {
|
|
164
|
+
p.push(this.gameEngine.processInput(playerId).then(() => {
|
|
165
|
+
player.pendingMove = [];
|
|
166
|
+
player._lastFrame = lastFrame.frame;
|
|
167
|
+
}));
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
if (this.inputOptions.workers) {
|
|
172
|
+
this.workers.call('movePlayers', obj).then((players) => {
|
|
173
|
+
for (let playerId in players) {
|
|
174
|
+
const player = this.world.getUser(playerId);
|
|
175
|
+
const data = players[playerId];
|
|
176
|
+
if (player) {
|
|
177
|
+
player.position = data.position;
|
|
178
|
+
player.direction = data.direction;
|
|
179
|
+
}
|
|
180
|
+
common_1.RpgPlugin.emit('Server.onInput', [player, {
|
|
181
|
+
input: data.direction,
|
|
182
|
+
moving: true
|
|
183
|
+
}], true);
|
|
184
|
+
}
|
|
185
|
+
});
|
|
186
|
+
}
|
|
187
|
+
return Promise.all(p);
|
|
149
188
|
}
|
|
150
|
-
step() {
|
|
151
|
-
tick++;
|
|
152
|
-
|
|
189
|
+
step(t, dt) {
|
|
190
|
+
this.tick++;
|
|
191
|
+
this.updatePlayersMove(1);
|
|
192
|
+
if (this.tick % 4 === 0) {
|
|
153
193
|
this.send();
|
|
154
194
|
}
|
|
155
195
|
common_1.RpgPlugin.emit(common_1.HookServer.Step, this);
|
|
@@ -174,14 +214,19 @@ class RpgServerEngine {
|
|
|
174
214
|
}
|
|
175
215
|
onPlayerConnected(socket) {
|
|
176
216
|
const playerId = common_1.Utils.generateUID();
|
|
177
|
-
|
|
217
|
+
const player = new Player_1.RpgPlayer(this.gameEngine, playerId);
|
|
178
218
|
socket.on('move', (data) => {
|
|
179
|
-
|
|
219
|
+
for (let input of data.input) {
|
|
220
|
+
player.pendingMove.push({
|
|
221
|
+
input,
|
|
222
|
+
frame: data.frame
|
|
223
|
+
});
|
|
224
|
+
}
|
|
180
225
|
});
|
|
181
226
|
socket.on('disconnect', () => {
|
|
182
227
|
this.onPlayerDisconnected(socket.id, playerId);
|
|
183
228
|
});
|
|
184
|
-
|
|
229
|
+
this.world.setUser(player, socket);
|
|
185
230
|
socket.emit('playerJoined', { playerId });
|
|
186
231
|
player.server = this;
|
|
187
232
|
player._init();
|
|
@@ -195,7 +240,7 @@ class RpgServerEngine {
|
|
|
195
240
|
onPlayerDisconnected(socketId, playerId) {
|
|
196
241
|
const player = sync_server_1.World.getUser(playerId);
|
|
197
242
|
player.execMethod('onDisconnected');
|
|
198
|
-
|
|
243
|
+
this.world.disconnectUser(playerId);
|
|
199
244
|
}
|
|
200
245
|
}
|
|
201
246
|
exports.RpgServerEngine = RpgServerEngine;
|
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,
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"move.js","sourceRoot":"","sources":["../../src/workers/move.ts"],"names":[],"mappings":";AAAA,MAAM,EACJ,UAAU,EACV,QAAQ,EACT,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAA;AAC7B,MAAM,OAAO,GAAG,EAAE,CAAA;AAElB,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;AAErB,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE;IAC/B,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;AAClB,CAAC,CAAC,CAAA"}
|
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.7",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "./lib/index.js",
|
|
6
6
|
"types": "./lib/index.d.ts",
|
|
@@ -18,16 +18,14 @@
|
|
|
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.
|
|
24
|
-
"kompute": "^1.13.0",
|
|
21
|
+
"@rpgjs/common": "^3.0.0-beta.7",
|
|
22
|
+
"@rpgjs/database": "^3.0.0-beta.7",
|
|
23
|
+
"@rpgjs/sync-server": "^3.0.0-beta.7",
|
|
25
24
|
"lodash.merge": "^4.6.2",
|
|
26
25
|
"pathfinding": "^0.4.18",
|
|
27
|
-
"sat": "^0.8.0"
|
|
28
|
-
"yuka": "^0.7.5"
|
|
26
|
+
"sat": "^0.8.0"
|
|
29
27
|
},
|
|
30
|
-
"gitHead": "
|
|
28
|
+
"gitHead": "c7017c71e58e83b54d85d8b41bd530eb69cd4d8f",
|
|
31
29
|
"devDependencies": {
|
|
32
30
|
"typescript": "^4.3.5"
|
|
33
31
|
}
|