@rpgjs/common 3.0.1 → 3.2.0
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 +318 -0
- package/lib/AbstractObject.js +828 -0
- package/lib/AbstractObject.js.map +1 -0
- package/lib/Game.d.ts +6 -2
- package/lib/Game.js +42 -13
- package/lib/Game.js.map +1 -1
- package/lib/Hit.d.ts +4 -28
- package/lib/Hit.js +12 -15
- package/lib/Hit.js.map +1 -1
- package/lib/Hitbox.d.ts +6 -0
- package/lib/Hitbox.js +10 -0
- package/lib/Hitbox.js.map +1 -0
- package/lib/HitboxEffect.d.ts +6 -0
- package/lib/HitboxEffect.js +10 -0
- package/lib/HitboxEffect.js.map +1 -0
- package/lib/Map.d.ts +12 -0
- package/lib/Map.js +77 -4
- package/lib/Map.js.map +1 -1
- package/lib/Player.d.ts +9 -296
- package/lib/Player.js +7 -639
- package/lib/Player.js.map +1 -1
- package/lib/Scheduler.d.ts +16 -38
- package/lib/Scheduler.js +69 -76
- package/lib/Scheduler.js.map +1 -1
- package/lib/Shape.d.ts +8 -7
- package/lib/Shape.js +11 -15
- package/lib/Shape.js.map +1 -1
- package/lib/SocketEvents.d.ts +8 -0
- package/lib/SocketEvents.js +14 -0
- package/lib/SocketEvents.js.map +1 -0
- package/lib/Utils.d.ts +12 -11
- package/lib/Utils.js.map +1 -1
- package/lib/Vector2d.d.ts +19 -0
- package/lib/Vector2d.js +63 -0
- package/lib/Vector2d.js.map +1 -0
- package/lib/VirtualGrid.d.ts +2 -3
- package/lib/VirtualGrid.js.map +1 -1
- package/lib/WorldMaps.d.ts +1 -1
- package/lib/WorldMaps.js +5 -5
- package/lib/WorldMaps.js.map +1 -1
- package/lib/index.d.ts +21 -19
- package/lib/index.js +27 -30
- package/lib/index.js.map +1 -1
- package/lib/types/Hitbox.d.ts +24 -0
- package/lib/types/Hitbox.js +3 -0
- package/lib/types/Hitbox.js.map +1 -0
- package/lib/types/Player.d.ts +8 -0
- package/lib/types/Player.js +3 -0
- package/lib/types/Player.js.map +1 -0
- package/lib/types/index.d.ts +3 -0
- package/lib/types/index.js +3 -0
- package/lib/types/index.js.map +1 -0
- package/lib/workers/move.js +1 -1
- package/lib/workers/move.js.map +1 -1
- package/package.json +5 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AbstractObject.js","sourceRoot":"","sources":["../src/AbstractObject.ts"],"names":[],"mappings":"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"}
|
package/lib/Game.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { EventEmitter } from './EventEmitter';
|
|
2
2
|
import { RpgCommonPlayer } from './Player';
|
|
3
|
+
import { constructor, Controls } from '@rpgjs/types';
|
|
3
4
|
import { GameWorker } from './Worker';
|
|
4
5
|
import { HitObject } from './Hit';
|
|
5
6
|
import { RpgShape } from './Shape';
|
|
@@ -18,7 +19,10 @@ export declare class RpgCommonGame extends EventEmitter {
|
|
|
18
19
|
createWorkers(options: any): GameWorker;
|
|
19
20
|
addObject(_class: any, playerId?: string): any;
|
|
20
21
|
addPlayer(playerClass: any, playerId?: string): any;
|
|
21
|
-
addEvent(eventClass:
|
|
22
|
+
addEvent<T>(eventClass: constructor<T>, eventId?: string): T;
|
|
22
23
|
addShape(obj: HitObject): RpgShape;
|
|
23
|
-
processInput<RpgPlayer extends RpgCommonPlayer>(playerId: string): Promise<
|
|
24
|
+
processInput<RpgPlayer extends RpgCommonPlayer>(playerId: string, controls?: Controls): Promise<{
|
|
25
|
+
player: RpgPlayer;
|
|
26
|
+
inputs: string[];
|
|
27
|
+
}>;
|
|
24
28
|
}
|
package/lib/Game.js
CHANGED
|
@@ -13,7 +13,7 @@ exports.RpgCommonGame = exports.GameSide = void 0;
|
|
|
13
13
|
const Utils_1 = require("./Utils");
|
|
14
14
|
const EventEmitter_1 = require("./EventEmitter");
|
|
15
15
|
const Player_1 = require("./Player");
|
|
16
|
-
const
|
|
16
|
+
const types_1 = require("@rpgjs/types");
|
|
17
17
|
const Plugin_1 = require("./Plugin");
|
|
18
18
|
const Worker_1 = require("./Worker");
|
|
19
19
|
const Shape_1 = require("./Shape");
|
|
@@ -64,27 +64,52 @@ class RpgCommonGame extends EventEmitter_1.EventEmitter {
|
|
|
64
64
|
shape.name = id;
|
|
65
65
|
return shape;
|
|
66
66
|
}
|
|
67
|
-
processInput(playerId) {
|
|
67
|
+
processInput(playerId, controls) {
|
|
68
68
|
return __awaiter(this, void 0, void 0, function* () {
|
|
69
69
|
const player = this.world.getObject(playerId);
|
|
70
|
+
const inputs = [];
|
|
70
71
|
if (!player)
|
|
71
|
-
return
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
}
|
|
72
|
+
return {
|
|
73
|
+
player,
|
|
74
|
+
inputs
|
|
75
|
+
};
|
|
76
76
|
const routesMove = [];
|
|
77
77
|
while (player.pendingMove.length > 0) {
|
|
78
78
|
const inputData = player.pendingMove.shift();
|
|
79
79
|
let { input, deltaTimeInt } = inputData;
|
|
80
80
|
let moving = false;
|
|
81
|
-
if (
|
|
81
|
+
if (controls && controls[input]) {
|
|
82
|
+
const control = controls[input];
|
|
83
|
+
const now = Date.now();
|
|
84
|
+
const inputTime = player.inputsTimestamp[input] || 0;
|
|
85
|
+
if (inputTime >= now) {
|
|
86
|
+
continue;
|
|
87
|
+
}
|
|
88
|
+
if (control.delay) {
|
|
89
|
+
let duration;
|
|
90
|
+
let otherControls = [];
|
|
91
|
+
if (typeof control.delay == 'number') {
|
|
92
|
+
duration = control.delay;
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
duration = control.delay.duration;
|
|
96
|
+
if (control.delay.otherControls) {
|
|
97
|
+
otherControls = control.delay.otherControls;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
player.inputsTimestamp[input] = now + duration;
|
|
101
|
+
for (let control of otherControls) {
|
|
102
|
+
player.inputsTimestamp[control] = now + duration;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
if (input == types_1.Control.Action) {
|
|
82
107
|
player.triggerCollisionWith(Player_1.RpgCommonPlayer.ACTIONS.ACTION);
|
|
83
108
|
}
|
|
84
|
-
else if (input ==
|
|
85
|
-
input ==
|
|
86
|
-
input ==
|
|
87
|
-
input ==
|
|
109
|
+
else if (input == types_1.Direction.Left ||
|
|
110
|
+
input == types_1.Direction.Right ||
|
|
111
|
+
input == types_1.Direction.Up ||
|
|
112
|
+
input == types_1.Direction.Down) {
|
|
88
113
|
moving = true;
|
|
89
114
|
const isMove = yield player.moveByDirection(+input, deltaTimeInt || 1);
|
|
90
115
|
if (isMove) {
|
|
@@ -93,8 +118,12 @@ class RpgCommonGame extends EventEmitter_1.EventEmitter {
|
|
|
93
118
|
}
|
|
94
119
|
// TODO, is Worker
|
|
95
120
|
Plugin_1.RpgPlugin.emit('Server.onInput', [player, Object.assign(Object.assign({}, inputData), { moving })], true);
|
|
121
|
+
inputs.push(input);
|
|
96
122
|
}
|
|
97
|
-
return
|
|
123
|
+
return {
|
|
124
|
+
player,
|
|
125
|
+
inputs
|
|
126
|
+
};
|
|
98
127
|
});
|
|
99
128
|
}
|
|
100
129
|
}
|
package/lib/Game.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Game.js","sourceRoot":"","sources":["../src/Game.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"Game.js","sourceRoot":"","sources":["../src/Game.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,mCAAqD;AACrD,iDAA6C;AAC7C,qCAA0C;AAC1C,wCAAwE;AACxE,qCAAoC;AACpC,qCAAqC;AAErC,mCAAkC;AAGlC,IAAY,QAIX;AAJD,WAAY,QAAQ;IAChB,6BAAiB,CAAA;IACjB,6BAAiB,CAAA;IACjB,6BAAiB,CAAA;AACrB,CAAC,EAJW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAInB;AAED,MAAa,aAAc,SAAQ,2BAAY;IAI3C,YAAmB,IAAc;QAC7B,KAAK,EAAE,CAAA;QADQ,SAAI,GAAJ,IAAI,CAAU;QAE7B,IAAI,CAAC,MAAM,GAAG,EAAE,CAAA,CAAC,+BAA+B;IACpD,CAAC;IAED,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,IAAI,IAAI,QAAQ,CAAA;IAChC,CAAC;IAED,KAAK,CAAC,KAAK;QACP,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;IACtB,CAAC;IAED,aAAa,CAAC,OAAY;QACtB,OAAO,IAAI,mBAAU,CAAC,OAAO,CAAC,CAAA;IAClC,CAAC;IAED,SAAS,CAAC,MAAM,EAAE,QAAiB;QAC/B,IAAI,KAAK,CAAA;QACT,IAAI,CAAC,QAAQ;YAAE,QAAQ,GAAG,mBAAW,EAAE,CAAA;QACvC,IAAI,eAAO,CAAC,MAAM,CAAC,EAAE;YACjB,KAAK,GAAG,IAAI,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;SACrC;aACI;YACD,KAAK,GAAG,MAAM,CAAA;SACjB;QACD,OAAO,KAAK,CAAA;IAChB,CAAC;IAED,SAAS,CAAC,WAAW,EAAE,QAAiB;QACpC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAA;QACpD,OAAO,MAAM,CAAA;IACjB,CAAC;IAED,QAAQ,CAAI,UAA0B,EAAE,OAAgB;QACpD,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;QACjD,OAAO,KAAK,CAAA;IAChB,CAAC;IAED,QAAQ,CAAC,GAAc;QACnB,MAAM,EAAE,GAAG,GAAG,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,mBAAW,EAAE,CAAW,CAAA;QAC3D,MAAM,KAAK,GAAG,IAAI,gBAAQ,CAAC,GAAuB,CAAC,CAAA;QACnD,KAAK,CAAC,IAAI,GAAG,EAAE,CAAA;QACf,OAAO,KAAK,CAAA;IAChB,CAAC;IAEK,YAAY,CAAoC,QAAgB,EAAE,QAAmB;;YAIvF,MAAM,MAAM,GAAc,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;YACxD,MAAM,MAAM,GAAa,EAAE,CAAA;YAE3B,IAAI,CAAC,MAAM;gBAAE,OAAO;oBAChB,MAAM;oBACN,MAAM;iBACT,CAAA;YAED,MAAM,UAAU,GAAQ,EAAE,CAAA;YAE1B,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;gBAClC,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,CAAA;gBAE5C,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,SAAgB,CAAA;gBAC9C,IAAI,MAAM,GAAG,KAAK,CAAA;gBAElB,IAAI,QAAQ,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE;oBAC7B,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;oBAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;oBACtB,MAAM,SAAS,GAAG,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;oBAEpD,IAAI,SAAS,IAAI,GAAG,EAAE;wBAClB,SAAQ;qBACX;oBAED,IAAI,OAAO,CAAC,KAAK,EAAE;wBACf,IAAI,QAAgB,CAAA;wBACpB,IAAI,aAAa,GAAyB,EAAE,CAAA;wBAE5C,IAAI,OAAO,OAAO,CAAC,KAAK,IAAI,QAAQ,EAAE;4BAClC,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAA;yBAC3B;6BACI;4BACD,QAAQ,GAAI,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAA;4BAClC,IAAI,OAAO,CAAC,KAAK,CAAC,aAAa,EAAE;gCAC7B,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC,aAAa,CAAA;6BAC9C;yBACJ;wBAED,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,QAAQ,CAAA;wBAE9C,KAAK,IAAI,OAAO,IAAI,aAAa,EAAE;4BAC/B,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,GAAG,GAAG,GAAG,QAAQ,CAAA;yBACnD;qBACJ;iBACJ;gBAED,IAAI,KAAK,IAAI,eAAO,CAAC,MAAM,EAAE;oBACzB,MAAM,CAAC,oBAAoB,CAAC,wBAAe,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;iBAC9D;qBACI,IACD,KAAK,IAAI,iBAAS,CAAC,IAAI;oBACvB,KAAK,IAAI,iBAAS,CAAC,KAAK;oBACxB,KAAK,IAAI,iBAAS,CAAC,EAAE;oBACrB,KAAK,IAAI,iBAAS,CAAC,IAAI,EACzB;oBACE,MAAM,GAAG,IAAI,CAAA;oBACb,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAC,KAAK,EAAE,YAAY,IAAI,CAAC,CAAC,CAAA;oBACtE,IAAI,MAAM,EAAE;wBACR,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;qBAC7B;iBACJ;gBACD,kBAAkB;gBAClB,kBAAS,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,MAAM,kCACjC,SAAS,KACZ,MAAM,IACR,EAAE,IAAI,CAAC,CAAA;gBAET,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;aACrB;YAED,OAAO;gBACH,MAAM;gBACN,MAAM;aACT,CAAA;QACL,CAAC;KAAA;CACJ;AAlID,sCAkIC"}
|
package/lib/Hit.d.ts
CHANGED
|
@@ -1,29 +1,6 @@
|
|
|
1
|
+
import { HitObject } from '@rpgjs/types';
|
|
1
2
|
import SAT from 'sat';
|
|
2
|
-
export
|
|
3
|
-
ellipse?: boolean;
|
|
4
|
-
gid?: number;
|
|
5
|
-
height: number;
|
|
6
|
-
polygon?: {
|
|
7
|
-
x: number;
|
|
8
|
-
y: number;
|
|
9
|
-
}[];
|
|
10
|
-
polyline?: any[];
|
|
11
|
-
properties?: {
|
|
12
|
-
[key: string]: any;
|
|
13
|
-
};
|
|
14
|
-
rotation?: number;
|
|
15
|
-
visible?: boolean;
|
|
16
|
-
width: number;
|
|
17
|
-
x: number;
|
|
18
|
-
y: number;
|
|
19
|
-
type?: string;
|
|
20
|
-
name?: string;
|
|
21
|
-
}
|
|
22
|
-
export declare enum HitType {
|
|
23
|
-
Box = "box",
|
|
24
|
-
Circle = "circle",
|
|
25
|
-
Polygon = "polygon"
|
|
26
|
-
}
|
|
3
|
+
export { HitType, HitObject } from '@rpgjs/types';
|
|
27
4
|
declare class HitClass {
|
|
28
5
|
createObjectHitbox(x: number, y: number, z: number, w: number, h: number): SAT.Box;
|
|
29
6
|
getHitbox(obj: HitObject, offset?: {
|
|
@@ -31,10 +8,9 @@ declare class HitClass {
|
|
|
31
8
|
y: number;
|
|
32
9
|
}): {
|
|
33
10
|
hitbox: SAT;
|
|
34
|
-
type
|
|
35
|
-
name
|
|
11
|
+
type?: string;
|
|
12
|
+
name?: string;
|
|
36
13
|
};
|
|
37
14
|
testPolyCollision(type: string, hit1: SAT, hit2: SAT): boolean;
|
|
38
15
|
}
|
|
39
16
|
export declare const Hit: HitClass;
|
|
40
|
-
export {};
|
package/lib/Hit.js
CHANGED
|
@@ -4,14 +4,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.Hit = exports.HitType = void 0;
|
|
7
|
+
const types_1 = require("@rpgjs/types");
|
|
7
8
|
const sat_1 = __importDefault(require("sat"));
|
|
8
9
|
const Utils_1 = require("./Utils");
|
|
9
|
-
var
|
|
10
|
-
(function (
|
|
11
|
-
HitType["Box"] = "box";
|
|
12
|
-
HitType["Circle"] = "circle";
|
|
13
|
-
HitType["Polygon"] = "polygon";
|
|
14
|
-
})(HitType = exports.HitType || (exports.HitType = {}));
|
|
10
|
+
var types_2 = require("@rpgjs/types");
|
|
11
|
+
Object.defineProperty(exports, "HitType", { enumerable: true, get: function () { return types_2.HitType; } });
|
|
15
12
|
class HitClass {
|
|
16
13
|
createObjectHitbox(x, y, z, w, h) {
|
|
17
14
|
return new sat_1.default.Box(new sat_1.default.Vector(x, y - z), w, h);
|
|
@@ -22,17 +19,17 @@ class HitClass {
|
|
|
22
19
|
offset = { x: 0, y: 0 };
|
|
23
20
|
const x = obj.x + offset.x;
|
|
24
21
|
const y = obj.y + offset.y;
|
|
25
|
-
if (obj.
|
|
26
|
-
type = HitType.Circle;
|
|
22
|
+
if ('ellipse' in obj || obj.type == types_1.HitType.Circle) {
|
|
23
|
+
type = types_1.HitType.Circle;
|
|
27
24
|
const radius = obj.width / 2;
|
|
28
25
|
hitbox = new sat_1.default.Circle(new sat_1.default.Vector(x + radius, y + radius), radius);
|
|
29
26
|
}
|
|
30
|
-
else if (obj
|
|
31
|
-
type = HitType.Polygon;
|
|
27
|
+
else if ('polygon' in obj) {
|
|
28
|
+
type = types_1.HitType.Polygon;
|
|
32
29
|
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)));
|
|
33
30
|
}
|
|
34
|
-
else if (!
|
|
35
|
-
type = HitType.Box;
|
|
31
|
+
else if (!('polygon' in obj) && ('width' in obj) && ('height' in obj)) {
|
|
32
|
+
type = types_1.HitType.Box;
|
|
36
33
|
hitbox = new sat_1.default.Box(new sat_1.default.Vector(x, y), obj.width, obj.height);
|
|
37
34
|
}
|
|
38
35
|
else {
|
|
@@ -47,7 +44,7 @@ class HitClass {
|
|
|
47
44
|
}
|
|
48
45
|
testPolyCollision(type, hit1, hit2) {
|
|
49
46
|
let collided = false;
|
|
50
|
-
if (type == HitType.Box) {
|
|
47
|
+
if (type == types_1.HitType.Box) {
|
|
51
48
|
if (hit1.pos.x <= hit2.pos.x + hit2.w &&
|
|
52
49
|
hit1.pos.x + hit1.w >= hit2.pos.x &&
|
|
53
50
|
hit1.pos.y <= hit2.pos.y + hit2.h &&
|
|
@@ -61,10 +58,10 @@ class HitClass {
|
|
|
61
58
|
if (Utils_1.isInstanceOf(hit2, sat_1.default.Box))
|
|
62
59
|
hit2 = hit2.toPolygon();
|
|
63
60
|
switch (type) {
|
|
64
|
-
case HitType.Circle:
|
|
61
|
+
case types_1.HitType.Circle:
|
|
65
62
|
collided = sat_1.default.testPolygonCircle(hit1, hit2);
|
|
66
63
|
break;
|
|
67
|
-
case HitType.Polygon:
|
|
64
|
+
case types_1.HitType.Polygon:
|
|
68
65
|
collided = sat_1.default.testPolygonPolygon(hit1, hit2);
|
|
69
66
|
break;
|
|
70
67
|
}
|
package/lib/Hit.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Hit.js","sourceRoot":"","sources":["../src/Hit.ts"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"Hit.js","sourceRoot":"","sources":["../src/Hit.ts"],"names":[],"mappings":"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"}
|
package/lib/Hitbox.d.ts
ADDED
package/lib/Hitbox.js
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.HitBoxEffect = void 0;
|
|
4
|
+
class HitBoxEffect {
|
|
5
|
+
constructor(tick$) {
|
|
6
|
+
this.tick$ = tick$;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
exports.HitBoxEffect = HitBoxEffect;
|
|
10
|
+
//# sourceMappingURL=Hitbox.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Hitbox.js","sourceRoot":"","sources":["../src/Hitbox.ts"],"names":[],"mappings":";;;AAIA,MAAa,YAAY;IACrB,YAAoB,KAAuB;QAAvB,UAAK,GAAL,KAAK,CAAkB;IAAI,CAAC;CACnD;AAFD,oCAEC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.HitBoxEffect = void 0;
|
|
4
|
+
class HitBoxEffect {
|
|
5
|
+
constructor(tick$) {
|
|
6
|
+
this.tick$ = tick$;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
exports.HitBoxEffect = HitBoxEffect;
|
|
10
|
+
//# sourceMappingURL=HitboxEffect.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HitboxEffect.js","sourceRoot":"","sources":["../src/HitboxEffect.ts"],"names":[],"mappings":";;;AAIA,MAAa,YAAY;IACrB,YAAoB,KAAuB;QAAvB,UAAK,GAAL,KAAK,CAAkB;IAAI,CAAC;CACnD;AAFD,oCAEC"}
|
package/lib/Map.d.ts
CHANGED
|
@@ -1,8 +1,14 @@
|
|
|
1
1
|
import { HitObject } from './Hit';
|
|
2
|
+
import SAT from 'sat';
|
|
2
3
|
import { RpgShape } from './Shape';
|
|
3
4
|
import { VirtualGrid } from './VirtualGrid';
|
|
4
5
|
import { RpgCommonWorldMaps } from './WorldMaps';
|
|
5
6
|
import { TiledMap, Tile, TiledObjectClass, MapClass } from '@rpgjs/tiled';
|
|
7
|
+
import { Vector2d } from './Vector2d';
|
|
8
|
+
import { AbstractObject } from './AbstractObject';
|
|
9
|
+
import { RpgCommonGame } from './Game';
|
|
10
|
+
import { Observable } from 'rxjs';
|
|
11
|
+
import { HitBox, MovingHitbox, Tick } from '@rpgjs/types';
|
|
6
12
|
export interface TileInfo {
|
|
7
13
|
tiles: Tile[];
|
|
8
14
|
hasCollision: boolean | undefined;
|
|
@@ -30,6 +36,7 @@ export declare class RpgCommonMap extends MapClass {
|
|
|
30
36
|
readonly id: string;
|
|
31
37
|
grid: VirtualGrid;
|
|
32
38
|
gridShapes: VirtualGrid;
|
|
39
|
+
gridTiles: VirtualGrid;
|
|
33
40
|
get tileWidth(): number;
|
|
34
41
|
get tileHeight(): number;
|
|
35
42
|
private worldMapParent;
|
|
@@ -158,4 +165,9 @@ export declare class RpgCommonMap extends MapClass {
|
|
|
158
165
|
* @memberof Map
|
|
159
166
|
*/
|
|
160
167
|
getInWorldMaps(): RpgCommonWorldMaps | undefined;
|
|
168
|
+
boundingMap(nextPosition: Vector2d, hitbox: SAT): {
|
|
169
|
+
bounding: boolean;
|
|
170
|
+
nextPosition: Vector2d;
|
|
171
|
+
} | null;
|
|
172
|
+
_createMovingHitbox<T extends RpgCommonGame>(gameEngine: T, tick$: Observable<Tick>, mapId: string, hitboxes: Pick<HitBox, 'width' | 'height' | 'x' | 'y'>[], options?: MovingHitbox): Observable<AbstractObject>;
|
|
161
173
|
}
|
package/lib/Map.js
CHANGED
|
@@ -1,11 +1,32 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
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
|
+
};
|
|
2
21
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
22
|
exports.RpgCommonMap = void 0;
|
|
4
|
-
const Utils_1 = require("./Utils");
|
|
23
|
+
const Utils_1 = __importStar(require("./Utils"));
|
|
5
24
|
const Shape_1 = require("./Shape");
|
|
6
25
|
const Hit_1 = require("./Hit");
|
|
7
26
|
const VirtualGrid_1 = require("./VirtualGrid");
|
|
8
27
|
const tiled_1 = require("@rpgjs/tiled");
|
|
28
|
+
const AbstractObject_1 = require("./AbstractObject");
|
|
29
|
+
const rxjs_1 = require("rxjs");
|
|
9
30
|
const buffer = new Map();
|
|
10
31
|
const bufferClient = new Map();
|
|
11
32
|
class RpgCommonMap extends tiled_1.MapClass {
|
|
@@ -67,6 +88,7 @@ class RpgCommonMap extends tiled_1.MapClass {
|
|
|
67
88
|
}
|
|
68
89
|
load(data) {
|
|
69
90
|
super.load(data);
|
|
91
|
+
this.gridTiles = new VirtualGrid_1.VirtualGrid(this.width, this.tileWidth, this.tileHeight);
|
|
70
92
|
this.grid = new VirtualGrid_1.VirtualGrid(this.width, this.tileWidth, this.tileHeight).zoom(10);
|
|
71
93
|
this.gridShapes = new VirtualGrid_1.VirtualGrid(this.width, this.tileWidth, this.tileHeight).zoom(20);
|
|
72
94
|
}
|
|
@@ -165,9 +187,11 @@ class RpgCommonMap extends tiled_1.MapClass {
|
|
|
165
187
|
x: tilePos.x,
|
|
166
188
|
y: tilePos.y
|
|
167
189
|
});
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
190
|
+
if (hit.type) {
|
|
191
|
+
const collided = Hit_1.Hit.testPolyCollision(hit.type, hit.hitbox, hitbox);
|
|
192
|
+
if (collided) {
|
|
193
|
+
tile.hasCollision = true;
|
|
194
|
+
}
|
|
171
195
|
}
|
|
172
196
|
}
|
|
173
197
|
}
|
|
@@ -209,6 +233,55 @@ class RpgCommonMap extends tiled_1.MapClass {
|
|
|
209
233
|
getInWorldMaps() {
|
|
210
234
|
return this.worldMapParent;
|
|
211
235
|
}
|
|
236
|
+
boundingMap(nextPosition, hitbox) {
|
|
237
|
+
let bounding = false;
|
|
238
|
+
if (nextPosition.x < 0) {
|
|
239
|
+
nextPosition.x = 0;
|
|
240
|
+
bounding = true;
|
|
241
|
+
}
|
|
242
|
+
else if (nextPosition.y < 0) {
|
|
243
|
+
nextPosition.y = 0;
|
|
244
|
+
bounding = true;
|
|
245
|
+
}
|
|
246
|
+
else if (nextPosition.x > this.widthPx - hitbox.w) {
|
|
247
|
+
nextPosition.x = this.widthPx - hitbox.w;
|
|
248
|
+
bounding = true;
|
|
249
|
+
}
|
|
250
|
+
else if (nextPosition.y > this.heightPx - hitbox.h) {
|
|
251
|
+
nextPosition.y = this.heightPx - hitbox.h;
|
|
252
|
+
bounding = true;
|
|
253
|
+
}
|
|
254
|
+
return {
|
|
255
|
+
bounding,
|
|
256
|
+
nextPosition
|
|
257
|
+
};
|
|
258
|
+
}
|
|
259
|
+
_createMovingHitbox(gameEngine, tick$, mapId, hitboxes, options = {}) {
|
|
260
|
+
var _a;
|
|
261
|
+
const object = new AbstractObject_1.AbstractObject(gameEngine, Utils_1.default.generateUID());
|
|
262
|
+
object.disableVirtualGrid = true;
|
|
263
|
+
object.map = mapId;
|
|
264
|
+
object.speed = (_a = options.speed) !== null && _a !== void 0 ? _a : 1;
|
|
265
|
+
let i = 0;
|
|
266
|
+
let frame = 0;
|
|
267
|
+
const destroyHitbox$ = new rxjs_1.Subject();
|
|
268
|
+
return tick$.pipe(rxjs_1.takeUntil(destroyHitbox$), rxjs_1.filter(() => {
|
|
269
|
+
frame++;
|
|
270
|
+
return frame % object.speed == 0;
|
|
271
|
+
}), rxjs_1.map(() => {
|
|
272
|
+
const hitbox = hitboxes[i];
|
|
273
|
+
if (!hitbox) {
|
|
274
|
+
destroyHitbox$.next(object);
|
|
275
|
+
destroyHitbox$.complete();
|
|
276
|
+
return object;
|
|
277
|
+
}
|
|
278
|
+
object.position.x = hitbox.x;
|
|
279
|
+
object.position.y = hitbox.y;
|
|
280
|
+
object.setHitbox(hitbox.width, hitbox.height);
|
|
281
|
+
i++;
|
|
282
|
+
return object;
|
|
283
|
+
}), rxjs_1.mergeMap((object) => rxjs_1.from(object.isCollided(object.position, { allSearch: true }))), rxjs_1.map(() => object));
|
|
284
|
+
}
|
|
212
285
|
}
|
|
213
286
|
exports.RpgCommonMap = RpgCommonMap;
|
|
214
287
|
//# 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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"}
|