@rpgjs/server 3.3.2 → 4.0.0-beta.3
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/LICENSE +19 -0
- package/lib/Game/Map.d.ts +58 -5
- package/lib/Game/Map.js +185 -80
- package/lib/Game/Map.js.map +1 -1
- package/lib/Game/WorldMaps.d.ts +3 -2
- package/lib/Game/WorldMaps.js +6 -11
- package/lib/Game/WorldMaps.js.map +1 -1
- package/lib/Gui/DialogGui.d.ts +1 -1
- package/lib/Gui/DialogGui.js +12 -13
- package/lib/Gui/DialogGui.js.map +1 -1
- package/lib/Gui/Gui.js +2 -6
- package/lib/Gui/Gui.js.map +1 -1
- package/lib/Gui/MenuGui.js +4 -8
- package/lib/Gui/MenuGui.js.map +1 -1
- package/lib/Gui/NotificationGui.js +4 -8
- package/lib/Gui/NotificationGui.js.map +1 -1
- package/lib/Gui/ShopGui.js +4 -8
- package/lib/Gui/ShopGui.js.map +1 -1
- package/lib/Gui/index.js +6 -13
- package/lib/Gui/index.js.map +1 -1
- package/lib/Interfaces/Gui.js +1 -2
- package/lib/Interfaces/StateStore.js +1 -2
- package/lib/MatchMaker.js +28 -46
- package/lib/MatchMaker.js.map +1 -1
- package/lib/Monitor/index.js +3 -5
- package/lib/Monitor/index.js.map +1 -1
- package/lib/Player/BattleManager.js +17 -16
- package/lib/Player/BattleManager.js.map +1 -1
- package/lib/Player/ClassManager.js +6 -10
- package/lib/Player/ClassManager.js.map +1 -1
- package/lib/Player/ComponentManager.d.ts +4 -4
- package/lib/Player/ComponentManager.js +37 -24
- package/lib/Player/ComponentManager.js.map +1 -1
- package/lib/Player/EffectManager.js +8 -12
- package/lib/Player/EffectManager.js.map +1 -1
- package/lib/Player/ElementManager.js +5 -9
- package/lib/Player/ElementManager.js.map +1 -1
- package/lib/Player/GoldManager.js +1 -5
- package/lib/Player/GoldManager.js.map +1 -1
- package/lib/Player/GuiManager.js +17 -15
- package/lib/Player/GuiManager.js.map +1 -1
- package/lib/Player/ItemFixture.js +1 -5
- package/lib/Player/ItemFixture.js.map +1 -1
- package/lib/Player/ItemManager.d.ts +3 -3
- package/lib/Player/ItemManager.js +29 -31
- package/lib/Player/ItemManager.js.map +1 -1
- package/lib/Player/MoveManager.d.ts +7 -6
- package/lib/Player/MoveManager.js +67 -74
- package/lib/Player/MoveManager.js.map +1 -1
- package/lib/Player/ParameterManager.js +10 -14
- package/lib/Player/ParameterManager.js.map +1 -1
- package/lib/Player/Player.d.ts +7 -1
- package/lib/Player/Player.js +193 -191
- package/lib/Player/Player.js.map +1 -1
- package/lib/Player/SkillManager.js +18 -22
- package/lib/Player/SkillManager.js.map +1 -1
- package/lib/Player/StateManager.js +9 -13
- package/lib/Player/StateManager.js.map +1 -1
- package/lib/Player/VariableManager.js +1 -5
- package/lib/Player/VariableManager.js.map +1 -1
- package/lib/Query.d.ts +2 -1
- package/lib/Query.js +19 -15
- package/lib/Query.js.map +1 -1
- package/lib/RpgServer.d.ts +11 -3
- package/lib/RpgServer.js +1 -2
- package/lib/Scenes/Map.d.ts +27 -4
- package/lib/Scenes/Map.js +117 -122
- package/lib/Scenes/Map.js.map +1 -1
- package/lib/decorators/event.js +4 -7
- package/lib/decorators/event.js.map +1 -1
- package/lib/decorators/map.d.ts +1 -1
- package/lib/decorators/map.js +5 -9
- package/lib/decorators/map.js.map +1 -1
- package/lib/entry-point.js +59 -65
- package/lib/entry-point.js.map +1 -1
- package/lib/express/api.d.ts +3 -0
- package/lib/express/api.js +105 -0
- package/lib/express/api.js.map +1 -0
- package/lib/express/errors/NotAuthorized.d.ts +4 -0
- package/lib/express/errors/NotAuthorized.js +7 -0
- package/lib/express/errors/NotAuthorized.js.map +1 -0
- package/lib/express/errors/NotFound.d.ts +4 -0
- package/lib/express/errors/NotFound.js +7 -0
- package/lib/express/errors/NotFound.js.map +1 -0
- package/lib/express/server.js +20 -5
- package/lib/express/server.js.map +1 -1
- package/lib/index.js +15 -68
- package/lib/index.js.map +1 -1
- package/lib/logs/index.js +5 -11
- package/lib/logs/index.js.map +1 -1
- package/lib/logs/item.js +11 -15
- package/lib/logs/item.js.map +1 -1
- package/lib/logs/log.js +1 -5
- package/lib/logs/log.js.map +1 -1
- package/lib/logs/skill.js +6 -10
- package/lib/logs/skill.js.map +1 -1
- package/lib/logs/state.js +5 -9
- package/lib/logs/state.js.map +1 -1
- package/lib/models/Item.js +1 -2
- package/lib/presets/index.js +28 -36
- package/lib/presets/index.js.map +1 -1
- package/lib/server.d.ts +23 -2
- package/lib/server.js +227 -134
- package/lib/server.js.map +1 -1
- package/package.json +24 -16
- package/src/Game/Map.ts +513 -0
- package/src/Game/WorldMaps.ts +45 -0
- package/src/Gui/DialogGui.ts +67 -0
- package/src/Gui/Gui.ts +45 -0
- package/src/Gui/MenuGui.ts +26 -0
- package/src/Gui/NotificationGui.ts +10 -0
- package/src/Gui/ShopGui.ts +43 -0
- package/src/Gui/index.ts +13 -0
- package/src/Interfaces/Gui.ts +4 -0
- package/src/Interfaces/StateStore.ts +5 -0
- package/src/MatchMaker.ts +63 -0
- package/src/Monitor/index.ts +78 -0
- package/src/Player/BattleManager.ts +123 -0
- package/src/Player/ClassManager.ts +72 -0
- package/src/Player/ComponentManager.ts +538 -0
- package/src/Player/EffectManager.ts +94 -0
- package/src/Player/ElementManager.ts +142 -0
- package/src/Player/GoldManager.ts +26 -0
- package/src/Player/GuiManager.ts +308 -0
- package/src/Player/ItemFixture.ts +24 -0
- package/src/Player/ItemManager.ts +474 -0
- package/src/Player/MoveManager.ts +635 -0
- package/src/Player/ParameterManager.ts +468 -0
- package/src/Player/Player.ts +931 -0
- package/src/Player/SkillManager.ts +229 -0
- package/src/Player/StateManager.ts +230 -0
- package/src/Player/VariableManager.ts +55 -0
- package/src/Query.ts +172 -0
- package/src/RpgServer.ts +429 -0
- package/src/Scenes/Map.ts +302 -0
- package/src/decorators/event.ts +57 -0
- package/src/decorators/map.ts +223 -0
- package/src/entry-point.ts +102 -0
- package/src/express/api.ts +118 -0
- package/src/express/errors/NotAuthorized.ts +6 -0
- package/src/express/errors/NotFound.ts +6 -0
- package/src/express/server.ts +93 -0
- package/src/index.ts +28 -0
- package/src/logs/index.ts +11 -0
- package/src/logs/item.ts +31 -0
- package/src/logs/log.ts +3 -0
- package/src/logs/skill.ts +16 -0
- package/src/logs/state.ts +13 -0
- package/src/models/Item.ts +11 -0
- package/src/presets/index.ts +71 -0
- package/src/server.ts +394 -0
- package/tsconfig.json +27 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
Copyright (C) 2020 by Samuel Ronce
|
|
2
|
+
|
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
4
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
5
|
+
in the Software without restriction, including without limitation the rights
|
|
6
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
7
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
8
|
+
furnished to do so, subject to the following conditions:
|
|
9
|
+
|
|
10
|
+
The above copyright notice and this permission notice shall be included in
|
|
11
|
+
all copies or substantial portions of the Software.
|
|
12
|
+
|
|
13
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
14
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
15
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
16
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
17
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
18
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
19
|
+
THE SOFTWARE.
|
package/lib/Game/Map.d.ts
CHANGED
|
@@ -1,20 +1,21 @@
|
|
|
1
1
|
import { RpgCommonMap, RpgShape, RpgCommonGame, AbstractObject } from '@rpgjs/common';
|
|
2
|
+
import { TiledTileset } from '@rpgjs/tiled';
|
|
2
3
|
import { EventOptions } from '../decorators/event';
|
|
3
4
|
import { RpgPlayer, EventMode, RpgEvent } from '../Player/Player';
|
|
4
5
|
import { RpgServerEngine } from '../server';
|
|
5
6
|
import { Observable } from 'rxjs';
|
|
6
7
|
import { HitBox, MovingHitbox } from '@rpgjs/types';
|
|
7
|
-
export
|
|
8
|
+
export type EventPosOption = {
|
|
8
9
|
x: number;
|
|
9
10
|
y: number;
|
|
10
11
|
z?: number;
|
|
11
12
|
event: EventOptions;
|
|
12
13
|
};
|
|
13
|
-
export
|
|
14
|
-
export
|
|
14
|
+
export type EventOption = EventPosOption | EventOptions;
|
|
15
|
+
export type PlayersList = {
|
|
15
16
|
[eventId: string]: RpgEvent;
|
|
16
17
|
};
|
|
17
|
-
export
|
|
18
|
+
export type EventsList = {
|
|
18
19
|
[playerId: string]: RpgPlayer;
|
|
19
20
|
};
|
|
20
21
|
export declare class RpgMap extends RpgCommonMap {
|
|
@@ -28,13 +29,64 @@ export declare class RpgMap extends RpgCommonMap {
|
|
|
28
29
|
* */
|
|
29
30
|
events: EventsList;
|
|
30
31
|
constructor(_server: RpgServerEngine);
|
|
32
|
+
/**
|
|
33
|
+
* @title Players list
|
|
34
|
+
* @prop { { [playerId: string]: RpgPlayer } } [players]
|
|
35
|
+
* @readonly
|
|
36
|
+
* @memberof Map
|
|
37
|
+
*/
|
|
31
38
|
get players(): PlayersList;
|
|
39
|
+
/**
|
|
40
|
+
* @title Number of players
|
|
41
|
+
* @prop {number} [nbPlayers]
|
|
42
|
+
* @readonly
|
|
43
|
+
* @memberof Map
|
|
44
|
+
*/
|
|
32
45
|
get nbPlayers(): number;
|
|
33
46
|
load(): Promise<void>;
|
|
47
|
+
/**
|
|
48
|
+
* Update the map with new data. Data can be a string (TMX content) or an object (parsed TMX content)
|
|
49
|
+
* New Map data will be sent to all players on the map
|
|
50
|
+
*
|
|
51
|
+
* @title Update map
|
|
52
|
+
* @method map.update(data)
|
|
53
|
+
* @since 4.0.0
|
|
54
|
+
* @returns {Promise<void>}
|
|
55
|
+
* @param {object | string} data
|
|
56
|
+
* @memberof Map
|
|
57
|
+
*/
|
|
58
|
+
update(data: object | string): Promise<void>;
|
|
59
|
+
/**
|
|
60
|
+
* Update tileset with new data. Data can be a string (TSX content) or an object (TiledTileset)
|
|
61
|
+
* Cache will be removed for this tileset
|
|
62
|
+
* New tileset data will be sent to all players on the map
|
|
63
|
+
* Warning: tileset is not updated for all maps, only for the current map
|
|
64
|
+
*
|
|
65
|
+
* @title Update tileset
|
|
66
|
+
* @method map.updateTileset(data)
|
|
67
|
+
* @since 4.0.0
|
|
68
|
+
* @returns {<void>}
|
|
69
|
+
* @param {TiledTileset | string} data
|
|
70
|
+
* @memberof Map
|
|
71
|
+
*/
|
|
72
|
+
updateTileset(data: TiledTileset | string): void;
|
|
73
|
+
/**
|
|
74
|
+
* Remove the map from the server. If there are still players on the map, an error will be thrown
|
|
75
|
+
* Not delete the map file, only in memory
|
|
76
|
+
*
|
|
77
|
+
* @title Remove map
|
|
78
|
+
* @method map.remove()
|
|
79
|
+
* @since 4.0.0
|
|
80
|
+
* @returns {void}
|
|
81
|
+
* @throws {Error} If there are still players on the map
|
|
82
|
+
* @memberof Map
|
|
83
|
+
* */
|
|
84
|
+
remove(ignorePlayers?: boolean): never | void;
|
|
85
|
+
private parseTmx;
|
|
34
86
|
private loadProperties;
|
|
35
87
|
get game(): RpgCommonGame;
|
|
36
|
-
private removeObject;
|
|
37
88
|
onLeave(player: RpgPlayer): void;
|
|
89
|
+
private loadCommonEvents;
|
|
38
90
|
autoLoadEvent(): void;
|
|
39
91
|
/**
|
|
40
92
|
* Edit a tile on the map. All players on the map will see the modified tile
|
|
@@ -115,6 +167,7 @@ export declare class RpgMap extends RpgCommonMap {
|
|
|
115
167
|
removeEvent(eventId: string): boolean;
|
|
116
168
|
createEvent(obj: EventPosOption, mode: EventMode, shape?: RpgShape): RpgEvent | null;
|
|
117
169
|
createEvents(eventsList: EventOption[], mode: EventMode): EventsList;
|
|
170
|
+
private removeObject;
|
|
118
171
|
/**
|
|
119
172
|
* Allows to create a temporary hitbox on the map that can have a movement
|
|
120
173
|
For example, you can use it to explode a bomb and find all the affected players, or during a sword strike, you can create a moving hitbox and find the affected players again
|
package/lib/Game/Map.js
CHANGED
|
@@ -1,20 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.RpgMap = void 0;
|
|
13
|
-
const common_1 = require("@rpgjs/common");
|
|
14
|
-
const tiled_1 = require("@rpgjs/tiled");
|
|
15
|
-
const Player_1 = require("../Player/Player");
|
|
16
|
-
const MoveManager_1 = require("../Player/MoveManager");
|
|
17
|
-
class AutoEvent extends Player_1.RpgEvent {
|
|
1
|
+
import { RpgCommonMap, Utils } from '@rpgjs/common';
|
|
2
|
+
import { TiledParserFile, TiledParser } from '@rpgjs/tiled';
|
|
3
|
+
import { EventMode, RpgEvent } from '../Player/Player';
|
|
4
|
+
import { Move } from '../Player/MoveManager';
|
|
5
|
+
import path from 'path';
|
|
6
|
+
import { World } from 'simple-room';
|
|
7
|
+
class AutoEvent extends RpgEvent {
|
|
18
8
|
onInit() {
|
|
19
9
|
const { graphic, direction, speed, frequency, move } = this.properties;
|
|
20
10
|
if (graphic) {
|
|
@@ -30,22 +20,20 @@ class AutoEvent extends Player_1.RpgEvent {
|
|
|
30
20
|
this.frequency = frequency;
|
|
31
21
|
}
|
|
32
22
|
if (move == 'random') {
|
|
33
|
-
this.infiniteMoveRoute([
|
|
23
|
+
this.infiniteMoveRoute([Move.tileRandom()]);
|
|
34
24
|
}
|
|
35
25
|
}
|
|
36
|
-
onAction(player) {
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
}
|
|
44
|
-
});
|
|
26
|
+
async onAction(player) {
|
|
27
|
+
const { text } = this.properties;
|
|
28
|
+
if (text) {
|
|
29
|
+
await player.showText(text, {
|
|
30
|
+
talkWith: this
|
|
31
|
+
});
|
|
32
|
+
}
|
|
45
33
|
}
|
|
46
34
|
}
|
|
47
35
|
AutoEvent.hitbox = {};
|
|
48
|
-
class RpgMap extends
|
|
36
|
+
export class RpgMap extends RpgCommonMap {
|
|
49
37
|
constructor(_server) {
|
|
50
38
|
super();
|
|
51
39
|
this._server = _server;
|
|
@@ -57,37 +45,140 @@ class RpgMap extends common_1.RpgCommonMap {
|
|
|
57
45
|
this.events = {};
|
|
58
46
|
}
|
|
59
47
|
// alias of users property in simple-room package
|
|
48
|
+
/**
|
|
49
|
+
* @title Players list
|
|
50
|
+
* @prop { { [playerId: string]: RpgPlayer } } [players]
|
|
51
|
+
* @readonly
|
|
52
|
+
* @memberof Map
|
|
53
|
+
*/
|
|
60
54
|
get players() {
|
|
61
55
|
return this['users'];
|
|
62
56
|
}
|
|
57
|
+
/**
|
|
58
|
+
* @title Number of players
|
|
59
|
+
* @prop {number} [nbPlayers]
|
|
60
|
+
* @readonly
|
|
61
|
+
* @memberof Map
|
|
62
|
+
*/
|
|
63
63
|
get nbPlayers() {
|
|
64
64
|
return Object.keys(this.players).length;
|
|
65
65
|
}
|
|
66
|
-
load() {
|
|
67
|
-
|
|
68
|
-
|
|
66
|
+
async load() {
|
|
67
|
+
if (RpgCommonMap.buffer.has(this.id)) {
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
const data = await this.parseTmx(this.file);
|
|
71
|
+
super.load(data);
|
|
72
|
+
this.getAllObjects().forEach(this.createShape.bind(this));
|
|
73
|
+
this.loadProperties(data.properties);
|
|
74
|
+
this._server.workers?.call('loadMap', {
|
|
75
|
+
id: this.id,
|
|
76
|
+
data
|
|
69
77
|
});
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
78
|
+
RpgCommonMap.buffer.set(this.id, this);
|
|
79
|
+
this.loadCommonEvents(this._server.inputOptions.events);
|
|
80
|
+
this.createDynamicEvent(this._events);
|
|
81
|
+
if (this.onLoad)
|
|
82
|
+
this.onLoad();
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Update the map with new data. Data can be a string (TMX content) or an object (parsed TMX content)
|
|
86
|
+
* New Map data will be sent to all players on the map
|
|
87
|
+
*
|
|
88
|
+
* @title Update map
|
|
89
|
+
* @method map.update(data)
|
|
90
|
+
* @since 4.0.0
|
|
91
|
+
* @returns {Promise<void>}
|
|
92
|
+
* @param {object | string} data
|
|
93
|
+
* @memberof Map
|
|
94
|
+
*/
|
|
95
|
+
async update(data) {
|
|
96
|
+
let objectData;
|
|
97
|
+
// Data is XML (TMX content)
|
|
98
|
+
if (typeof data == 'string') {
|
|
99
|
+
objectData = await this.parseTmx(data, this.file);
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
objectData = data;
|
|
103
|
+
}
|
|
104
|
+
super.load(objectData);
|
|
105
|
+
RpgCommonMap.buffer.set(this.id, this);
|
|
106
|
+
this.clearShapes();
|
|
107
|
+
this.getAllObjects().forEach(this.createShape.bind(this));
|
|
108
|
+
for (let playerId in this.players) {
|
|
109
|
+
const player = this.players[playerId];
|
|
110
|
+
player.emitSceneMap();
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Update tileset with new data. Data can be a string (TSX content) or an object (TiledTileset)
|
|
115
|
+
* Cache will be removed for this tileset
|
|
116
|
+
* New tileset data will be sent to all players on the map
|
|
117
|
+
* Warning: tileset is not updated for all maps, only for the current map
|
|
118
|
+
*
|
|
119
|
+
* @title Update tileset
|
|
120
|
+
* @method map.updateTileset(data)
|
|
121
|
+
* @since 4.0.0
|
|
122
|
+
* @returns {<void>}
|
|
123
|
+
* @param {TiledTileset | string} data
|
|
124
|
+
* @memberof Map
|
|
125
|
+
*/
|
|
126
|
+
updateTileset(data) {
|
|
127
|
+
let objectData;
|
|
128
|
+
// Data is XML (TMX content)
|
|
129
|
+
if (typeof data == 'string') {
|
|
130
|
+
const parser = new TiledParser(data, this.file);
|
|
131
|
+
objectData = parser.parseTileset();
|
|
132
|
+
}
|
|
133
|
+
else {
|
|
134
|
+
objectData = data;
|
|
135
|
+
}
|
|
136
|
+
this.removeCacheTileset(objectData.name);
|
|
137
|
+
this.update({
|
|
138
|
+
...this.data,
|
|
139
|
+
tilesets: this.data.tilesets.map((tileset) => {
|
|
140
|
+
if (tileset.name == objectData.name) {
|
|
141
|
+
objectData.firstgid = tileset.firstgid;
|
|
142
|
+
return objectData;
|
|
143
|
+
}
|
|
144
|
+
return tileset;
|
|
145
|
+
})
|
|
146
|
+
});
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Remove the map from the server. If there are still players on the map, an error will be thrown
|
|
150
|
+
* Not delete the map file, only in memory
|
|
151
|
+
*
|
|
152
|
+
* @title Remove map
|
|
153
|
+
* @method map.remove()
|
|
154
|
+
* @since 4.0.0
|
|
155
|
+
* @returns {void}
|
|
156
|
+
* @throws {Error} If there are still players on the map
|
|
157
|
+
* @memberof Map
|
|
158
|
+
* */
|
|
159
|
+
remove(ignorePlayers = false) {
|
|
160
|
+
const players = Object.values(this.players);
|
|
161
|
+
if (players.length > 0 && !ignorePlayers) {
|
|
162
|
+
throw new Error(`Cannot remove map ${this.id} because there are still players on it`);
|
|
163
|
+
}
|
|
164
|
+
for (let eventId in this.events) {
|
|
165
|
+
this.removeEvent(eventId);
|
|
166
|
+
}
|
|
167
|
+
RpgCommonMap.buffer.delete(this.id);
|
|
168
|
+
World.removeRoom(this.id);
|
|
169
|
+
}
|
|
170
|
+
async parseTmx(file, relativePath = '') {
|
|
171
|
+
// @ts-ignore
|
|
172
|
+
const hasAssetsPath = !!import.meta.env.VITE_BUILT;
|
|
173
|
+
const parser = new TiledParserFile(file, {
|
|
174
|
+
basePath: process.env.NODE_ENV == 'test' ? '.' : '',
|
|
175
|
+
staticDir: hasAssetsPath ? path.join(this._server.inputOptions.basePath, this._server.assetsPath) : '',
|
|
176
|
+
relativePath
|
|
177
|
+
});
|
|
178
|
+
const data = await parser.parseFilePromise({
|
|
179
|
+
getOnlyBasename: hasAssetsPath
|
|
90
180
|
});
|
|
181
|
+
return data;
|
|
91
182
|
}
|
|
92
183
|
loadProperties(properties) {
|
|
93
184
|
for (let key in properties) {
|
|
@@ -97,41 +188,32 @@ class RpgMap extends common_1.RpgCommonMap {
|
|
|
97
188
|
get game() {
|
|
98
189
|
return this._server.gameEngine;
|
|
99
190
|
}
|
|
100
|
-
removeObject(object) {
|
|
101
|
-
var _a;
|
|
102
|
-
this.getShapes().forEach(shape => shape.out(object));
|
|
103
|
-
const events = Object.values(this.game.world.getObjectsOfGroup(this.id, object));
|
|
104
|
-
for (let event of events) {
|
|
105
|
-
object.getShapes().forEach(shape => shape.out(event));
|
|
106
|
-
event.getShapes().forEach(shape => shape.out(object));
|
|
107
|
-
}
|
|
108
|
-
object.stopMoveTo();
|
|
109
|
-
this.grid.clearObjectInCells(object.id);
|
|
110
|
-
for (let playerId in this.players) {
|
|
111
|
-
if (object.id == playerId)
|
|
112
|
-
continue;
|
|
113
|
-
const otherPlayer = this.players[playerId];
|
|
114
|
-
if (((_a = otherPlayer.following) === null || _a === void 0 ? void 0 : _a.id) == object.id) {
|
|
115
|
-
otherPlayer.cameraFollow(otherPlayer);
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
// last player before removed of this map
|
|
119
|
-
if (this.nbPlayers === 1) {
|
|
120
|
-
// clear cache for this map
|
|
121
|
-
this._server.sceneMap.removeMap(this.id);
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
191
|
// Hook: called by simple-room package
|
|
125
192
|
onLeave(player) {
|
|
126
193
|
this.removeObject(player);
|
|
127
194
|
}
|
|
195
|
+
loadCommonEvents(commonEvents) {
|
|
196
|
+
let events = [];
|
|
197
|
+
this.getShapes().forEach(shape => {
|
|
198
|
+
const findEvent = commonEvents.find(event => event._name == shape.name);
|
|
199
|
+
if (!findEvent)
|
|
200
|
+
return;
|
|
201
|
+
const { x, y, } = shape.hitbox;
|
|
202
|
+
events.push({
|
|
203
|
+
x,
|
|
204
|
+
y,
|
|
205
|
+
event: findEvent
|
|
206
|
+
});
|
|
207
|
+
});
|
|
208
|
+
this.createDynamicEvent(events);
|
|
209
|
+
}
|
|
128
210
|
// TODO
|
|
129
211
|
autoLoadEvent() {
|
|
130
212
|
this.getShapes().forEach(shape => {
|
|
131
213
|
const { properties } = shape;
|
|
132
214
|
const { x, y, pos, w, h } = shape.hitbox;
|
|
133
215
|
if (shape.isEvent() && !this.events[shape.name]) {
|
|
134
|
-
const mode = properties.mode ||
|
|
216
|
+
const mode = properties.mode || EventMode.Shared;
|
|
135
217
|
AutoEvent.prototype['_name'] = shape.name;
|
|
136
218
|
AutoEvent.mode = mode;
|
|
137
219
|
AutoEvent.hitbox = {
|
|
@@ -211,17 +293,17 @@ class RpgMap extends common_1.RpgCommonMap {
|
|
|
211
293
|
createDynamicEvent(eventsList) {
|
|
212
294
|
if (!eventsList)
|
|
213
295
|
return {};
|
|
214
|
-
if (!
|
|
296
|
+
if (!Utils.isArray(eventsList)) {
|
|
215
297
|
eventsList = [eventsList];
|
|
216
298
|
}
|
|
217
|
-
const events = this.createEvents(eventsList,
|
|
299
|
+
const events = this.createEvents(eventsList, EventMode.Shared);
|
|
218
300
|
let ret = {};
|
|
219
301
|
for (let key in events) {
|
|
220
302
|
this.events[key] = events[key];
|
|
221
303
|
this.events[key].updateInVirtualGrid();
|
|
222
304
|
this.events[key].execMethod('onInit');
|
|
223
305
|
// force to get Proxy object to sync with client
|
|
224
|
-
ret =
|
|
306
|
+
ret = { ...ret, [key]: this.events[key] };
|
|
225
307
|
}
|
|
226
308
|
return ret;
|
|
227
309
|
}
|
|
@@ -293,6 +375,30 @@ class RpgMap extends common_1.RpgCommonMap {
|
|
|
293
375
|
}
|
|
294
376
|
return events;
|
|
295
377
|
}
|
|
378
|
+
removeObject(object) {
|
|
379
|
+
this.getShapes().forEach(shape => shape.out(object));
|
|
380
|
+
const events = Object.values(this.game.world.getObjectsOfGroup(this.id, object));
|
|
381
|
+
for (let event of events) {
|
|
382
|
+
object.getShapes().forEach(shape => shape.out(event));
|
|
383
|
+
event.getShapes().forEach(shape => shape.out(object));
|
|
384
|
+
}
|
|
385
|
+
object._destroy$.next();
|
|
386
|
+
object._destroy$.complete();
|
|
387
|
+
this.grid.clearObjectInCells(object.id);
|
|
388
|
+
for (let playerId in this.players) {
|
|
389
|
+
if (object.id == playerId)
|
|
390
|
+
continue;
|
|
391
|
+
const otherPlayer = this.players[playerId];
|
|
392
|
+
if (otherPlayer.following?.id == object.id) {
|
|
393
|
+
otherPlayer.cameraFollow(otherPlayer);
|
|
394
|
+
}
|
|
395
|
+
}
|
|
396
|
+
// last player before removed of this map
|
|
397
|
+
if (this.nbPlayers === 1 && object.type === 'player') {
|
|
398
|
+
// clear cache for this map
|
|
399
|
+
this.remove(true);
|
|
400
|
+
}
|
|
401
|
+
}
|
|
296
402
|
/**
|
|
297
403
|
* Allows to create a temporary hitbox on the map that can have a movement
|
|
298
404
|
For example, you can use it to explode a bomb and find all the affected players, or during a sword strike, you can create a moving hitbox and find the affected players again
|
|
@@ -330,5 +436,4 @@ For example, you can use it to explode a bomb and find all the affected players,
|
|
|
330
436
|
return this.$setSchema(schema);
|
|
331
437
|
}
|
|
332
438
|
}
|
|
333
|
-
exports.RpgMap = RpgMap;
|
|
334
439
|
//# sourceMappingURL=Map.js.map
|
package/lib/Game/Map.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Map.js","sourceRoot":"","sources":["../../src/Game/Map.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Map.js","sourceRoot":"","sources":["../../src/Game/Map.ts"],"names":[],"mappings":"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"}
|
package/lib/Game/WorldMaps.d.ts
CHANGED
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
import { RpgCommonWorldMaps } from '@rpgjs/common';
|
|
2
2
|
import { TiledWorld, TiledMap, TiledWorldMap } from '@rpgjs/tiled';
|
|
3
3
|
import { SceneMap } from '../Scenes/Map';
|
|
4
|
-
export
|
|
4
|
+
export type RpgTiledWorldMap = {
|
|
5
5
|
id?: string;
|
|
6
6
|
fileName: string | TiledMap;
|
|
7
7
|
} & TiledWorldMap;
|
|
8
|
-
export
|
|
8
|
+
export type RpgTiledWorld = {
|
|
9
9
|
maps: RpgTiledWorldMap[];
|
|
10
10
|
} & TiledWorld;
|
|
11
11
|
export interface WorldMap extends RpgTiledWorld {
|
|
12
12
|
id?: string;
|
|
13
|
+
basePath?: string;
|
|
13
14
|
}
|
|
14
15
|
export declare class RpgWorldMaps extends RpgCommonWorldMaps {
|
|
15
16
|
load(world: WorldMap, sceneMap: SceneMap): this;
|
package/lib/Game/WorldMaps.js
CHANGED
|
@@ -1,33 +1,28 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.RpgWorldMaps = void 0;
|
|
4
|
-
const common_1 = require("@rpgjs/common");
|
|
5
|
-
class RpgWorldMaps extends common_1.RpgCommonWorldMaps {
|
|
1
|
+
import { RpgCommonWorldMaps, Utils } from '@rpgjs/common';
|
|
2
|
+
export class RpgWorldMaps extends RpgCommonWorldMaps {
|
|
6
3
|
load(world, sceneMap) {
|
|
7
|
-
var _a;
|
|
8
4
|
for (let worldMap of world.maps) {
|
|
9
5
|
const { fileName } = worldMap;
|
|
10
6
|
let id, map;
|
|
11
7
|
if (worldMap.id) {
|
|
12
8
|
id = worldMap.id;
|
|
13
9
|
}
|
|
14
|
-
else if (
|
|
15
|
-
id =
|
|
10
|
+
else if (Utils.isString(fileName)) {
|
|
11
|
+
id = Utils.extractId(fileName);
|
|
16
12
|
}
|
|
17
13
|
const create = () => sceneMap.createDynamicMap({
|
|
18
14
|
id,
|
|
19
|
-
file: fileName
|
|
15
|
+
file: world.basePath ? `${world.basePath}/${fileName}` : fileName
|
|
20
16
|
});
|
|
21
17
|
if (!id) {
|
|
22
18
|
map = create();
|
|
23
19
|
}
|
|
24
20
|
else {
|
|
25
|
-
map =
|
|
21
|
+
map = sceneMap.getMapBydId(id) ?? create();
|
|
26
22
|
}
|
|
27
23
|
this.addMap(worldMap, map);
|
|
28
24
|
}
|
|
29
25
|
return this;
|
|
30
26
|
}
|
|
31
27
|
}
|
|
32
|
-
exports.RpgWorldMaps = RpgWorldMaps;
|
|
33
28
|
//# sourceMappingURL=WorldMaps.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorldMaps.js","sourceRoot":"","sources":["../../src/Game/WorldMaps.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"WorldMaps.js","sourceRoot":"","sources":["../../src/Game/WorldMaps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AAmBzD,MAAM,OAAO,YAAa,SAAQ,kBAAkB;IAChD,IAAI,CAAC,KAAe,EAAE,QAAkB;QACpC,KAAK,IAAI,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE;YAC7B,MAAM,EAAE,QAAQ,EAAE,GAAG,QAAQ,CAAA;YAC7B,IAAI,EAAE,EAAE,GAAwB,CAAA;YAChC,IAAI,QAAQ,CAAC,EAAE,EAAE;gBACb,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAA;aACnB;iBACI,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;gBAC/B,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;aACjC;YACD,MAAM,MAAM,GAAG,GAAG,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;gBAC3C,EAAE;gBACF,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,QAAQ,IAAI,QAAQ,EAAE,CAAC,CAAC,CAAC,QAAQ;aACpE,CAAC,CAAA;YACF,IAAI,CAAC,EAAE,EAAE;gBACL,GAAG,GAAG,MAAM,EAAE,CAAA;aACjB;iBACI;gBACD,GAAG,GAAG,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,MAAM,EAAE,CAAA;aAC7C;YACD,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;SAC7B;QACD,OAAO,IAAI,CAAA;IACf,CAAC;CACJ"}
|
package/lib/Gui/DialogGui.d.ts
CHANGED
package/lib/Gui/DialogGui.js
CHANGED
|
@@ -1,18 +1,15 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
const Gui_1 = require("./Gui");
|
|
6
|
-
const MoveManager_1 = require("../Player/MoveManager");
|
|
7
|
-
var DialogPosition;
|
|
1
|
+
import { PrebuiltGui } from '@rpgjs/common';
|
|
2
|
+
import { Gui } from './Gui';
|
|
3
|
+
import { Move } from '../Player/MoveManager';
|
|
4
|
+
export var DialogPosition;
|
|
8
5
|
(function (DialogPosition) {
|
|
9
6
|
DialogPosition["Top"] = "top";
|
|
10
7
|
DialogPosition["Bottom"] = "bottom";
|
|
11
8
|
DialogPosition["Middle"] = "middle";
|
|
12
|
-
})(DialogPosition
|
|
13
|
-
class DialogGui extends
|
|
9
|
+
})(DialogPosition || (DialogPosition = {}));
|
|
10
|
+
export class DialogGui extends Gui {
|
|
14
11
|
constructor(player) {
|
|
15
|
-
super(
|
|
12
|
+
super(PrebuiltGui.Dialog, player);
|
|
16
13
|
}
|
|
17
14
|
openDialog(message, options) {
|
|
18
15
|
if (!options.choices)
|
|
@@ -30,7 +27,7 @@ class DialogGui extends Gui_1.Gui {
|
|
|
30
27
|
if (event) {
|
|
31
28
|
memoryDir = event.direction;
|
|
32
29
|
event.breakRoutes(true);
|
|
33
|
-
event.moveRoutes([
|
|
30
|
+
event.moveRoutes([Move.turnTowardPlayer(this.player)]);
|
|
34
31
|
}
|
|
35
32
|
const data = {
|
|
36
33
|
autoClose: options.autoClose,
|
|
@@ -42,7 +39,10 @@ class DialogGui extends Gui_1.Gui {
|
|
|
42
39
|
text: choice.text
|
|
43
40
|
}))
|
|
44
41
|
};
|
|
45
|
-
return super.open(
|
|
42
|
+
return super.open({
|
|
43
|
+
message,
|
|
44
|
+
...data
|
|
45
|
+
}, {
|
|
46
46
|
waitingAction: true,
|
|
47
47
|
blockPlayerInput: true
|
|
48
48
|
}).then((val) => {
|
|
@@ -54,5 +54,4 @@ class DialogGui extends Gui_1.Gui {
|
|
|
54
54
|
});
|
|
55
55
|
}
|
|
56
56
|
}
|
|
57
|
-
exports.DialogGui = DialogGui;
|
|
58
57
|
//# sourceMappingURL=DialogGui.js.map
|
package/lib/Gui/DialogGui.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DialogGui.js","sourceRoot":"","sources":["../../src/Gui/DialogGui.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DialogGui.js","sourceRoot":"","sources":["../../src/Gui/DialogGui.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAG3B,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAA;AAE5C,MAAM,CAAN,IAAY,cAIX;AAJD,WAAY,cAAc;IACtB,6BAAW,CAAA;IACX,mCAAiB,CAAA;IACjB,mCAAiB,CAAA;AACrB,CAAC,EAJW,cAAc,KAAd,cAAc,QAIzB;AAcD,MAAM,OAAO,SAAU,SAAQ,GAAG;IAC9B,YAAY,MAAiB;QACzB,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACrC,CAAC;IAED,UAAU,CAAC,OAAe,EAAE,OAAsB;QAC9C,IAAI,CAAC,OAAO,CAAC,OAAO;YAAE,OAAO,CAAC,OAAO,GAAG,EAAE,CAAA;QAC1C,IAAI,OAAO,CAAC,SAAS,IAAI,SAAS;YAAE,OAAO,CAAC,SAAS,GAAG,KAAK,CAAA;QAC7D,IAAI,CAAC,OAAO,CAAC,QAAQ;YAAE,OAAO,CAAC,QAAQ,GAAG,cAAc,CAAC,MAAM,CAAA;QAC/D,IAAI,OAAO,CAAC,SAAS,IAAI,SAAS;YAAE,OAAO,CAAC,SAAS,GAAG,IAAI,CAAA;QAC5D,IAAI,OAAO,CAAC,gBAAgB,IAAK,SAAS;YAAE,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAA;QAC3E,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAA;QAC9B,IAAI,SAAS,CAAA;QACb,IAAI,KAAK,EAAE;YACP,SAAS,GAAG,KAAK,CAAC,SAAS,CAAA;YAC3B,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;YACvB,KAAK,CAAC,UAAU,CAAC,CAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAE,CAAC,CAAA;SAC3D;QACD,MAAM,IAAI,GAAG;YACT,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;YAC1C,2EAA2E;YAC3E,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACpC,IAAI,EAAE,MAAM,CAAC,IAAI;aACpB,CAAC,CAAC;SACN,CAAA;QACD,OAAO,KAAK,CAAC,IAAI,CAAC;YACd,OAAO;YACP,GAAG,IAAI;SACV,EAAE;YACC,aAAa,EAAE,IAAI;YACnB,gBAAgB,EAAE,IAAI;SACzB,CAAC,CAAC,IAAI,CAAC,CAAC,GAAQ,EAAE,EAAE;YACjB,IAAI,KAAK,EAAE;gBACP,KAAK,CAAC,YAAY,EAAE,CAAA;gBACpB,KAAK,CAAC,SAAS,GAAG,SAAS,CAAA;aAC9B;YACD,OAAO,GAAG,CAAA;QACd,CAAC,CAAC,CAAA;IACN,CAAC;CACJ"}
|
package/lib/Gui/Gui.js
CHANGED
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.Gui = void 0;
|
|
4
|
-
const common_1 = require("@rpgjs/common");
|
|
5
|
-
class Gui extends common_1.EventEmitter {
|
|
1
|
+
import { EventEmitter } from '@rpgjs/common';
|
|
2
|
+
export class Gui extends EventEmitter {
|
|
6
3
|
constructor(id, player) {
|
|
7
4
|
super();
|
|
8
5
|
this.id = id;
|
|
@@ -36,5 +33,4 @@ class Gui extends common_1.EventEmitter {
|
|
|
36
33
|
this._close(data);
|
|
37
34
|
}
|
|
38
35
|
}
|
|
39
|
-
exports.Gui = Gui;
|
|
40
36
|
//# sourceMappingURL=Gui.js.map
|