@rpgjs/common 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 -1
- package/lib/Event.js +3 -2
- package/lib/Event.js.map +1 -1
- package/lib/Game.d.ts +16 -11
- package/lib/Game.js +58 -25
- package/lib/Game.js.map +1 -1
- package/lib/Hit.d.ts +12 -5
- package/lib/Hit.js +22 -10
- package/lib/Hit.js.map +1 -1
- 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 +22 -3
- package/lib/Map.js +13 -1
- package/lib/Map.js.map +1 -1
- package/lib/Player.d.ts +35 -25
- package/lib/Player.js +229 -170
- package/lib/Player.js.map +1 -1
- package/lib/Plugin.d.ts +3 -0
- package/lib/Plugin.js +3 -1
- 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 +20 -2
- package/lib/Shape.js +69 -20
- package/lib/Shape.js.map +1 -1
- package/lib/Utils.d.ts +4 -12
- package/lib/Utils.js +19 -52
- package/lib/Utils.js.map +1 -1
- package/lib/VirtualGrid.d.ts +27 -0
- package/lib/VirtualGrid.js +75 -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 +5 -4
- package/lib/index.js +9 -5
- 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 +73 -0
- package/lib/workers/move.js.map +1 -0
- package/package.json +4 -3
package/lib/Event.d.ts
CHANGED
package/lib/Event.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RpgCommonEvent = void 0;
|
|
3
4
|
const Player_1 = require("./Player");
|
|
4
|
-
class
|
|
5
|
+
class RpgCommonEvent extends Player_1.RpgCommonPlayer {
|
|
5
6
|
}
|
|
6
|
-
exports.
|
|
7
|
+
exports.RpgCommonEvent = RpgCommonEvent;
|
|
7
8
|
//# sourceMappingURL=Event.js.map
|
package/lib/Event.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Event.js","sourceRoot":"","sources":["../src/Event.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Event.js","sourceRoot":"","sources":["../src/Event.ts"],"names":[],"mappings":";;;AAAA,qCAA0C;AAE1C,MAAa,cAAe,SAAQ,wBAAe;CAAG;AAAtD,wCAAsD"}
|
package/lib/Game.d.ts
CHANGED
|
@@ -1,16 +1,21 @@
|
|
|
1
1
|
import { EventEmitter } from './EventEmitter';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
export
|
|
5
|
-
|
|
2
|
+
import { RpgCommonPlayer } from './Player';
|
|
3
|
+
import { GameWorker } from './Worker';
|
|
4
|
+
export declare enum GameSide {
|
|
5
|
+
Server = "server",
|
|
6
|
+
Client = "client",
|
|
7
|
+
Worker = "worker"
|
|
8
|
+
}
|
|
9
|
+
export declare class RpgCommonGame extends EventEmitter {
|
|
10
|
+
side: GameSide;
|
|
6
11
|
events: any;
|
|
7
12
|
world: any;
|
|
8
|
-
constructor(side:
|
|
13
|
+
constructor(side: GameSide);
|
|
14
|
+
get isWorker(): boolean;
|
|
9
15
|
start(world: any): void;
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
}, playerId: string): void;
|
|
16
|
+
createWorkers(options: any): GameWorker;
|
|
17
|
+
addObject(_class: any, playerId?: string): any;
|
|
18
|
+
addPlayer(playerClass: any, playerId?: string): any;
|
|
19
|
+
addEvent(eventClass: any, eventId?: string): any;
|
|
20
|
+
processInput<RpgPlayer extends RpgCommonPlayer>(playerId: string): Promise<RpgPlayer>;
|
|
16
21
|
}
|
package/lib/Game.js
CHANGED
|
@@ -1,24 +1,47 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
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
|
+
};
|
|
2
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.RpgCommonGame = exports.GameSide = void 0;
|
|
3
13
|
const Utils_1 = require("./Utils");
|
|
4
14
|
const EventEmitter_1 = require("./EventEmitter");
|
|
5
15
|
const Player_1 = require("./Player");
|
|
6
16
|
const Input_1 = require("./Input");
|
|
7
17
|
const Plugin_1 = require("./Plugin");
|
|
8
|
-
|
|
18
|
+
const Worker_1 = require("./Worker");
|
|
19
|
+
var GameSide;
|
|
20
|
+
(function (GameSide) {
|
|
21
|
+
GameSide["Server"] = "server";
|
|
22
|
+
GameSide["Client"] = "client";
|
|
23
|
+
GameSide["Worker"] = "worker";
|
|
24
|
+
})(GameSide = exports.GameSide || (exports.GameSide = {}));
|
|
25
|
+
class RpgCommonGame extends EventEmitter_1.EventEmitter {
|
|
9
26
|
constructor(side) {
|
|
10
27
|
super();
|
|
11
28
|
this.side = side;
|
|
12
29
|
this.events = {}; // events for all player in map
|
|
13
30
|
}
|
|
31
|
+
get isWorker() {
|
|
32
|
+
return this.side == 'worker';
|
|
33
|
+
}
|
|
14
34
|
start(world) {
|
|
15
35
|
this.world = world;
|
|
16
36
|
}
|
|
37
|
+
createWorkers(options) {
|
|
38
|
+
return new Worker_1.GameWorker(options);
|
|
39
|
+
}
|
|
17
40
|
addObject(_class, playerId) {
|
|
18
41
|
let event;
|
|
19
42
|
if (!playerId)
|
|
20
43
|
playerId = Utils_1.generateUID();
|
|
21
|
-
if (_class
|
|
44
|
+
if (Utils_1.isClass(_class)) {
|
|
22
45
|
event = new _class(this, playerId);
|
|
23
46
|
}
|
|
24
47
|
else {
|
|
@@ -30,31 +53,41 @@ class Game extends EventEmitter_1.EventEmitter {
|
|
|
30
53
|
const player = this.addObject(playerClass, playerId);
|
|
31
54
|
return player;
|
|
32
55
|
}
|
|
33
|
-
addEvent(eventClass) {
|
|
34
|
-
const event = this.addObject(eventClass);
|
|
56
|
+
addEvent(eventClass, eventId) {
|
|
57
|
+
const event = this.addObject(eventClass, eventId);
|
|
35
58
|
return event;
|
|
36
59
|
}
|
|
37
|
-
processInput(
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
60
|
+
processInput(playerId) {
|
|
61
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
62
|
+
const player = this.world.getObject(playerId);
|
|
63
|
+
if (!player)
|
|
64
|
+
return player;
|
|
65
|
+
if (!player.canMove)
|
|
66
|
+
return player;
|
|
67
|
+
const routesMove = [];
|
|
68
|
+
while (player.pendingMove.length > 0) {
|
|
69
|
+
const inputData = player.pendingMove.shift();
|
|
70
|
+
let { input, deltaTimeInt } = inputData;
|
|
71
|
+
let moving = false;
|
|
72
|
+
if (input == Input_1.Control.Action) {
|
|
73
|
+
player.triggerCollisionWith(Player_1.RpgCommonPlayer.ACTIONS.ACTION);
|
|
74
|
+
}
|
|
75
|
+
else if (input == Player_1.Direction.Left ||
|
|
76
|
+
input == Player_1.Direction.Right ||
|
|
77
|
+
input == Player_1.Direction.Up ||
|
|
78
|
+
input == Player_1.Direction.Down) {
|
|
79
|
+
moving = true;
|
|
80
|
+
const isMove = yield player.moveByDirection(+input, deltaTimeInt || 1);
|
|
81
|
+
if (isMove) {
|
|
82
|
+
routesMove.push(inputData);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
// TODO, is Worker
|
|
86
|
+
Plugin_1.RpgPlugin.emit('Server.onInput', [player, Object.assign(Object.assign({}, inputData), { moving })], true);
|
|
87
|
+
}
|
|
88
|
+
return player;
|
|
89
|
+
});
|
|
57
90
|
}
|
|
58
91
|
}
|
|
59
|
-
exports.
|
|
92
|
+
exports.RpgCommonGame = RpgCommonGame;
|
|
60
93
|
//# sourceMappingURL=Game.js.map
|
package/lib/Game.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Game.js","sourceRoot":"","sources":["../src/Game.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Game.js","sourceRoot":"","sources":["../src/Game.ts"],"names":[],"mappings":"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"}
|
package/lib/Hit.d.ts
CHANGED
|
@@ -3,9 +3,14 @@ export interface HitObject {
|
|
|
3
3
|
ellipse?: boolean;
|
|
4
4
|
gid?: number;
|
|
5
5
|
height: number;
|
|
6
|
-
polygon?:
|
|
6
|
+
polygon?: {
|
|
7
|
+
x: number;
|
|
8
|
+
y: number;
|
|
9
|
+
}[];
|
|
7
10
|
polyline?: any[];
|
|
8
|
-
properties?:
|
|
11
|
+
properties?: {
|
|
12
|
+
[key: string]: any;
|
|
13
|
+
};
|
|
9
14
|
rotation?: number;
|
|
10
15
|
visible?: boolean;
|
|
11
16
|
width: number;
|
|
@@ -20,9 +25,11 @@ declare class HitClass {
|
|
|
20
25
|
x: number;
|
|
21
26
|
y: number;
|
|
22
27
|
}): {
|
|
23
|
-
properties:
|
|
24
|
-
|
|
25
|
-
|
|
28
|
+
properties: {
|
|
29
|
+
[key: string]: any;
|
|
30
|
+
} | undefined;
|
|
31
|
+
hitbox: SAT;
|
|
32
|
+
type: string;
|
|
26
33
|
name: string | undefined;
|
|
27
34
|
};
|
|
28
35
|
testPolyCollision(type: string, hit1: SAT, hit2: SAT): boolean;
|
package/lib/Hit.js
CHANGED
|
@@ -5,6 +5,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.Hit = void 0;
|
|
7
7
|
const sat_1 = __importDefault(require("sat"));
|
|
8
|
+
const Utils_1 = require("./Utils");
|
|
9
|
+
var HitType;
|
|
10
|
+
(function (HitType) {
|
|
11
|
+
HitType["Box"] = "box";
|
|
12
|
+
HitType["Circle"] = "circle";
|
|
13
|
+
HitType["Polygon"] = "polygon";
|
|
14
|
+
})(HitType || (HitType = {}));
|
|
8
15
|
class HitClass {
|
|
9
16
|
createObjectHitbox(x, y, z, w, h) {
|
|
10
17
|
return new sat_1.default.Box(new sat_1.default.Vector(x, y - z), w, h);
|
|
@@ -16,15 +23,16 @@ class HitClass {
|
|
|
16
23
|
const x = obj.x + offset.x;
|
|
17
24
|
const y = obj.y + offset.y;
|
|
18
25
|
if (obj.ellipse) {
|
|
19
|
-
type =
|
|
20
|
-
|
|
26
|
+
type = HitType.Circle;
|
|
27
|
+
const radius = obj.width / 2;
|
|
28
|
+
hitbox = new sat_1.default.Circle(new sat_1.default.Vector(x + radius, y + radius), radius);
|
|
21
29
|
}
|
|
22
30
|
else if (obj.polygon) {
|
|
23
|
-
type =
|
|
31
|
+
type = HitType.Polygon;
|
|
24
32
|
hitbox = new sat_1.default.Polygon(new sat_1.default.Vector(x, y), obj.polygon.map(pos => new sat_1.default.Vector(+pos.x, +pos.y)));
|
|
25
33
|
}
|
|
26
34
|
else if (!obj.polygon && obj.width > 0 && obj.height > 0) {
|
|
27
|
-
type =
|
|
35
|
+
type = HitType.Box;
|
|
28
36
|
hitbox = new sat_1.default.Box(new sat_1.default.Vector(x, y), obj.width, obj.height);
|
|
29
37
|
}
|
|
30
38
|
else {
|
|
@@ -40,15 +48,19 @@ class HitClass {
|
|
|
40
48
|
}
|
|
41
49
|
testPolyCollision(type, hit1, hit2) {
|
|
42
50
|
let collided = false;
|
|
51
|
+
if (Utils_1.isInstanceOf(hit1, sat_1.default.Box))
|
|
52
|
+
hit1 = hit1.toPolygon();
|
|
53
|
+
if (Utils_1.isInstanceOf(hit2, sat_1.default.Box))
|
|
54
|
+
hit2 = hit2.toPolygon();
|
|
43
55
|
switch (type) {
|
|
44
|
-
case
|
|
45
|
-
collided = sat_1.default.testPolygonPolygon(hit1
|
|
56
|
+
case HitType.Box:
|
|
57
|
+
collided = sat_1.default.testPolygonPolygon(hit1, hit2);
|
|
46
58
|
break;
|
|
47
|
-
case
|
|
48
|
-
collided = sat_1.default.testPolygonCircle(hit1
|
|
59
|
+
case HitType.Circle:
|
|
60
|
+
collided = sat_1.default.testPolygonCircle(hit1, hit2);
|
|
49
61
|
break;
|
|
50
|
-
case
|
|
51
|
-
collided = sat_1.default.testPolygonPolygon(hit1, hit2
|
|
62
|
+
case HitType.Polygon:
|
|
63
|
+
collided = sat_1.default.testPolygonPolygon(hit1, hit2);
|
|
52
64
|
break;
|
|
53
65
|
}
|
|
54
66
|
return collided;
|
package/lib/Hit.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Hit.js","sourceRoot":"","sources":["../src/Hit.ts"],"names":[],"mappings":";;;;;;AAAA,8CAAqB;
|
|
1
|
+
{"version":3,"file":"Hit.js","sourceRoot":"","sources":["../src/Hit.ts"],"names":[],"mappings":"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"}
|
package/lib/Input.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
export declare enum Control {
|
|
2
2
|
Action = "action",
|
|
3
3
|
Back = "back",
|
|
4
|
-
Up =
|
|
5
|
-
Down =
|
|
6
|
-
Right =
|
|
7
|
-
Left =
|
|
4
|
+
Up = 1,
|
|
5
|
+
Down = 3,
|
|
6
|
+
Right = 2,
|
|
7
|
+
Left = 4
|
|
8
8
|
}
|
|
9
9
|
export declare enum Input {
|
|
10
10
|
Break = "break",
|
|
@@ -25,10 +25,10 @@ export declare enum Input {
|
|
|
25
25
|
PageDown = "page down",
|
|
26
26
|
End = "end",
|
|
27
27
|
Home = "home",
|
|
28
|
-
Left =
|
|
29
|
-
Up =
|
|
30
|
-
Right =
|
|
31
|
-
Down =
|
|
28
|
+
Left = 4,
|
|
29
|
+
Up = 1,
|
|
30
|
+
Right = 2,
|
|
31
|
+
Down = 3,
|
|
32
32
|
Select = "select",
|
|
33
33
|
Print = "print",
|
|
34
34
|
Execute = "execute",
|
package/lib/Input.js
CHANGED
|
@@ -5,10 +5,10 @@ var Control;
|
|
|
5
5
|
(function (Control) {
|
|
6
6
|
Control["Action"] = "action";
|
|
7
7
|
Control["Back"] = "back";
|
|
8
|
-
Control["Up"] = "
|
|
9
|
-
Control["Down"] = "
|
|
10
|
-
Control["Right"] = "
|
|
11
|
-
Control["Left"] = "
|
|
8
|
+
Control[Control["Up"] = 1] = "Up";
|
|
9
|
+
Control[Control["Down"] = 3] = "Down";
|
|
10
|
+
Control[Control["Right"] = 2] = "Right";
|
|
11
|
+
Control[Control["Left"] = 4] = "Left";
|
|
12
12
|
})(Control = exports.Control || (exports.Control = {}));
|
|
13
13
|
var Input;
|
|
14
14
|
(function (Input) {
|
|
@@ -30,10 +30,10 @@ var Input;
|
|
|
30
30
|
Input["PageDown"] = "page down";
|
|
31
31
|
Input["End"] = "end";
|
|
32
32
|
Input["Home"] = "home";
|
|
33
|
-
Input["Left"] = "
|
|
34
|
-
Input["Up"] = "
|
|
35
|
-
Input["Right"] = "
|
|
36
|
-
Input["Down"] = "
|
|
33
|
+
Input[Input["Left"] = 4] = "Left";
|
|
34
|
+
Input[Input["Up"] = 1] = "Up";
|
|
35
|
+
Input[Input["Right"] = 2] = "Right";
|
|
36
|
+
Input[Input["Down"] = 3] = "Down";
|
|
37
37
|
Input["Select"] = "select";
|
|
38
38
|
Input["Print"] = "print";
|
|
39
39
|
Input["Execute"] = "execute";
|
package/lib/Input.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Input.js","sourceRoot":"","sources":["../src/Input.ts"],"names":[],"mappings":";;;AAAA,IAAY,OAOX;AAPD,WAAY,OAAO;IACf,4BAAiB,CAAA;IACjB,wBAAa,CAAA;IACb,
|
|
1
|
+
{"version":3,"file":"Input.js","sourceRoot":"","sources":["../src/Input.ts"],"names":[],"mappings":"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"}
|
package/lib/Map.d.ts
CHANGED
|
@@ -1,7 +1,18 @@
|
|
|
1
1
|
import { HitObject } from './Hit';
|
|
2
2
|
import { RpgShape } from './Shape';
|
|
3
|
+
import { VirtualGrid } from './VirtualGrid';
|
|
4
|
+
export interface Tile {
|
|
5
|
+
id: number;
|
|
6
|
+
terrain: any[];
|
|
7
|
+
probability: any;
|
|
8
|
+
properties: any;
|
|
9
|
+
animations: any[];
|
|
10
|
+
objectGroups: any[];
|
|
11
|
+
image: any;
|
|
12
|
+
gid: number;
|
|
13
|
+
}
|
|
3
14
|
export interface TileInfo {
|
|
4
|
-
tiles:
|
|
15
|
+
tiles: Tile[];
|
|
5
16
|
hasCollision: boolean;
|
|
6
17
|
isClimbable?: boolean;
|
|
7
18
|
isOverlay: boolean;
|
|
@@ -15,9 +26,10 @@ export interface LayerInfo {
|
|
|
15
26
|
visible: boolean;
|
|
16
27
|
properties: any;
|
|
17
28
|
objects: HitObject[];
|
|
18
|
-
tiles:
|
|
29
|
+
tiles: Tile[];
|
|
19
30
|
}
|
|
20
31
|
export default class RpgCommonMap {
|
|
32
|
+
grid: VirtualGrid;
|
|
21
33
|
/**
|
|
22
34
|
* @title Data of map
|
|
23
35
|
* @prop {object} [data]
|
|
@@ -53,7 +65,14 @@ export default class RpgCommonMap {
|
|
|
53
65
|
* */
|
|
54
66
|
layers: LayerInfo[];
|
|
55
67
|
private shapes;
|
|
68
|
+
/**
|
|
69
|
+
* Memorize the maps so you don't have to make a new request or open a file each time you load a map
|
|
70
|
+
*/
|
|
56
71
|
static get buffer(): Map<any, any>;
|
|
72
|
+
/**
|
|
73
|
+
* In RPG mode, to avoid confusion with buffer, we have a new variable to memorize the maps
|
|
74
|
+
*/
|
|
75
|
+
static get bufferClient(): Map<any, any>;
|
|
57
76
|
load(data: any): void;
|
|
58
77
|
/**
|
|
59
78
|
* @title Width of the map in pixels
|
|
@@ -120,7 +139,7 @@ export default class RpgCommonMap {
|
|
|
120
139
|
/**
|
|
121
140
|
* Delete a shape
|
|
122
141
|
*
|
|
123
|
-
* @title
|
|
142
|
+
* @title Delete Shape
|
|
124
143
|
* @method map.removeShape(name)
|
|
125
144
|
* @param {string} name Name of shape
|
|
126
145
|
* @returns {void}
|
package/lib/Map.js
CHANGED
|
@@ -3,7 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
const Utils_1 = require("./Utils");
|
|
4
4
|
const Shape_1 = require("./Shape");
|
|
5
5
|
const Hit_1 = require("./Hit");
|
|
6
|
+
const VirtualGrid_1 = require("./VirtualGrid");
|
|
6
7
|
const buffer = new Map();
|
|
8
|
+
const bufferClient = new Map();
|
|
7
9
|
class RpgCommonMap {
|
|
8
10
|
constructor() {
|
|
9
11
|
this.width = 0;
|
|
@@ -34,9 +36,18 @@ class RpgCommonMap {
|
|
|
34
36
|
this.layers = [];
|
|
35
37
|
this.shapes = [];
|
|
36
38
|
}
|
|
39
|
+
/**
|
|
40
|
+
* Memorize the maps so you don't have to make a new request or open a file each time you load a map
|
|
41
|
+
*/
|
|
37
42
|
static get buffer() {
|
|
38
43
|
return buffer;
|
|
39
44
|
}
|
|
45
|
+
/**
|
|
46
|
+
* In RPG mode, to avoid confusion with buffer, we have a new variable to memorize the maps
|
|
47
|
+
*/
|
|
48
|
+
static get bufferClient() {
|
|
49
|
+
return bufferClient;
|
|
50
|
+
}
|
|
40
51
|
load(data) {
|
|
41
52
|
this.data = data;
|
|
42
53
|
this.width = data.width;
|
|
@@ -44,6 +55,7 @@ class RpgCommonMap {
|
|
|
44
55
|
this.tileHeight = data.tileHeight;
|
|
45
56
|
this.height = data.height;
|
|
46
57
|
this.layers = data.layers;
|
|
58
|
+
this.grid = new VirtualGrid_1.VirtualGrid(this.width, this.tileWidth, this.tileHeight).zoom(10);
|
|
47
59
|
this._extractShapes();
|
|
48
60
|
}
|
|
49
61
|
/**
|
|
@@ -134,7 +146,7 @@ class RpgCommonMap {
|
|
|
134
146
|
/**
|
|
135
147
|
* Delete a shape
|
|
136
148
|
*
|
|
137
|
-
* @title
|
|
149
|
+
* @title Delete Shape
|
|
138
150
|
* @method map.removeShape(name)
|
|
139
151
|
* @param {string} name Name of shape
|
|
140
152
|
* @returns {void}
|
package/lib/Map.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Map.js","sourceRoot":"","sources":["../src/Map.ts"],"names":[],"mappings":";;AACA,mCAAqE;AACrE,mCAAkC;AAClC,+BAA2B;
|
|
1
|
+
{"version":3,"file":"Map.js","sourceRoot":"","sources":["../src/Map.ts"],"names":[],"mappings":"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"}
|
package/lib/Player.d.ts
CHANGED
|
@@ -1,17 +1,28 @@
|
|
|
1
1
|
import { RpgShape } from './Shape';
|
|
2
2
|
import SAT from 'sat';
|
|
3
|
-
import
|
|
3
|
+
import { TileInfo } from './Map';
|
|
4
|
+
import { RpgCommonGame } from '.';
|
|
4
5
|
export declare type Position = {
|
|
5
6
|
x: number;
|
|
6
7
|
y: number;
|
|
7
8
|
z: number;
|
|
8
9
|
};
|
|
9
10
|
export declare enum Direction {
|
|
10
|
-
Up =
|
|
11
|
-
Down =
|
|
12
|
-
Left =
|
|
13
|
-
Right =
|
|
11
|
+
Up = 1,
|
|
12
|
+
Down = 3,
|
|
13
|
+
Left = 4,
|
|
14
|
+
Right = 2,
|
|
15
|
+
UpRight = 1.5,
|
|
16
|
+
DownRight = 2.5,
|
|
17
|
+
DownLeft = 3.5,
|
|
18
|
+
UpLeft = 2.5
|
|
14
19
|
}
|
|
20
|
+
export declare const LiteralDirection: {
|
|
21
|
+
1: string;
|
|
22
|
+
2: string;
|
|
23
|
+
3: string;
|
|
24
|
+
4: string;
|
|
25
|
+
};
|
|
15
26
|
export declare enum PlayerType {
|
|
16
27
|
Player = "player",
|
|
17
28
|
Event = "event"
|
|
@@ -29,8 +40,19 @@ export declare class RpgCommonPlayer {
|
|
|
29
40
|
direction: number;
|
|
30
41
|
private collisionWith;
|
|
31
42
|
private _collisionWithTiles;
|
|
32
|
-
|
|
33
|
-
|
|
43
|
+
hitbox: SAT.Box;
|
|
44
|
+
pendingMove: {
|
|
45
|
+
input: string;
|
|
46
|
+
frame: number;
|
|
47
|
+
}[];
|
|
48
|
+
/**
|
|
49
|
+
* Display/Hide the GUI attached to this sprite
|
|
50
|
+
*
|
|
51
|
+
* @prop {boolean} guiDisplay
|
|
52
|
+
* @since 3.0.0-beta.5
|
|
53
|
+
* @memberof RpgSprite
|
|
54
|
+
* */
|
|
55
|
+
guiDisplay: boolean;
|
|
34
56
|
inShapes: {
|
|
35
57
|
[shapeId: string]: RpgShape;
|
|
36
58
|
};
|
|
@@ -42,9 +64,10 @@ export declare class RpgCommonPlayer {
|
|
|
42
64
|
RUN: number;
|
|
43
65
|
ACTION: number;
|
|
44
66
|
};
|
|
45
|
-
constructor(gameEngine:
|
|
67
|
+
constructor(gameEngine: RpgCommonGame, playerId: string);
|
|
46
68
|
get id(): string;
|
|
47
69
|
set id(str: string);
|
|
70
|
+
updateInVirtualGrid(): void;
|
|
48
71
|
/**
|
|
49
72
|
* Get/Set position x, y and z of player
|
|
50
73
|
*
|
|
@@ -59,7 +82,6 @@ export declare class RpgCommonPlayer {
|
|
|
59
82
|
set posX(val: any);
|
|
60
83
|
set posY(val: any);
|
|
61
84
|
set posZ(val: any);
|
|
62
|
-
get mapInstance(): Map;
|
|
63
85
|
/**
|
|
64
86
|
*
|
|
65
87
|
* Recovers all the colliding tiles of the current player
|
|
@@ -79,7 +101,7 @@ export declare class RpgCommonPlayer {
|
|
|
79
101
|
* @title Get Collision of other players/events
|
|
80
102
|
* @since 3.0.0-beta.4
|
|
81
103
|
* @readonly
|
|
82
|
-
* @prop { (RpgPlayer |
|
|
104
|
+
* @prop { (RpgPlayer | RpgEvent)[] } otherPlayersCollision
|
|
83
105
|
* @memberof Player
|
|
84
106
|
* @memberof RpgSpriteLogic
|
|
85
107
|
*/
|
|
@@ -141,16 +163,7 @@ export declare class RpgCommonPlayer {
|
|
|
141
163
|
set hHitbox(val: any);
|
|
142
164
|
get wHitbox(): any;
|
|
143
165
|
get hHitbox(): any;
|
|
144
|
-
|
|
145
|
-
setPosition({ x, y, tileX, tileY }: {
|
|
146
|
-
x: any;
|
|
147
|
-
y: any;
|
|
148
|
-
tileX: any;
|
|
149
|
-
tileY: any;
|
|
150
|
-
}, move?: boolean): void;
|
|
151
|
-
triggerCollisionWith(type?: number): void;
|
|
152
|
-
zCollision(other: any): boolean;
|
|
153
|
-
moveByDirection(direction: Direction): boolean;
|
|
166
|
+
private directionToAngle;
|
|
154
167
|
/**
|
|
155
168
|
* Retrieves a tile and checks if the player has a collision
|
|
156
169
|
*
|
|
@@ -194,7 +207,7 @@ export declare class RpgCommonPlayer {
|
|
|
194
207
|
* @memberof RpgSpriteLogic
|
|
195
208
|
*/
|
|
196
209
|
getTile(x: number, y: number, z?: number, hitbox?: SAT.Box): TileInfo;
|
|
197
|
-
isCollided(nextPosition: Position): boolean
|
|
210
|
+
isCollided(nextPosition: Position): Promise<boolean>;
|
|
198
211
|
/**
|
|
199
212
|
* Attach a shape to the player (and allow interaction with it)
|
|
200
213
|
*
|
|
@@ -236,8 +249,6 @@ export declare class RpgCommonPlayer {
|
|
|
236
249
|
* @memberof RpgSpriteLogic
|
|
237
250
|
*/
|
|
238
251
|
getShapes(): RpgShape[];
|
|
239
|
-
collisionWithShape(shape: RpgShape, player: RpgCommonPlayer, nextPosition?: Position): boolean;
|
|
240
|
-
move(nextPosition: Position, testCollision?: boolean): boolean;
|
|
241
252
|
/**
|
|
242
253
|
* Retrieves all shapes where the player is located
|
|
243
254
|
*
|
|
@@ -257,7 +268,7 @@ export declare class RpgCommonPlayer {
|
|
|
257
268
|
*
|
|
258
269
|
* @title Get Direction
|
|
259
270
|
* @method player.getDirection()
|
|
260
|
-
* @returns {
|
|
271
|
+
* @returns {Direction | number} direction
|
|
261
272
|
* @memberof Player
|
|
262
273
|
*/
|
|
263
274
|
getDirection(direction?: Direction | number): string | number;
|
|
@@ -293,7 +304,6 @@ export interface RpgCommonPlayer {
|
|
|
293
304
|
readonly type: string;
|
|
294
305
|
through: boolean;
|
|
295
306
|
throughOtherPlayer: boolean;
|
|
296
|
-
steerable: any;
|
|
297
307
|
getVector3D(x: any, y: any, z: any): any;
|
|
298
308
|
execMethod(methodName: string, methodData?: any, instance?: any): any;
|
|
299
309
|
}
|