@rpgjs/common 3.3.2 → 4.0.0-beta.10
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/AbstractObject.d.ts +3 -2
- package/lib/AbstractObject.js +296 -323
- package/lib/AbstractObject.js.map +1 -1
- package/lib/Color.js +1 -5
- package/lib/Color.js.map +1 -1
- package/lib/Event.js +2 -6
- package/lib/Event.js.map +1 -1
- package/lib/EventEmitter.js +3 -7
- package/lib/EventEmitter.js.map +1 -1
- package/lib/Game.js +73 -85
- package/lib/Game.js.map +1 -1
- package/lib/Hit.js +21 -28
- package/lib/Hit.js.map +1 -1
- package/lib/Logger.js +2 -7
- package/lib/Logger.js.map +1 -1
- package/lib/Map.d.ts +1 -0
- package/lib/Map.js +29 -53
- package/lib/Map.js.map +1 -1
- package/lib/Module.d.ts +2 -2
- package/lib/Module.js +84 -97
- package/lib/Module.js.map +1 -1
- package/lib/Player.d.ts +1 -0
- package/lib/Player.js +4 -7
- package/lib/Player.js.map +1 -1
- package/lib/Plugin.d.ts +4 -3
- package/lib/Plugin.js +14 -14
- package/lib/Plugin.js.map +1 -1
- package/lib/Scheduler.js +14 -21
- package/lib/Scheduler.js.map +1 -1
- package/lib/Shape.d.ts +1 -1
- package/lib/Shape.js +39 -52
- package/lib/Shape.js.map +1 -1
- package/lib/Utils.d.ts +4 -1
- package/lib/Utils.js +38 -53
- package/lib/Utils.js.map +1 -1
- package/lib/Vector2d.js +3 -8
- package/lib/Vector2d.js.map +1 -1
- package/lib/VirtualGrid.d.ts +1 -1
- package/lib/VirtualGrid.js +5 -12
- package/lib/VirtualGrid.js.map +1 -1
- package/lib/Worker.js +2 -10
- package/lib/Worker.js.map +1 -1
- package/lib/WorldMaps.d.ts +3 -1
- package/lib/WorldMaps.js +29 -15
- package/lib/WorldMaps.js.map +1 -1
- package/lib/gui/PrebuiltGui.js +2 -5
- package/lib/gui/PrebuiltGui.js.map +1 -1
- package/lib/index.d.ts +3 -1
- package/lib/index.js +24 -69
- package/lib/index.js.map +1 -1
- package/lib/transports/io.js +5 -9
- package/lib/transports/io.js.map +1 -1
- package/lib/workers/move.js +26 -42
- package/lib/workers/move.js.map +1 -1
- package/package.json +9 -11
- package/src/AbstractObject.ts +915 -0
- package/src/Color.ts +29 -0
- package/src/DefaultInput.ts +26 -0
- package/src/Event.ts +3 -0
- package/src/EventEmitter.ts +52 -0
- package/src/Game.ts +150 -0
- package/src/Hit.ts +70 -0
- package/src/Logger.ts +7 -0
- package/src/Map.ts +335 -0
- package/src/Module.ts +108 -0
- package/src/Player.ts +30 -0
- package/src/Plugin.ts +91 -0
- package/src/Scheduler.ts +88 -0
- package/src/Shape.ts +300 -0
- package/src/Utils.ts +168 -0
- package/src/Vector2d.ts +70 -0
- package/src/VirtualGrid.ts +78 -0
- package/src/Worker.ts +17 -0
- package/src/WorldMaps.ts +204 -0
- package/src/gui/PrebuiltGui.ts +27 -0
- package/src/index.ts +24 -0
- package/src/transports/io.ts +91 -0
- package/src/workers/move.ts +61 -0
- package/tsconfig.json +25 -0
package/lib/Map.js
CHANGED
|
@@ -1,35 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
}));
|
|
9
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
-
}) : function(o, v) {
|
|
12
|
-
o["default"] = v;
|
|
13
|
-
});
|
|
14
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
-
if (mod && mod.__esModule) return mod;
|
|
16
|
-
var result = {};
|
|
17
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
-
__setModuleDefault(result, mod);
|
|
19
|
-
return result;
|
|
20
|
-
};
|
|
21
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
-
exports.RpgCommonMap = void 0;
|
|
23
|
-
const Utils_1 = __importStar(require("./Utils"));
|
|
24
|
-
const Shape_1 = require("./Shape");
|
|
25
|
-
const Hit_1 = require("./Hit");
|
|
26
|
-
const VirtualGrid_1 = require("./VirtualGrid");
|
|
27
|
-
const tiled_1 = require("@rpgjs/tiled");
|
|
28
|
-
const AbstractObject_1 = require("./AbstractObject");
|
|
29
|
-
const rxjs_1 = require("rxjs");
|
|
1
|
+
import Utils, { random, generateUID } from './Utils';
|
|
2
|
+
import { RpgShape } from './Shape';
|
|
3
|
+
import { Hit } from './Hit';
|
|
4
|
+
import { VirtualGrid } from './VirtualGrid';
|
|
5
|
+
import { MapClass } from '@rpgjs/tiled';
|
|
6
|
+
import { AbstractObject } from './AbstractObject';
|
|
7
|
+
import { map, Subject, takeUntil, mergeMap, from, filter } from 'rxjs';
|
|
30
8
|
const buffer = new Map();
|
|
31
9
|
const bufferClient = new Map();
|
|
32
|
-
class RpgCommonMap extends
|
|
10
|
+
export class RpgCommonMap extends MapClass {
|
|
33
11
|
constructor() {
|
|
34
12
|
super(...arguments);
|
|
35
13
|
/**
|
|
@@ -58,8 +36,7 @@ class RpgCommonMap extends tiled_1.MapClass {
|
|
|
58
36
|
* @memberof Map
|
|
59
37
|
* */
|
|
60
38
|
get worldX() {
|
|
61
|
-
|
|
62
|
-
return ((_b = (_a = this.getInWorldMaps()) === null || _a === void 0 ? void 0 : _a.getMapInfo(this.id)) === null || _b === void 0 ? void 0 : _b.x) || 0;
|
|
39
|
+
return this.getInWorldMaps()?.getMapInfo(this.id)?.x || 0;
|
|
63
40
|
}
|
|
64
41
|
/**
|
|
65
42
|
* Retrieves the Y position of the map in the world (0 if no world assigned)
|
|
@@ -71,8 +48,7 @@ class RpgCommonMap extends tiled_1.MapClass {
|
|
|
71
48
|
* @memberof Map
|
|
72
49
|
* */
|
|
73
50
|
get worldY() {
|
|
74
|
-
|
|
75
|
-
return ((_b = (_a = this.getInWorldMaps()) === null || _a === void 0 ? void 0 : _a.getMapInfo(this.id)) === null || _b === void 0 ? void 0 : _b.y) || 0;
|
|
51
|
+
return this.getInWorldMaps()?.getMapInfo(this.id)?.y || 0;
|
|
76
52
|
}
|
|
77
53
|
/**
|
|
78
54
|
* Memorize the maps so you don't have to make a new request or open a file each time you load a map
|
|
@@ -88,9 +64,9 @@ class RpgCommonMap extends tiled_1.MapClass {
|
|
|
88
64
|
}
|
|
89
65
|
load(data) {
|
|
90
66
|
super.load(data);
|
|
91
|
-
this.gridTiles = new
|
|
92
|
-
this.grid = new
|
|
93
|
-
this.gridShapes = new
|
|
67
|
+
this.gridTiles = new VirtualGrid(this.width, this.tileWidth, this.tileHeight);
|
|
68
|
+
this.grid = new VirtualGrid(this.width, this.tileWidth, this.tileHeight).zoom(10);
|
|
69
|
+
this.gridShapes = new VirtualGrid(this.width, this.tileWidth, this.tileHeight).zoom(20);
|
|
94
70
|
}
|
|
95
71
|
/**
|
|
96
72
|
* Create a shape dynamically on the map
|
|
@@ -114,8 +90,8 @@ class RpgCommonMap extends tiled_1.MapClass {
|
|
|
114
90
|
* @memberof Map
|
|
115
91
|
*/
|
|
116
92
|
createShape(obj) {
|
|
117
|
-
const id = obj.name = (obj.name ||
|
|
118
|
-
const shape = new
|
|
93
|
+
const id = obj.name = (obj.name || generateUID());
|
|
94
|
+
const shape = new RpgShape(obj);
|
|
119
95
|
this.shapes[id] = shape;
|
|
120
96
|
if (!shape.isShapePosition()) {
|
|
121
97
|
this.gridShapes.insertInCells(id, shape.getSizeBox(this.tileWidth));
|
|
@@ -137,6 +113,9 @@ class RpgCommonMap extends tiled_1.MapClass {
|
|
|
137
113
|
//this.shapes = this.shapes.filter(shape => shape.name != name)
|
|
138
114
|
delete this.shapes[name];
|
|
139
115
|
}
|
|
116
|
+
clearShapes() {
|
|
117
|
+
this.shapes = {};
|
|
118
|
+
}
|
|
140
119
|
/**
|
|
141
120
|
* Return all shapes on the map
|
|
142
121
|
*
|
|
@@ -165,7 +144,7 @@ class RpgCommonMap extends tiled_1.MapClass {
|
|
|
165
144
|
getPositionByShape(filter) {
|
|
166
145
|
const startsFind = this.getShapes().filter(filter);
|
|
167
146
|
if (startsFind.length) {
|
|
168
|
-
const start = startsFind[
|
|
147
|
+
const start = startsFind[random(0, startsFind.length - 1)];
|
|
169
148
|
return { x: start.hitbox.x, y: start.hitbox.y, z: start.properties.z * this.zTileHeight || 0 };
|
|
170
149
|
}
|
|
171
150
|
return null;
|
|
@@ -179,16 +158,16 @@ class RpgCommonMap extends tiled_1.MapClass {
|
|
|
179
158
|
* @returns TileInfo
|
|
180
159
|
*/
|
|
181
160
|
getTile(hitbox, x, y, z = [0, 0]) {
|
|
182
|
-
const tile =
|
|
161
|
+
const tile = { ...this.getTileByPosition(x, y, z) };
|
|
183
162
|
const tilePos = this.getTileOriginPosition(x, y);
|
|
184
163
|
if (tile.objectGroups) {
|
|
185
164
|
for (let object of tile.objectGroups) {
|
|
186
|
-
const hit =
|
|
165
|
+
const hit = Hit.getHitbox(object, {
|
|
187
166
|
x: tilePos.x,
|
|
188
167
|
y: tilePos.y
|
|
189
168
|
});
|
|
190
169
|
if (hit.type) {
|
|
191
|
-
const collided =
|
|
170
|
+
const collided = Hit.testPolyCollision(hit.type, hit.hitbox, hitbox);
|
|
192
171
|
if (collided) {
|
|
193
172
|
tile.hasCollision = true;
|
|
194
173
|
}
|
|
@@ -218,8 +197,7 @@ class RpgCommonMap extends tiled_1.MapClass {
|
|
|
218
197
|
* @memberof Map
|
|
219
198
|
*/
|
|
220
199
|
removeFromWorldMaps() {
|
|
221
|
-
|
|
222
|
-
return (_a = this.worldMapParent) === null || _a === void 0 ? void 0 : _a.removeMap(this.id);
|
|
200
|
+
return this.worldMapParent?.removeMap(this.id);
|
|
223
201
|
}
|
|
224
202
|
/**
|
|
225
203
|
* Recover the world attached to this map (`undefined` if no world attached)
|
|
@@ -257,18 +235,17 @@ class RpgCommonMap extends tiled_1.MapClass {
|
|
|
257
235
|
};
|
|
258
236
|
}
|
|
259
237
|
_createMovingHitbox(gameEngine, tick$, mapId, hitboxes, options = {}) {
|
|
260
|
-
|
|
261
|
-
const object = new AbstractObject_1.AbstractObject(gameEngine, Utils_1.default.generateUID());
|
|
238
|
+
const object = new AbstractObject(gameEngine, Utils.generateUID());
|
|
262
239
|
object.disableVirtualGrid = true;
|
|
263
240
|
object.map = mapId;
|
|
264
|
-
object.speed =
|
|
241
|
+
object.speed = options.speed ?? 1;
|
|
265
242
|
let i = 0;
|
|
266
243
|
let frame = 0;
|
|
267
|
-
const destroyHitbox$ = new
|
|
268
|
-
return tick$.pipe(
|
|
244
|
+
const destroyHitbox$ = new Subject();
|
|
245
|
+
return tick$.pipe(takeUntil(destroyHitbox$), filter(() => {
|
|
269
246
|
frame++;
|
|
270
247
|
return frame % object.speed == 0;
|
|
271
|
-
}),
|
|
248
|
+
}), map(() => {
|
|
272
249
|
const hitbox = hitboxes[i];
|
|
273
250
|
if (!hitbox) {
|
|
274
251
|
destroyHitbox$.next(object);
|
|
@@ -280,8 +257,7 @@ class RpgCommonMap extends tiled_1.MapClass {
|
|
|
280
257
|
object.setHitbox(hitbox.width, hitbox.height);
|
|
281
258
|
i++;
|
|
282
259
|
return object;
|
|
283
|
-
}),
|
|
260
|
+
}), mergeMap((object) => from(object.isCollided(object.position, { allSearch: true }))), map(() => object));
|
|
284
261
|
}
|
|
285
262
|
}
|
|
286
|
-
exports.RpgCommonMap = RpgCommonMap;
|
|
287
263
|
//# sourceMappingURL=Map.js.map
|
package/lib/Map.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Map.js","sourceRoot":"","sources":["../src/Map.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Map.js","sourceRoot":"","sources":["../src/Map.ts"],"names":[],"mappings":"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"}
|
package/lib/Module.d.ts
CHANGED
package/lib/Module.js
CHANGED
|
@@ -1,114 +1,101 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.loadModules = exports.RpgModule = void 0;
|
|
13
|
-
const Plugin_1 = require("./Plugin");
|
|
14
|
-
const Utils_1 = require("./Utils");
|
|
15
|
-
const Logger_1 = require("./Logger");
|
|
1
|
+
import { RpgPlugin, HookServer, HookClient } from './Plugin';
|
|
2
|
+
import { isArray, isClass, isFunction, isPromise } from './Utils';
|
|
3
|
+
import { warning } from './Logger';
|
|
16
4
|
var Side;
|
|
17
5
|
(function (Side) {
|
|
18
6
|
Side["Server"] = "server";
|
|
19
7
|
Side["Client"] = "client";
|
|
20
8
|
})(Side || (Side = {}));
|
|
21
|
-
function RpgModule(options) {
|
|
9
|
+
export function RpgModule(options) {
|
|
22
10
|
return (target) => {
|
|
23
11
|
for (let key in options) {
|
|
24
12
|
target.prototype[key] = options[key];
|
|
25
13
|
}
|
|
26
14
|
};
|
|
27
15
|
}
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
if (
|
|
61
|
-
mod =
|
|
62
|
-
if (Utils_1.isPromise(mod)) {
|
|
63
|
-
mod = yield mod;
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
const { imports, maps, spritesheets, sounds, gui, scenes, engine, database, worldMaps, scalability } = mod;
|
|
67
|
-
if (imports) {
|
|
68
|
-
yield loadModules(imports, obj);
|
|
69
|
-
}
|
|
70
|
-
if (maps) {
|
|
71
|
-
Plugin_1.RpgPlugin.on(Plugin_1.HookServer.AddMap, () => maps);
|
|
72
|
-
}
|
|
73
|
-
if (worldMaps) {
|
|
74
|
-
Plugin_1.RpgPlugin.on(Plugin_1.HookServer.AddWorldMaps, () => worldMaps);
|
|
75
|
-
}
|
|
76
|
-
if (database) {
|
|
77
|
-
Plugin_1.RpgPlugin.on(Plugin_1.HookServer.AddDatabase, () => database);
|
|
78
|
-
}
|
|
79
|
-
if (spritesheets) {
|
|
80
|
-
Plugin_1.RpgPlugin.on(Plugin_1.HookClient.AddSpriteSheet, () => spritesheets);
|
|
81
|
-
}
|
|
82
|
-
if (sounds) {
|
|
83
|
-
Plugin_1.RpgPlugin.on(Plugin_1.HookClient.AddSound, () => sounds);
|
|
84
|
-
}
|
|
85
|
-
if (gui) {
|
|
86
|
-
Plugin_1.RpgPlugin.on(Plugin_1.HookClient.AddGui, () => gui);
|
|
16
|
+
export async function loadModules(modules, obj, middleware) {
|
|
17
|
+
const { side, relations } = obj;
|
|
18
|
+
let playerProps = {};
|
|
19
|
+
for (let module of modules) {
|
|
20
|
+
if (!module)
|
|
21
|
+
continue;
|
|
22
|
+
let plug = [];
|
|
23
|
+
if (!isArray(module)) {
|
|
24
|
+
plug = [module];
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
plug = module;
|
|
28
|
+
}
|
|
29
|
+
const [moduleClassSides, options] = plug;
|
|
30
|
+
const moduleClass = moduleClassSides[side];
|
|
31
|
+
if (!moduleClass)
|
|
32
|
+
continue;
|
|
33
|
+
let mod;
|
|
34
|
+
if (options && side == Side.Client && options[Side.Server]) {
|
|
35
|
+
warning(`Data that may be sensitive (normally visible only on the server side) are made optional and visible on the client side.\nInstead, import the configuration with the server! flag into an import. Example: \n\nimport config from 'server!./config\n\n'`, options[Side.Server]);
|
|
36
|
+
}
|
|
37
|
+
if (options && !isClass(moduleClass) && isFunction(moduleClass)) {
|
|
38
|
+
mod = new (moduleClass(options[side]))();
|
|
39
|
+
}
|
|
40
|
+
else if (isClass(moduleClass)) {
|
|
41
|
+
mod = new moduleClass();
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
mod = moduleClass;
|
|
45
|
+
}
|
|
46
|
+
if (middleware) {
|
|
47
|
+
mod = middleware(mod);
|
|
48
|
+
if (isPromise(mod)) {
|
|
49
|
+
mod = await mod;
|
|
87
50
|
}
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
51
|
+
}
|
|
52
|
+
const { imports, maps, spritesheets, sounds, gui, scenes, engine, database, worldMaps, scalability, events } = mod;
|
|
53
|
+
if (imports) {
|
|
54
|
+
await loadModules(imports, obj);
|
|
55
|
+
}
|
|
56
|
+
if (maps) {
|
|
57
|
+
RpgPlugin.on(HookServer.AddMap, () => maps);
|
|
58
|
+
}
|
|
59
|
+
if (events) {
|
|
60
|
+
RpgPlugin.on(HookServer.AddEvent, () => events);
|
|
61
|
+
}
|
|
62
|
+
if (worldMaps) {
|
|
63
|
+
RpgPlugin.on(HookServer.AddWorldMaps, () => worldMaps);
|
|
64
|
+
}
|
|
65
|
+
if (database) {
|
|
66
|
+
RpgPlugin.on(HookServer.AddDatabase, () => database);
|
|
67
|
+
}
|
|
68
|
+
if (spritesheets) {
|
|
69
|
+
RpgPlugin.on(HookClient.AddSpriteSheet, () => spritesheets);
|
|
70
|
+
}
|
|
71
|
+
if (sounds) {
|
|
72
|
+
RpgPlugin.on(HookClient.AddSound, () => sounds);
|
|
73
|
+
}
|
|
74
|
+
if (gui) {
|
|
75
|
+
RpgPlugin.on(HookClient.AddGui, () => gui);
|
|
76
|
+
}
|
|
77
|
+
const player = side == Side.Server ? mod.player : mod.sprite;
|
|
78
|
+
const loadRelations = (hook, relatioName) => {
|
|
79
|
+
if (hook) {
|
|
80
|
+
for (let method in relations[relatioName]) {
|
|
81
|
+
const hookName = relations[relatioName][method];
|
|
82
|
+
if (hook[method])
|
|
83
|
+
RpgPlugin.on(hookName, hook[method]);
|
|
96
84
|
}
|
|
97
|
-
};
|
|
98
|
-
loadRelations(player, 'player');
|
|
99
|
-
if (player && player.props) {
|
|
100
|
-
playerProps = Object.assign(playerProps, player.props);
|
|
101
85
|
}
|
|
102
|
-
loadRelations(engine, 'engine');
|
|
103
|
-
if (scalability)
|
|
104
|
-
loadRelations(scalability._hooks, 'scalability');
|
|
105
|
-
if (scenes)
|
|
106
|
-
loadRelations(scenes.map, 'sceneMap');
|
|
107
|
-
}
|
|
108
|
-
return {
|
|
109
|
-
playerProps
|
|
110
86
|
};
|
|
111
|
-
|
|
87
|
+
loadRelations(player, 'player');
|
|
88
|
+
if (player && player.props) {
|
|
89
|
+
playerProps = Object.assign(playerProps, player.props);
|
|
90
|
+
}
|
|
91
|
+
loadRelations(engine, 'engine');
|
|
92
|
+
if (scalability)
|
|
93
|
+
loadRelations(scalability._hooks, 'scalability');
|
|
94
|
+
if (scenes)
|
|
95
|
+
loadRelations(scenes.map, 'sceneMap');
|
|
96
|
+
}
|
|
97
|
+
return {
|
|
98
|
+
playerProps
|
|
99
|
+
};
|
|
112
100
|
}
|
|
113
|
-
exports.loadModules = loadModules;
|
|
114
101
|
//# sourceMappingURL=Module.js.map
|
package/lib/Module.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Module.js","sourceRoot":"","sources":["../src/Module.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Module.js","sourceRoot":"","sources":["../src/Module.ts"],"names":[],"mappings":"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"}
|
package/lib/Player.d.ts
CHANGED
package/lib/Player.js
CHANGED
|
@@ -1,14 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.RpgCommonPlayer = exports.LiteralDirection = void 0;
|
|
4
|
-
const AbstractObject_1 = require("./AbstractObject");
|
|
5
|
-
exports.LiteralDirection = {
|
|
1
|
+
import { AbstractObject } from './AbstractObject';
|
|
2
|
+
export const LiteralDirection = {
|
|
6
3
|
1: 'up',
|
|
7
4
|
2: 'right',
|
|
8
5
|
3: 'down',
|
|
9
6
|
4: 'left'
|
|
10
7
|
};
|
|
11
|
-
class RpgCommonPlayer extends
|
|
8
|
+
export class RpgCommonPlayer extends AbstractObject {
|
|
12
9
|
constructor() {
|
|
13
10
|
super(...arguments);
|
|
14
11
|
this.events = [];
|
|
@@ -18,5 +15,5 @@ class RpgCommonPlayer extends AbstractObject_1.AbstractObject {
|
|
|
18
15
|
this.inputsTimestamp = {};
|
|
19
16
|
}
|
|
20
17
|
}
|
|
21
|
-
|
|
18
|
+
export default AbstractObject;
|
|
22
19
|
//# sourceMappingURL=Player.js.map
|
package/lib/Player.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Player.js","sourceRoot":"","sources":["../src/Player.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Player.js","sourceRoot":"","sources":["../src/Player.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAEjD,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC5B,CAAC,EAAE,IAAI;IACP,CAAC,EAAE,OAAO;IACV,CAAC,EAAE,MAAM;IACT,CAAC,EAAE,MAAM;CACZ,CAAA;AAED,MAAM,OAAO,eAAgB,SAAQ,cAAc;IAAnD;;QACI,WAAM,GAAU,EAAE,CAAA;QAClB,cAAS,GAAW,EAAE,CAAA;QACtB,SAAI,GAAQ,EAAE,CAAA;QACd,gBAAW,GAAgB,EAAE,CAAA;QAC7B,oBAAe,GAEX,EAAE,CAAA;IAUV,CAAC;CAAA;AAED,eAAe,cAAc,CAAA"}
|
package/lib/Plugin.d.ts
CHANGED
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
import { EventEmitter } from './EventEmitter';
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
type PluginFunction = (obj: any, options?: any) => void;
|
|
3
|
+
type PluginSides = {
|
|
4
4
|
client: null | PluginFunction;
|
|
5
5
|
server: null | PluginFunction;
|
|
6
6
|
};
|
|
7
|
-
export
|
|
7
|
+
export type Plugin = PluginSides | [PluginSides, any];
|
|
8
8
|
export declare enum HookServer {
|
|
9
9
|
Start = "Server.Start",
|
|
10
10
|
Step = "Server.Step",
|
|
11
11
|
PlayerConnected = "Server.onConnected",
|
|
12
12
|
PlayerDisconnected = "Server.onDisconnected",
|
|
13
13
|
AddMap = "Server.AddMap",
|
|
14
|
+
AddEvent = "Server.AddEvent",
|
|
14
15
|
AddWorldMaps = "Server.AddWorldMaps",
|
|
15
16
|
AddDatabase = "Server.AddDatabase",
|
|
16
17
|
PlayerInput = "Server.onInput",
|
package/lib/Plugin.js
CHANGED
|
@@ -1,15 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const EventEmitter_1 = require("./EventEmitter");
|
|
5
|
-
const Utils_1 = require("./Utils");
|
|
6
|
-
var HookServer;
|
|
1
|
+
import { EventEmitter } from './EventEmitter';
|
|
2
|
+
import { isArray } from './Utils';
|
|
3
|
+
export var HookServer;
|
|
7
4
|
(function (HookServer) {
|
|
8
5
|
HookServer["Start"] = "Server.Start";
|
|
9
6
|
HookServer["Step"] = "Server.Step";
|
|
10
7
|
HookServer["PlayerConnected"] = "Server.onConnected";
|
|
11
8
|
HookServer["PlayerDisconnected"] = "Server.onDisconnected";
|
|
12
9
|
HookServer["AddMap"] = "Server.AddMap";
|
|
10
|
+
HookServer["AddEvent"] = "Server.AddEvent";
|
|
13
11
|
HookServer["AddWorldMaps"] = "Server.AddWorldMaps";
|
|
14
12
|
HookServer["AddDatabase"] = "Server.AddDatabase";
|
|
15
13
|
HookServer["PlayerInput"] = "Server.onInput";
|
|
@@ -23,8 +21,8 @@ var HookServer;
|
|
|
23
21
|
HookServer["PlayerCanChangeMap"] = "Server.PlayerCanChangeMap";
|
|
24
22
|
HookServer["ScalabilityPlayerConnected"] = "Server.ScalabilityPlayerConnected";
|
|
25
23
|
HookServer["ScalabilityChangeServer"] = "Server.ScalabilityChangeServer";
|
|
26
|
-
})(HookServer
|
|
27
|
-
var HookClient;
|
|
24
|
+
})(HookServer || (HookServer = {}));
|
|
25
|
+
export var HookClient;
|
|
28
26
|
(function (HookClient) {
|
|
29
27
|
HookClient["Start"] = "Client.Start";
|
|
30
28
|
HookClient["Step"] = "Client.Step";
|
|
@@ -48,11 +46,11 @@ var HookClient;
|
|
|
48
46
|
HookClient["ChangesSprite"] = "Client.ChangesSprite";
|
|
49
47
|
HookClient["WindowResize"] = "Client.WindowResize";
|
|
50
48
|
HookClient["SpriteMove"] = "Client.SpriteMove";
|
|
51
|
-
})(HookClient
|
|
49
|
+
})(HookClient || (HookClient = {}));
|
|
52
50
|
/**
|
|
53
51
|
* @deprecated
|
|
54
52
|
*/
|
|
55
|
-
class PluginSystem extends
|
|
53
|
+
export class PluginSystem extends EventEmitter {
|
|
56
54
|
loadPlugins(plugins, shared, type) {
|
|
57
55
|
if (!plugins)
|
|
58
56
|
return;
|
|
@@ -60,7 +58,7 @@ class PluginSystem extends EventEmitter_1.EventEmitter {
|
|
|
60
58
|
if (!plugin)
|
|
61
59
|
continue;
|
|
62
60
|
let plug = [];
|
|
63
|
-
if (!
|
|
61
|
+
if (!isArray(plugin)) {
|
|
64
62
|
plug = [plugin];
|
|
65
63
|
}
|
|
66
64
|
else {
|
|
@@ -69,7 +67,10 @@ class PluginSystem extends EventEmitter_1.EventEmitter {
|
|
|
69
67
|
const [side, options] = plug;
|
|
70
68
|
if (!side[type])
|
|
71
69
|
continue;
|
|
72
|
-
side[type](
|
|
70
|
+
side[type]({
|
|
71
|
+
RpgPlugin,
|
|
72
|
+
...shared
|
|
73
|
+
}, options);
|
|
73
74
|
}
|
|
74
75
|
}
|
|
75
76
|
loadServerPlugins(plugins, shared) {
|
|
@@ -79,6 +80,5 @@ class PluginSystem extends EventEmitter_1.EventEmitter {
|
|
|
79
80
|
this.loadPlugins(plugins, shared, 'client');
|
|
80
81
|
}
|
|
81
82
|
}
|
|
82
|
-
|
|
83
|
-
exports.RpgPlugin = new PluginSystem();
|
|
83
|
+
export const RpgPlugin = new PluginSystem();
|
|
84
84
|
//# sourceMappingURL=Plugin.js.map
|
package/lib/Plugin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Plugin.js","sourceRoot":"","sources":["../src/Plugin.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Plugin.js","sourceRoot":"","sources":["../src/Plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAMjC,MAAM,CAAN,IAAY,UAoBX;AApBD,WAAY,UAAU;IAClB,oCAAsB,CAAA;IACtB,kCAAoB,CAAA;IACpB,oDAAsC,CAAA;IACtC,0DAA4C,CAAA;IAC5C,sCAAwB,CAAA;IACxB,0CAA4B,CAAA;IAC5B,kDAAoC,CAAA;IACpC,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;IAChC,8DAAgD,CAAA;IAChD,8EAAgE,CAAA;IAChE,wEAA0D,CAAA;AAC9D,CAAC,EApBW,UAAU,KAAV,UAAU,QAoBrB;AAED,MAAM,CAAN,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,KAAV,UAAU,QA0BrB;AAED;;GAEG;AACH,MAAM,OAAO,YAAa,SAAQ,YAAY;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,OAAO,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,CAAC;gBACP,SAAS;gBACT,GAAG,MAAM;aACZ,EAAE,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;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,YAAY,EAAE,CAAA"}
|