@rpgjs/common 3.0.0-beta.3 → 3.0.0-beta.4
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/EventEmitter.d.ts +1 -0
- package/lib/EventEmitter.js +4 -0
- package/lib/EventEmitter.js.map +1 -1
- package/lib/Game.d.ts +5 -1
- package/lib/Game.js +3 -1
- package/lib/Game.js.map +1 -1
- package/lib/Hit.d.ts +1 -1
- package/lib/Map.d.ts +185 -9
- package/lib/Map.js +206 -8
- package/lib/Map.js.map +1 -1
- package/lib/Player.d.ts +76 -9
- package/lib/Player.js +88 -26
- package/lib/Player.js.map +1 -1
- package/lib/Plugin.d.ts +5 -2
- package/lib/Plugin.js +3 -0
- package/lib/Plugin.js.map +1 -1
- package/lib/Shape.d.ts +2 -2
- package/lib/Shape.js +2 -2
- package/lib/Utils.d.ts +8 -4
- package/lib/Utils.js +13 -2
- package/lib/Utils.js.map +1 -1
- package/package.json +2 -2
package/lib/EventEmitter.d.ts
CHANGED
package/lib/EventEmitter.js
CHANGED
package/lib/EventEmitter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EventEmitter.js","sourceRoot":"","sources":["../src/EventEmitter.ts"],"names":[],"mappings":";;;AAAA,mCAAmC;AAEnC,MAAa,YAAY;IAAzB;QACY,cAAS,GAEb,EAAE,CAAA;QAEE,kBAAa,GAEjB,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"EventEmitter.js","sourceRoot":"","sources":["../src/EventEmitter.ts"],"names":[],"mappings":";;;AAAA,mCAAmC;AAEnC,MAAa,YAAY;IAAzB;QACY,cAAS,GAEb,EAAE,CAAA;QAEE,kBAAa,GAEjB,EAAE,CAAA;IA0CV,CAAC;IAxCG,IAAI,CAAC,IAAY,EAAE,EAAY;QAC3B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,CAAA;QAC7B,OAAO,IAAI,CAAA;IACf,CAAC;IAED,EAAE,CAAC,IAAY,EAAE,EAAY;QACzB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;YAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,CAAA;QACpD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAC7B,OAAO,IAAI,CAAA;IACf,CAAC;IAED,IAAI,CAAC,IAAY,EAAE,IAAU,EAAE,OAAgB,KAAK;QAChD,MAAM,GAAG,GAAQ,EAAE,CAAA;QACnB,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;YACtB,KAAK,IAAI,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;gBACvC,IAAI,IAAI;oBAAE,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC,CAAA;;oBAChC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAA;aAChC;SACJ;aACI,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE;YAC/B,IAAI,IAAI;gBAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAA;;gBAChD,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;SAChD;QACD,OAAO,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YAC7B,IAAI,CAAC,iBAAS,CAAC,GAAG,CAAC,EAAE;gBACjB,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;aAC9B;YACD,OAAO,GAAG,CAAA;QACd,CAAC,CAAC,CAAC,CAAA;IACP,CAAC;IAED,GAAG,CAAC,IAAY;QACZ,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;QAC3B,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;IACnC,CAAC;IAED,KAAK;QACD,IAAI,CAAC,SAAS,GAAG,EAAE,CAAA;QACnB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAA;IAC3B,CAAC;CACJ;AAjDD,oCAiDC"}
|
package/lib/Game.d.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { EventEmitter } from './EventEmitter';
|
|
2
|
+
import { Direction } from './Player';
|
|
3
|
+
import { Control } from './Input';
|
|
2
4
|
export default class Game extends EventEmitter {
|
|
3
5
|
private side;
|
|
4
6
|
events: any;
|
|
@@ -8,5 +10,7 @@ export default class Game extends EventEmitter {
|
|
|
8
10
|
addObject(_class: any, playerId?: any): any;
|
|
9
11
|
addPlayer(playerClass: any, playerId: any): any;
|
|
10
12
|
addEvent(eventClass: any): any;
|
|
11
|
-
processInput(inputData:
|
|
13
|
+
processInput(inputData: {
|
|
14
|
+
input: Control | Direction;
|
|
15
|
+
}, playerId: string): void;
|
|
12
16
|
}
|
package/lib/Game.js
CHANGED
|
@@ -37,6 +37,7 @@ class Game extends EventEmitter_1.EventEmitter {
|
|
|
37
37
|
processInput(inputData, playerId) {
|
|
38
38
|
const player = this.world.getObject(playerId);
|
|
39
39
|
const { input } = inputData;
|
|
40
|
+
let moving = false;
|
|
40
41
|
if (!player)
|
|
41
42
|
return;
|
|
42
43
|
if (!player.canMove)
|
|
@@ -48,10 +49,11 @@ class Game extends EventEmitter_1.EventEmitter {
|
|
|
48
49
|
input == Player_1.Direction.Right ||
|
|
49
50
|
input == Player_1.Direction.Up ||
|
|
50
51
|
input == Player_1.Direction.Down) {
|
|
52
|
+
moving = true;
|
|
51
53
|
player.moveByDirection(input);
|
|
52
54
|
}
|
|
53
55
|
if (this.side == 'server')
|
|
54
|
-
Plugin_1.RpgPlugin.emit('Server.onInput', [player, inputData], true);
|
|
56
|
+
Plugin_1.RpgPlugin.emit('Server.onInput', [player, Object.assign(Object.assign({}, inputData), { moving })], true);
|
|
55
57
|
}
|
|
56
58
|
}
|
|
57
59
|
exports.default = Game;
|
package/lib/Game.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Game.js","sourceRoot":"","sources":["../src/Game.ts"],"names":[],"mappings":";;AAAA,mCAAqC;AACrC,iDAA6C;AAC7C,qCAAqD;AACrD,mCAAiC;AACjC,qCAAoC;AAEpC,MAAqB,IAAK,SAAQ,2BAAY;IAK1C,YAAoB,IAAY;QAC5B,KAAK,EAAE,CAAA;QADS,SAAI,GAAJ,IAAI,CAAQ;QAE5B,IAAI,CAAC,MAAM,GAAG,EAAE,CAAA,CAAC,+BAA+B;IACpD,CAAC;IAED,KAAK,CAAC,KAAK;QACP,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;IACtB,CAAC;IAED,SAAS,CAAC,MAAM,EAAE,QAAS;QACvB,IAAI,KAAK,CAAA;QACT,IAAI,CAAC,QAAQ;YAAE,QAAQ,GAAG,mBAAW,EAAE,CAAA;QACvC,IAAI,MAAM,CAAC,WAAW,CAAC,IAAI,IAAI,UAAU,EAAE;YACvC,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,QAAQ;QAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAA;QACpD,OAAO,MAAM,CAAA;IACjB,CAAC;IAED,QAAQ,CAAC,UAAU;QACf,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAA;QACxC,OAAO,KAAK,CAAA;IAChB,CAAC;IAED,YAAY,CAAC,
|
|
1
|
+
{"version":3,"file":"Game.js","sourceRoot":"","sources":["../src/Game.ts"],"names":[],"mappings":";;AAAA,mCAAqC;AACrC,iDAA6C;AAC7C,qCAAqD;AACrD,mCAAiC;AACjC,qCAAoC;AAEpC,MAAqB,IAAK,SAAQ,2BAAY;IAK1C,YAAoB,IAAY;QAC5B,KAAK,EAAE,CAAA;QADS,SAAI,GAAJ,IAAI,CAAQ;QAE5B,IAAI,CAAC,MAAM,GAAG,EAAE,CAAA,CAAC,+BAA+B;IACpD,CAAC;IAED,KAAK,CAAC,KAAK;QACP,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;IACtB,CAAC;IAED,SAAS,CAAC,MAAM,EAAE,QAAS;QACvB,IAAI,KAAK,CAAA;QACT,IAAI,CAAC,QAAQ;YAAE,QAAQ,GAAG,mBAAW,EAAE,CAAA;QACvC,IAAI,MAAM,CAAC,WAAW,CAAC,IAAI,IAAI,UAAU,EAAE;YACvC,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,QAAQ;QAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAA;QACpD,OAAO,MAAM,CAAA;IACjB,CAAC;IAED,QAAQ,CAAC,UAAU;QACf,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAA;QACxC,OAAO,KAAK,CAAA;IAChB,CAAC;IAED,YAAY,CAAC,SAAyC,EAAE,QAAgB;QACpE,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;QAC7C,MAAM,EAAE,KAAK,EAAE,GAAG,SAAS,CAAA;QAC3B,IAAI,MAAM,GAAG,KAAK,CAAA;QAElB,IAAI,CAAC,MAAM;YAAE,OAAM;QACnB,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,OAAM;QAE3B,IAAI,KAAK,IAAI,eAAO,CAAC,MAAM,EAAE;YACzB,MAAM,CAAC,oBAAoB,CAAC,wBAAe,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;SAC9D;aACI,IACD,KAAK,IAAI,kBAAS,CAAC,IAAI;YACvB,KAAK,IAAI,kBAAS,CAAC,KAAK;YACxB,KAAK,IAAI,kBAAS,CAAC,EAAE;YACrB,KAAK,IAAI,kBAAS,CAAC,IAAI,EACrB;YACF,MAAM,GAAG,IAAI,CAAA;YACb,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAA;SAChC;QACD,IAAI,IAAI,CAAC,IAAI,IAAI,QAAQ;YAAE,kBAAS,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,MAAM,kCAC5D,SAAS,KACZ,MAAM,IACR,EAAE,IAAI,CAAC,CAAA;IACb,CAAC;CACJ;AA7DD,uBA6DC"}
|
package/lib/Hit.d.ts
CHANGED
|
@@ -15,7 +15,7 @@ export interface HitObject {
|
|
|
15
15
|
name?: string;
|
|
16
16
|
}
|
|
17
17
|
declare class HitClass {
|
|
18
|
-
createObjectHitbox(x: number, y: number, z: number, w: number, h: number):
|
|
18
|
+
createObjectHitbox(x: number, y: number, z: number, w: number, h: number): SAT.Box;
|
|
19
19
|
getHitbox(obj: HitObject, offset?: {
|
|
20
20
|
x: number;
|
|
21
21
|
y: number;
|
package/lib/Map.d.ts
CHANGED
|
@@ -1,26 +1,100 @@
|
|
|
1
1
|
import { HitObject } from './Hit';
|
|
2
2
|
import { RpgShape } from './Shape';
|
|
3
|
-
interface TileInfo {
|
|
3
|
+
export interface TileInfo {
|
|
4
4
|
tiles: any[];
|
|
5
5
|
hasCollision: boolean;
|
|
6
6
|
isClimbable?: boolean;
|
|
7
7
|
isOverlay: boolean;
|
|
8
8
|
objectGroups: HitObject[];
|
|
9
|
+
tileIndex: number;
|
|
10
|
+
}
|
|
11
|
+
export interface LayerInfo {
|
|
12
|
+
type: string;
|
|
13
|
+
name: string;
|
|
14
|
+
opacity: number;
|
|
15
|
+
visible: boolean;
|
|
16
|
+
properties: any;
|
|
17
|
+
objects: HitObject[];
|
|
18
|
+
tiles: any[];
|
|
9
19
|
}
|
|
10
20
|
export default class RpgCommonMap {
|
|
21
|
+
/**
|
|
22
|
+
* @title Data of map
|
|
23
|
+
* @prop {object} [data]
|
|
24
|
+
* @readonly
|
|
25
|
+
* @memberof Map
|
|
26
|
+
* @memberof RpgSceneMap
|
|
27
|
+
* */
|
|
11
28
|
data: any;
|
|
12
29
|
width: number;
|
|
13
30
|
height: number;
|
|
31
|
+
/**
|
|
32
|
+
* @title Width of a tile
|
|
33
|
+
* @prop {number} [tileWidth]
|
|
34
|
+
* @readonly
|
|
35
|
+
* @memberof Map
|
|
36
|
+
* @memberof RpgSceneMap
|
|
37
|
+
* */
|
|
14
38
|
tileWidth: number;
|
|
39
|
+
/**
|
|
40
|
+
* @title Height of a tile
|
|
41
|
+
* @prop {number} [tileHeight]
|
|
42
|
+
* @readonly
|
|
43
|
+
* @memberof Map
|
|
44
|
+
* @memberof RpgSceneMap
|
|
45
|
+
* */
|
|
15
46
|
tileHeight: number;
|
|
16
|
-
|
|
47
|
+
/**
|
|
48
|
+
* @title Layers of map
|
|
49
|
+
* @prop {object[]} [layers]
|
|
50
|
+
* @readonly
|
|
51
|
+
* @memberof Map
|
|
52
|
+
* @memberof RpgSceneMap
|
|
53
|
+
* */
|
|
54
|
+
layers: LayerInfo[];
|
|
17
55
|
private shapes;
|
|
18
56
|
static get buffer(): Map<any, any>;
|
|
19
57
|
load(data: any): void;
|
|
58
|
+
/**
|
|
59
|
+
* @title Width of the map in pixels
|
|
60
|
+
* @prop {number} [widthPx]
|
|
61
|
+
* @readonly
|
|
62
|
+
* @memberof Map
|
|
63
|
+
* @memberof RpgSceneMap
|
|
64
|
+
* */
|
|
20
65
|
get widthPx(): number;
|
|
66
|
+
/**
|
|
67
|
+
* @title Height of the map in pixels
|
|
68
|
+
* @prop {number} [heightPx]
|
|
69
|
+
* @readonly
|
|
70
|
+
* @memberof Map
|
|
71
|
+
* @memberof RpgSceneMap
|
|
72
|
+
* */
|
|
21
73
|
get heightPx(): number;
|
|
74
|
+
/**
|
|
75
|
+
* @title The depth of the map in pixels (this is the height of a tile ;))
|
|
76
|
+
* @prop {number} map.zTileHeight
|
|
77
|
+
* @readonly
|
|
78
|
+
* @memberof Map
|
|
79
|
+
* @memberof RpgSceneMap
|
|
80
|
+
* */
|
|
22
81
|
get zTileHeight(): number;
|
|
23
82
|
_extractShapes(): void;
|
|
83
|
+
/**
|
|
84
|
+
* Find a layer by name. Returns `undefined` is the layer is not found
|
|
85
|
+
|
|
86
|
+
* @title Get Layer by name
|
|
87
|
+
* @method map.getLayerByName(name)
|
|
88
|
+
* @param {string} name layer name
|
|
89
|
+
* @returns {LayerInfo | undefined}
|
|
90
|
+
* @example
|
|
91
|
+
* ```ts
|
|
92
|
+
* const tiles = map.getLayerByName(0, 0)
|
|
93
|
+
* ```
|
|
94
|
+
* @memberof Map
|
|
95
|
+
* @memberof RpgSceneMap
|
|
96
|
+
*/
|
|
97
|
+
getLayerByName(name: string): LayerInfo | undefined;
|
|
24
98
|
/**
|
|
25
99
|
* Create a shape dynamically on the map
|
|
26
100
|
*
|
|
@@ -36,26 +110,128 @@ export default class RpgCommonMap {
|
|
|
36
110
|
* - You can your own properties
|
|
37
111
|
*
|
|
38
112
|
* @title Create Shape
|
|
39
|
-
* @since beta.3
|
|
113
|
+
* @since 3.0.0-beta.3
|
|
40
114
|
* @method map.createShape(obj)
|
|
115
|
+
* @param {object} obj
|
|
41
116
|
* @returns {RpgShape}
|
|
42
117
|
* @memberof Map
|
|
43
118
|
*/
|
|
44
119
|
createShape(obj: HitObject): RpgShape;
|
|
120
|
+
/**
|
|
121
|
+
* Delete a shape
|
|
122
|
+
*
|
|
123
|
+
* @title Get Shapes
|
|
124
|
+
* @method map.removeShape(name)
|
|
125
|
+
* @param {string} name Name of shape
|
|
126
|
+
* @returns {void}
|
|
127
|
+
* @memberof Map
|
|
128
|
+
*/
|
|
45
129
|
removeShape(name: string): void;
|
|
130
|
+
/**
|
|
131
|
+
* Return all shapes on the map
|
|
132
|
+
*
|
|
133
|
+
* @title Get Shapes
|
|
134
|
+
* @method map.getShapes()
|
|
135
|
+
* @returns {RpgShape[]}
|
|
136
|
+
* @memberof Map
|
|
137
|
+
* @memberof RpgSceneMap
|
|
138
|
+
*/
|
|
46
139
|
getShapes(): RpgShape[];
|
|
140
|
+
/**
|
|
141
|
+
* Returns a shape by its name. Returns undefined is nothing is found
|
|
142
|
+
*
|
|
143
|
+
* @title Get Shape by name
|
|
144
|
+
* @method map.getShape(name)
|
|
145
|
+
* @param {string} name Name of shape
|
|
146
|
+
* @returns {RpgShape[] | undefined}
|
|
147
|
+
* @memberof Map
|
|
148
|
+
* @memberof RpgSceneMap
|
|
149
|
+
*/
|
|
47
150
|
getShape(name: string): RpgShape | undefined;
|
|
48
|
-
getPositionByShape(filter:
|
|
151
|
+
getPositionByShape(filter: (shape: RpgShape) => {}): {
|
|
49
152
|
x: number;
|
|
50
153
|
y: number;
|
|
51
154
|
z: number;
|
|
52
155
|
} | null;
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
156
|
+
setTile(x: number, y: number, layerFilter: string | ((layer: any) => boolean), tileInfo: any): {
|
|
157
|
+
x: number;
|
|
158
|
+
y: number;
|
|
159
|
+
tiles: {
|
|
160
|
+
[tileIndex: number]: object;
|
|
161
|
+
};
|
|
162
|
+
};
|
|
163
|
+
/**
|
|
164
|
+
* Get the tile index on the tileset
|
|
165
|
+
*
|
|
166
|
+
* @title Get index of tile
|
|
167
|
+
* @method map.getTileIndex(x,y)
|
|
168
|
+
* @param {number} x Position X
|
|
169
|
+
* @param {number} x Position Y
|
|
170
|
+
* @returns {number}
|
|
171
|
+
* @memberof Map
|
|
172
|
+
* @memberof RpgSceneMap
|
|
173
|
+
*/
|
|
174
|
+
getTileIndex(x: number, y: number, [z]?: [number]): number;
|
|
175
|
+
/**
|
|
176
|
+
* Retrieves tiles according to its index
|
|
177
|
+
|
|
178
|
+
* @title Get tile by index
|
|
179
|
+
* @method map.getTileByIndex(tileIndex)
|
|
180
|
+
* @param {number} tileIndex tile index
|
|
181
|
+
* @returns {TileInfo}
|
|
182
|
+
* @example
|
|
183
|
+
* ```ts
|
|
184
|
+
* const index = map.getTileIndex(0, 0)
|
|
185
|
+
* const tiles = map.getTileByIndex(index)
|
|
186
|
+
* ```
|
|
187
|
+
* @memberof Map
|
|
188
|
+
* @memberof RpgSceneMap
|
|
189
|
+
*/
|
|
190
|
+
getTileByIndex(tileIndex: number, zPlayer?: [number, number]): TileInfo;
|
|
191
|
+
/**
|
|
192
|
+
* Find the point of origin (top left) of a tile. Of course, its position depends on the size of the tile
|
|
193
|
+
|
|
194
|
+
* @title Get origin position of tile
|
|
195
|
+
* @method map.getTileOriginPosition(x,y)
|
|
196
|
+
* @param {number} x Position X
|
|
197
|
+
* @param {number} x Position Y
|
|
198
|
+
* @returns { {x: number, y: number }}
|
|
199
|
+
* @example
|
|
200
|
+
* ```ts
|
|
201
|
+
* // If the size of a tile is 32x32px
|
|
202
|
+
* const position = map.getTileOriginPosition(35, 12)
|
|
203
|
+
* console.log(position) // { x: 32, y: 0 }
|
|
204
|
+
* ```
|
|
205
|
+
* @memberof Map
|
|
206
|
+
* @memberof RpgSceneMap
|
|
207
|
+
*/
|
|
208
|
+
getTileOriginPosition(x: number, y: number): {
|
|
56
209
|
x: number;
|
|
57
210
|
y: number;
|
|
58
211
|
};
|
|
59
|
-
|
|
212
|
+
/**
|
|
213
|
+
* Recover tiles according to a position
|
|
214
|
+
|
|
215
|
+
* @title Get tile by position
|
|
216
|
+
* @method map.getTileByPosition(x,y)
|
|
217
|
+
* @param {number} x Position X
|
|
218
|
+
* @param {number} x Position Y
|
|
219
|
+
* @returns {TileInfo}
|
|
220
|
+
* @example
|
|
221
|
+
* ```ts
|
|
222
|
+
* const tiles = map.getTileByPosition(0, 0)
|
|
223
|
+
* ```
|
|
224
|
+
* @memberof Map
|
|
225
|
+
* @memberof RpgSceneMap
|
|
226
|
+
*/
|
|
227
|
+
getTileByPosition(x: number, y: number, z?: [number, number]): TileInfo;
|
|
228
|
+
/**
|
|
229
|
+
* Get tile and verify collision with hitbox
|
|
230
|
+
* @param hitbox
|
|
231
|
+
* @param x
|
|
232
|
+
* @param y
|
|
233
|
+
* @param z
|
|
234
|
+
* @returns TileInfo
|
|
235
|
+
*/
|
|
236
|
+
getTile(hitbox: any, x: number, y: number, z?: [number, number]): TileInfo;
|
|
60
237
|
}
|
|
61
|
-
export {};
|
package/lib/Map.js
CHANGED
|
@@ -2,13 +2,35 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const Utils_1 = require("./Utils");
|
|
4
4
|
const Shape_1 = require("./Shape");
|
|
5
|
+
const Hit_1 = require("./Hit");
|
|
5
6
|
const buffer = new Map();
|
|
6
7
|
class RpgCommonMap {
|
|
7
8
|
constructor() {
|
|
8
9
|
this.width = 0;
|
|
9
10
|
this.height = 0;
|
|
11
|
+
/**
|
|
12
|
+
* @title Width of a tile
|
|
13
|
+
* @prop {number} [tileWidth]
|
|
14
|
+
* @readonly
|
|
15
|
+
* @memberof Map
|
|
16
|
+
* @memberof RpgSceneMap
|
|
17
|
+
* */
|
|
10
18
|
this.tileWidth = 0;
|
|
19
|
+
/**
|
|
20
|
+
* @title Height of a tile
|
|
21
|
+
* @prop {number} [tileHeight]
|
|
22
|
+
* @readonly
|
|
23
|
+
* @memberof Map
|
|
24
|
+
* @memberof RpgSceneMap
|
|
25
|
+
* */
|
|
11
26
|
this.tileHeight = 0;
|
|
27
|
+
/**
|
|
28
|
+
* @title Layers of map
|
|
29
|
+
* @prop {object[]} [layers]
|
|
30
|
+
* @readonly
|
|
31
|
+
* @memberof Map
|
|
32
|
+
* @memberof RpgSceneMap
|
|
33
|
+
* */
|
|
12
34
|
this.layers = [];
|
|
13
35
|
this.shapes = [];
|
|
14
36
|
}
|
|
@@ -24,12 +46,33 @@ class RpgCommonMap {
|
|
|
24
46
|
this.layers = data.layers;
|
|
25
47
|
this._extractShapes();
|
|
26
48
|
}
|
|
49
|
+
/**
|
|
50
|
+
* @title Width of the map in pixels
|
|
51
|
+
* @prop {number} [widthPx]
|
|
52
|
+
* @readonly
|
|
53
|
+
* @memberof Map
|
|
54
|
+
* @memberof RpgSceneMap
|
|
55
|
+
* */
|
|
27
56
|
get widthPx() {
|
|
28
57
|
return this.width * this.tileWidth;
|
|
29
58
|
}
|
|
59
|
+
/**
|
|
60
|
+
* @title Height of the map in pixels
|
|
61
|
+
* @prop {number} [heightPx]
|
|
62
|
+
* @readonly
|
|
63
|
+
* @memberof Map
|
|
64
|
+
* @memberof RpgSceneMap
|
|
65
|
+
* */
|
|
30
66
|
get heightPx() {
|
|
31
67
|
return this.height * this.tileHeight;
|
|
32
68
|
}
|
|
69
|
+
/**
|
|
70
|
+
* @title The depth of the map in pixels (this is the height of a tile ;))
|
|
71
|
+
* @prop {number} map.zTileHeight
|
|
72
|
+
* @readonly
|
|
73
|
+
* @memberof Map
|
|
74
|
+
* @memberof RpgSceneMap
|
|
75
|
+
* */
|
|
33
76
|
get zTileHeight() {
|
|
34
77
|
return this.tileHeight;
|
|
35
78
|
}
|
|
@@ -42,6 +85,23 @@ class RpgCommonMap {
|
|
|
42
85
|
}
|
|
43
86
|
}
|
|
44
87
|
}
|
|
88
|
+
/**
|
|
89
|
+
* Find a layer by name. Returns `undefined` is the layer is not found
|
|
90
|
+
|
|
91
|
+
* @title Get Layer by name
|
|
92
|
+
* @method map.getLayerByName(name)
|
|
93
|
+
* @param {string} name layer name
|
|
94
|
+
* @returns {LayerInfo | undefined}
|
|
95
|
+
* @example
|
|
96
|
+
* ```ts
|
|
97
|
+
* const tiles = map.getLayerByName(0, 0)
|
|
98
|
+
* ```
|
|
99
|
+
* @memberof Map
|
|
100
|
+
* @memberof RpgSceneMap
|
|
101
|
+
*/
|
|
102
|
+
getLayerByName(name) {
|
|
103
|
+
return this.layers.find(layer => layer.name == name);
|
|
104
|
+
}
|
|
45
105
|
/**
|
|
46
106
|
* Create a shape dynamically on the map
|
|
47
107
|
*
|
|
@@ -57,8 +117,9 @@ class RpgCommonMap {
|
|
|
57
117
|
* - You can your own properties
|
|
58
118
|
*
|
|
59
119
|
* @title Create Shape
|
|
60
|
-
* @since beta.3
|
|
120
|
+
* @since 3.0.0-beta.3
|
|
61
121
|
* @method map.createShape(obj)
|
|
122
|
+
* @param {object} obj
|
|
62
123
|
* @returns {RpgShape}
|
|
63
124
|
* @memberof Map
|
|
64
125
|
*/
|
|
@@ -70,13 +131,41 @@ class RpgCommonMap {
|
|
|
70
131
|
// trick to sync with client
|
|
71
132
|
return this.shapes[this.shapes.length - 1];
|
|
72
133
|
}
|
|
134
|
+
/**
|
|
135
|
+
* Delete a shape
|
|
136
|
+
*
|
|
137
|
+
* @title Get Shapes
|
|
138
|
+
* @method map.removeShape(name)
|
|
139
|
+
* @param {string} name Name of shape
|
|
140
|
+
* @returns {void}
|
|
141
|
+
* @memberof Map
|
|
142
|
+
*/
|
|
73
143
|
removeShape(name) {
|
|
74
144
|
// TODO: out players after delete shape
|
|
75
145
|
this.shapes = this.shapes.filter(shape => shape.name != name);
|
|
76
146
|
}
|
|
147
|
+
/**
|
|
148
|
+
* Return all shapes on the map
|
|
149
|
+
*
|
|
150
|
+
* @title Get Shapes
|
|
151
|
+
* @method map.getShapes()
|
|
152
|
+
* @returns {RpgShape[]}
|
|
153
|
+
* @memberof Map
|
|
154
|
+
* @memberof RpgSceneMap
|
|
155
|
+
*/
|
|
77
156
|
getShapes() {
|
|
78
157
|
return this.shapes;
|
|
79
158
|
}
|
|
159
|
+
/**
|
|
160
|
+
* Returns a shape by its name. Returns undefined is nothing is found
|
|
161
|
+
*
|
|
162
|
+
* @title Get Shape by name
|
|
163
|
+
* @method map.getShape(name)
|
|
164
|
+
* @param {string} name Name of shape
|
|
165
|
+
* @returns {RpgShape[] | undefined}
|
|
166
|
+
* @memberof Map
|
|
167
|
+
* @memberof RpgSceneMap
|
|
168
|
+
*/
|
|
80
169
|
getShape(name) {
|
|
81
170
|
return this.shapes.find(shape => shape.name == name);
|
|
82
171
|
}
|
|
@@ -88,10 +177,58 @@ class RpgCommonMap {
|
|
|
88
177
|
}
|
|
89
178
|
return null;
|
|
90
179
|
}
|
|
91
|
-
|
|
180
|
+
setTile(x, y, layerFilter, tileInfo) {
|
|
181
|
+
const tileIndex = this.getTileIndex(x, y);
|
|
182
|
+
let fnFilter;
|
|
183
|
+
let tilesEdited = {};
|
|
184
|
+
if (Utils_1.isString(layerFilter)) {
|
|
185
|
+
fnFilter = (layer) => layer.name == layerFilter;
|
|
186
|
+
}
|
|
187
|
+
else {
|
|
188
|
+
fnFilter = layerFilter;
|
|
189
|
+
}
|
|
190
|
+
for (let layer of this.layers) {
|
|
191
|
+
if (!fnFilter(layer))
|
|
192
|
+
continue;
|
|
193
|
+
tilesEdited[layer.name] = tileInfo;
|
|
194
|
+
layer.tiles[tileIndex] = tilesEdited[layer.name];
|
|
195
|
+
}
|
|
196
|
+
return {
|
|
197
|
+
x,
|
|
198
|
+
y,
|
|
199
|
+
tiles: tilesEdited
|
|
200
|
+
};
|
|
201
|
+
}
|
|
202
|
+
/**
|
|
203
|
+
* Get the tile index on the tileset
|
|
204
|
+
*
|
|
205
|
+
* @title Get index of tile
|
|
206
|
+
* @method map.getTileIndex(x,y)
|
|
207
|
+
* @param {number} x Position X
|
|
208
|
+
* @param {number} x Position Y
|
|
209
|
+
* @returns {number}
|
|
210
|
+
* @memberof Map
|
|
211
|
+
* @memberof RpgSceneMap
|
|
212
|
+
*/
|
|
213
|
+
getTileIndex(x, y, [z] = [0]) {
|
|
92
214
|
return this.width * Math.floor((y - z) / this.tileHeight) + Math.floor(x / this.tileWidth);
|
|
93
215
|
}
|
|
94
|
-
|
|
216
|
+
/**
|
|
217
|
+
* Retrieves tiles according to its index
|
|
218
|
+
|
|
219
|
+
* @title Get tile by index
|
|
220
|
+
* @method map.getTileByIndex(tileIndex)
|
|
221
|
+
* @param {number} tileIndex tile index
|
|
222
|
+
* @returns {TileInfo}
|
|
223
|
+
* @example
|
|
224
|
+
* ```ts
|
|
225
|
+
* const index = map.getTileIndex(0, 0)
|
|
226
|
+
* const tiles = map.getTileByIndex(index)
|
|
227
|
+
* ```
|
|
228
|
+
* @memberof Map
|
|
229
|
+
* @memberof RpgSceneMap
|
|
230
|
+
*/
|
|
231
|
+
getTileByIndex(tileIndex, zPlayer = [0, 0]) {
|
|
95
232
|
const tiles = [];
|
|
96
233
|
for (let layer of this.layers) {
|
|
97
234
|
if (layer.type != 'tile') {
|
|
@@ -101,7 +238,9 @@ class RpgCommonMap {
|
|
|
101
238
|
if (!_tiles) {
|
|
102
239
|
continue;
|
|
103
240
|
}
|
|
104
|
-
|
|
241
|
+
if (!_tiles.properties)
|
|
242
|
+
_tiles.properties = {};
|
|
243
|
+
const zLayer = layer.properties ? layer.properties.z : 0;
|
|
105
244
|
const zTile = _tiles.properties.z;
|
|
106
245
|
let z, zIntersection;
|
|
107
246
|
if (zLayer !== undefined) {
|
|
@@ -128,7 +267,8 @@ class RpgCommonMap {
|
|
|
128
267
|
tiles,
|
|
129
268
|
hasCollision: true,
|
|
130
269
|
isOverlay: false,
|
|
131
|
-
objectGroups: []
|
|
270
|
+
objectGroups: [],
|
|
271
|
+
tileIndex
|
|
132
272
|
};
|
|
133
273
|
}
|
|
134
274
|
const hasCollision = getLastTile.properties.collision;
|
|
@@ -140,19 +280,77 @@ class RpgCommonMap {
|
|
|
140
280
|
hasCollision,
|
|
141
281
|
isOverlay,
|
|
142
282
|
objectGroups,
|
|
143
|
-
isClimbable
|
|
283
|
+
isClimbable,
|
|
284
|
+
tileIndex
|
|
144
285
|
};
|
|
145
286
|
}
|
|
287
|
+
/**
|
|
288
|
+
* Find the point of origin (top left) of a tile. Of course, its position depends on the size of the tile
|
|
289
|
+
|
|
290
|
+
* @title Get origin position of tile
|
|
291
|
+
* @method map.getTileOriginPosition(x,y)
|
|
292
|
+
* @param {number} x Position X
|
|
293
|
+
* @param {number} x Position Y
|
|
294
|
+
* @returns { {x: number, y: number }}
|
|
295
|
+
* @example
|
|
296
|
+
* ```ts
|
|
297
|
+
* // If the size of a tile is 32x32px
|
|
298
|
+
* const position = map.getTileOriginPosition(35, 12)
|
|
299
|
+
* console.log(position) // { x: 32, y: 0 }
|
|
300
|
+
* ```
|
|
301
|
+
* @memberof Map
|
|
302
|
+
* @memberof RpgSceneMap
|
|
303
|
+
*/
|
|
146
304
|
getTileOriginPosition(x, y) {
|
|
147
305
|
return {
|
|
148
306
|
x: Math.floor(x / this.tileWidth) * this.tileWidth,
|
|
149
307
|
y: Math.floor(y / this.tileHeight) * this.tileHeight
|
|
150
308
|
};
|
|
151
309
|
}
|
|
152
|
-
|
|
153
|
-
|
|
310
|
+
/**
|
|
311
|
+
* Recover tiles according to a position
|
|
312
|
+
|
|
313
|
+
* @title Get tile by position
|
|
314
|
+
* @method map.getTileByPosition(x,y)
|
|
315
|
+
* @param {number} x Position X
|
|
316
|
+
* @param {number} x Position Y
|
|
317
|
+
* @returns {TileInfo}
|
|
318
|
+
* @example
|
|
319
|
+
* ```ts
|
|
320
|
+
* const tiles = map.getTileByPosition(0, 0)
|
|
321
|
+
* ```
|
|
322
|
+
* @memberof Map
|
|
323
|
+
* @memberof RpgSceneMap
|
|
324
|
+
*/
|
|
325
|
+
getTileByPosition(x, y, z = [0, 0]) {
|
|
326
|
+
const tileIndex = this.getTileIndex(x, y, [z[0]]);
|
|
154
327
|
return this.getTileByIndex(tileIndex, z);
|
|
155
328
|
}
|
|
329
|
+
/**
|
|
330
|
+
* Get tile and verify collision with hitbox
|
|
331
|
+
* @param hitbox
|
|
332
|
+
* @param x
|
|
333
|
+
* @param y
|
|
334
|
+
* @param z
|
|
335
|
+
* @returns TileInfo
|
|
336
|
+
*/
|
|
337
|
+
getTile(hitbox, x, y, z = [0, 0]) {
|
|
338
|
+
const tile = this.getTileByPosition(x, y, z);
|
|
339
|
+
const tilePos = this.getTileOriginPosition(x, y);
|
|
340
|
+
if (tile.objectGroups) {
|
|
341
|
+
for (let object of tile.objectGroups) {
|
|
342
|
+
const hit = Hit_1.Hit.getHitbox(object, {
|
|
343
|
+
x: tilePos.x,
|
|
344
|
+
y: tilePos.y
|
|
345
|
+
});
|
|
346
|
+
const collided = Hit_1.Hit.testPolyCollision(hit.type, hit.hitbox, hitbox);
|
|
347
|
+
if (collided) {
|
|
348
|
+
tile.hasCollision = true;
|
|
349
|
+
}
|
|
350
|
+
}
|
|
351
|
+
}
|
|
352
|
+
return tile;
|
|
353
|
+
}
|
|
156
354
|
}
|
|
157
355
|
exports.default = RpgCommonMap;
|
|
158
356
|
//# 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":";;AACA,
|
|
1
|
+
{"version":3,"file":"Map.js","sourceRoot":"","sources":["../src/Map.ts"],"names":[],"mappings":"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"}
|
package/lib/Player.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { RpgShape } from './Shape';
|
|
2
|
-
import
|
|
2
|
+
import SAT from 'sat';
|
|
3
|
+
import Map, { TileInfo } from './Map';
|
|
3
4
|
export declare type Position = {
|
|
4
5
|
x: number;
|
|
5
6
|
y: number;
|
|
@@ -26,7 +27,8 @@ export declare class RpgCommonPlayer {
|
|
|
26
27
|
speed: number;
|
|
27
28
|
events: any[];
|
|
28
29
|
direction: number;
|
|
29
|
-
collisionWith
|
|
30
|
+
private collisionWith;
|
|
31
|
+
private _collisionWithTiles;
|
|
30
32
|
data: any;
|
|
31
33
|
hitbox: any;
|
|
32
34
|
inShapes: {
|
|
@@ -58,6 +60,30 @@ export declare class RpgCommonPlayer {
|
|
|
58
60
|
set posY(val: any);
|
|
59
61
|
set posZ(val: any);
|
|
60
62
|
get mapInstance(): Map;
|
|
63
|
+
/**
|
|
64
|
+
*
|
|
65
|
+
* Recovers all the colliding tiles of the current player
|
|
66
|
+
*
|
|
67
|
+
* @title Get Collision of tiles
|
|
68
|
+
* @since 3.0.0-beta.4
|
|
69
|
+
* @readonly
|
|
70
|
+
* @prop { TileInfo[] } tiles
|
|
71
|
+
* @memberof Player
|
|
72
|
+
* @memberof RpgSpriteLogic
|
|
73
|
+
*/
|
|
74
|
+
get tilesCollision(): TileInfo[];
|
|
75
|
+
/**
|
|
76
|
+
*
|
|
77
|
+
* Recovers all other players and events colliding with the current player's hitbox
|
|
78
|
+
*
|
|
79
|
+
* @title Get Collision of other players/events
|
|
80
|
+
* @since 3.0.0-beta.4
|
|
81
|
+
* @readonly
|
|
82
|
+
* @prop { (RpgPlayer | Rpgvent)[] } otherPlayersCollision
|
|
83
|
+
* @memberof Player
|
|
84
|
+
* @memberof RpgSpriteLogic
|
|
85
|
+
*/
|
|
86
|
+
get otherPlayersCollision(): RpgCommonPlayer[];
|
|
61
87
|
/**
|
|
62
88
|
* Define the size of the player. You can set the hitbox for collisions
|
|
63
89
|
*
|
|
@@ -100,10 +126,7 @@ export declare class RpgCommonPlayer {
|
|
|
100
126
|
* Define the hitbox of the player.
|
|
101
127
|
*
|
|
102
128
|
* ```ts
|
|
103
|
-
* player.setHitbox(
|
|
104
|
-
* width: 20,
|
|
105
|
-
* height: 20
|
|
106
|
-
* })
|
|
129
|
+
* player.setHitbox(20, 20)
|
|
107
130
|
* ```
|
|
108
131
|
*
|
|
109
132
|
* @title Set Hitbox
|
|
@@ -128,6 +151,49 @@ export declare class RpgCommonPlayer {
|
|
|
128
151
|
triggerCollisionWith(type?: number): void;
|
|
129
152
|
zCollision(other: any): boolean;
|
|
130
153
|
moveByDirection(direction: Direction): boolean;
|
|
154
|
+
/**
|
|
155
|
+
* Retrieves a tile and checks if the player has a collision
|
|
156
|
+
*
|
|
157
|
+
* ```ts
|
|
158
|
+
* const tileInfo = player.getTile(20, 30)
|
|
159
|
+
* console.log(tileInfo)
|
|
160
|
+
* ```
|
|
161
|
+
*
|
|
162
|
+
* Example of returns:
|
|
163
|
+
*
|
|
164
|
+
```ts
|
|
165
|
+
{
|
|
166
|
+
tiles: [
|
|
167
|
+
{
|
|
168
|
+
id: 0,
|
|
169
|
+
terrain: [],
|
|
170
|
+
probability: null,
|
|
171
|
+
properties: [Object],
|
|
172
|
+
animations: [],
|
|
173
|
+
objectGroups: [],
|
|
174
|
+
image: null,
|
|
175
|
+
gid: 1
|
|
176
|
+
}
|
|
177
|
+
],
|
|
178
|
+
hasCollision: false,
|
|
179
|
+
isOverlay: undefined,
|
|
180
|
+
objectGroups: [],
|
|
181
|
+
isClimbable: undefined,
|
|
182
|
+
tileIndex: 93
|
|
183
|
+
}
|
|
184
|
+
```
|
|
185
|
+
*
|
|
186
|
+
* @title Get Tile
|
|
187
|
+
* @since 3.0.0-beta.4
|
|
188
|
+
* @method player.getTile(x,y,z?)
|
|
189
|
+
* @param {number} x
|
|
190
|
+
* @param {number} y
|
|
191
|
+
* @param {number} [z]
|
|
192
|
+
* @returns {object}
|
|
193
|
+
* @memberof Player
|
|
194
|
+
* @memberof RpgSpriteLogic
|
|
195
|
+
*/
|
|
196
|
+
getTile(x: number, y: number, z?: number, hitbox?: SAT.Box): TileInfo;
|
|
131
197
|
isCollided(nextPosition: Position): boolean;
|
|
132
198
|
/**
|
|
133
199
|
* Attach a shape to the player (and allow interaction with it)
|
|
@@ -148,7 +214,7 @@ export declare class RpgCommonPlayer {
|
|
|
148
214
|
* - positioning: Indicate where the shape is placed.
|
|
149
215
|
* - properties: An object in order to retrieve information when interacting with the shape
|
|
150
216
|
* - name: The name of the shape
|
|
151
|
-
* @since beta.3
|
|
217
|
+
* @since 3.0.0-beta.3
|
|
152
218
|
* @returns {RpgShape}
|
|
153
219
|
* @memberof Player
|
|
154
220
|
*/
|
|
@@ -165,8 +231,9 @@ export declare class RpgCommonPlayer {
|
|
|
165
231
|
* @title Get Shapes
|
|
166
232
|
* @method player.getShapes()
|
|
167
233
|
* @returns {RpgShape[]}
|
|
168
|
-
* @since beta.3
|
|
234
|
+
* @since 3.0.0-beta.3
|
|
169
235
|
* @memberof Player
|
|
236
|
+
* @memberof RpgSpriteLogic
|
|
170
237
|
*/
|
|
171
238
|
getShapes(): RpgShape[];
|
|
172
239
|
collisionWithShape(shape: RpgShape, player: RpgCommonPlayer, nextPosition?: Position): boolean;
|
|
@@ -177,7 +244,7 @@ export declare class RpgCommonPlayer {
|
|
|
177
244
|
* @title Get In-Shapes
|
|
178
245
|
* @method player.getInShapes()
|
|
179
246
|
* @returns {RpgShape[]}
|
|
180
|
-
* @since beta.3
|
|
247
|
+
* @since 3.0.0-beta.3
|
|
181
248
|
* @memberof Player
|
|
182
249
|
*/
|
|
183
250
|
getInShapes(): RpgShape[];
|
package/lib/Player.js
CHANGED
|
@@ -9,6 +9,8 @@ const Hit_1 = require("./Hit");
|
|
|
9
9
|
const Shape_1 = require("./Shape");
|
|
10
10
|
const sat_1 = __importDefault(require("sat"));
|
|
11
11
|
const Map_1 = __importDefault(require("./Map"));
|
|
12
|
+
const Plugin_1 = require("./Plugin");
|
|
13
|
+
const _1 = require(".");
|
|
12
14
|
const ACTIONS = { IDLE: 0, RUN: 1, ACTION: 2 };
|
|
13
15
|
var Direction;
|
|
14
16
|
(function (Direction) {
|
|
@@ -33,6 +35,7 @@ class RpgCommonPlayer {
|
|
|
33
35
|
this.events = [];
|
|
34
36
|
this.direction = 0;
|
|
35
37
|
this.collisionWith = [];
|
|
38
|
+
this._collisionWithTiles = [];
|
|
36
39
|
this.data = {};
|
|
37
40
|
this.inShapes = {};
|
|
38
41
|
this.shapes = [];
|
|
@@ -93,6 +96,34 @@ class RpgCommonPlayer {
|
|
|
93
96
|
get mapInstance() {
|
|
94
97
|
return Map_1.default.buffer.get(this.map);
|
|
95
98
|
}
|
|
99
|
+
/**
|
|
100
|
+
*
|
|
101
|
+
* Recovers all the colliding tiles of the current player
|
|
102
|
+
*
|
|
103
|
+
* @title Get Collision of tiles
|
|
104
|
+
* @since 3.0.0-beta.4
|
|
105
|
+
* @readonly
|
|
106
|
+
* @prop { TileInfo[] } tiles
|
|
107
|
+
* @memberof Player
|
|
108
|
+
* @memberof RpgSpriteLogic
|
|
109
|
+
*/
|
|
110
|
+
get tilesCollision() {
|
|
111
|
+
return this._collisionWithTiles;
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
*
|
|
115
|
+
* Recovers all other players and events colliding with the current player's hitbox
|
|
116
|
+
*
|
|
117
|
+
* @title Get Collision of other players/events
|
|
118
|
+
* @since 3.0.0-beta.4
|
|
119
|
+
* @readonly
|
|
120
|
+
* @prop { (RpgPlayer | Rpgvent)[] } otherPlayersCollision
|
|
121
|
+
* @memberof Player
|
|
122
|
+
* @memberof RpgSpriteLogic
|
|
123
|
+
*/
|
|
124
|
+
get otherPlayersCollision() {
|
|
125
|
+
return this.collisionWith;
|
|
126
|
+
}
|
|
96
127
|
/**
|
|
97
128
|
* Define the size of the player. You can set the hitbox for collisions
|
|
98
129
|
*
|
|
@@ -134,10 +165,7 @@ class RpgCommonPlayer {
|
|
|
134
165
|
* Define the hitbox of the player.
|
|
135
166
|
*
|
|
136
167
|
* ```ts
|
|
137
|
-
* player.setHitbox(
|
|
138
|
-
* width: 20,
|
|
139
|
-
* height: 20
|
|
140
|
-
* })
|
|
168
|
+
* player.setHitbox(20, 20)
|
|
141
169
|
* ```
|
|
142
170
|
*
|
|
143
171
|
* @title Set Hitbox
|
|
@@ -233,8 +261,55 @@ class RpgCommonPlayer {
|
|
|
233
261
|
const nextPosition = this.defineNextPosition(direction);
|
|
234
262
|
return this.move(nextPosition);
|
|
235
263
|
}
|
|
264
|
+
/**
|
|
265
|
+
* Retrieves a tile and checks if the player has a collision
|
|
266
|
+
*
|
|
267
|
+
* ```ts
|
|
268
|
+
* const tileInfo = player.getTile(20, 30)
|
|
269
|
+
* console.log(tileInfo)
|
|
270
|
+
* ```
|
|
271
|
+
*
|
|
272
|
+
* Example of returns:
|
|
273
|
+
*
|
|
274
|
+
```ts
|
|
275
|
+
{
|
|
276
|
+
tiles: [
|
|
277
|
+
{
|
|
278
|
+
id: 0,
|
|
279
|
+
terrain: [],
|
|
280
|
+
probability: null,
|
|
281
|
+
properties: [Object],
|
|
282
|
+
animations: [],
|
|
283
|
+
objectGroups: [],
|
|
284
|
+
image: null,
|
|
285
|
+
gid: 1
|
|
286
|
+
}
|
|
287
|
+
],
|
|
288
|
+
hasCollision: false,
|
|
289
|
+
isOverlay: undefined,
|
|
290
|
+
objectGroups: [],
|
|
291
|
+
isClimbable: undefined,
|
|
292
|
+
tileIndex: 93
|
|
293
|
+
}
|
|
294
|
+
```
|
|
295
|
+
*
|
|
296
|
+
* @title Get Tile
|
|
297
|
+
* @since 3.0.0-beta.4
|
|
298
|
+
* @method player.getTile(x,y,z?)
|
|
299
|
+
* @param {number} x
|
|
300
|
+
* @param {number} y
|
|
301
|
+
* @param {number} [z]
|
|
302
|
+
* @returns {object}
|
|
303
|
+
* @memberof Player
|
|
304
|
+
* @memberof RpgSpriteLogic
|
|
305
|
+
*/
|
|
306
|
+
getTile(x, y, z = 0, hitbox) {
|
|
307
|
+
const map = this.mapInstance;
|
|
308
|
+
return map.getTile(hitbox || this.hitbox, x, y, [z, this.height]);
|
|
309
|
+
}
|
|
236
310
|
isCollided(nextPosition) {
|
|
237
311
|
this.collisionWith = [];
|
|
312
|
+
this._collisionWithTiles = [];
|
|
238
313
|
const map = this.mapInstance;
|
|
239
314
|
const hitbox = Hit_1.Hit.createObjectHitbox(nextPosition.x, nextPosition.y, 0, this.hitbox.w, this.hitbox.h);
|
|
240
315
|
if (!map) {
|
|
@@ -256,28 +331,12 @@ class RpgCommonPlayer {
|
|
|
256
331
|
this.posY = map.heightPx - this.hitbox.h;
|
|
257
332
|
return true;
|
|
258
333
|
}
|
|
259
|
-
let isClimbable = false;
|
|
260
334
|
const tileCollision = (x, y) => {
|
|
261
|
-
const tile =
|
|
262
|
-
const tilePos = map.getTileOriginPosition(x, y);
|
|
335
|
+
const tile = this.getTile(x, y, nextPosition.z, hitbox);
|
|
263
336
|
if (tile.hasCollision) {
|
|
337
|
+
this._collisionWithTiles.push(tile);
|
|
264
338
|
return true;
|
|
265
339
|
}
|
|
266
|
-
else if (tile.objectGroups) {
|
|
267
|
-
for (let object of tile.objectGroups) {
|
|
268
|
-
const hit = Hit_1.Hit.getHitbox(object, {
|
|
269
|
-
x: tilePos.x,
|
|
270
|
-
y: tilePos.y
|
|
271
|
-
});
|
|
272
|
-
const collided = Hit_1.Hit.testPolyCollision(hit.type, hit.hitbox, hitbox);
|
|
273
|
-
if (collided) {
|
|
274
|
-
return true;
|
|
275
|
-
}
|
|
276
|
-
}
|
|
277
|
-
}
|
|
278
|
-
if (!isClimbable && tile.isClimbable) {
|
|
279
|
-
isClimbable = true;
|
|
280
|
-
}
|
|
281
340
|
return false;
|
|
282
341
|
};
|
|
283
342
|
if (tileCollision(nextPosition.x, nextPosition.y) ||
|
|
@@ -342,7 +401,7 @@ class RpgCommonPlayer {
|
|
|
342
401
|
* - positioning: Indicate where the shape is placed.
|
|
343
402
|
* - properties: An object in order to retrieve information when interacting with the shape
|
|
344
403
|
* - name: The name of the shape
|
|
345
|
-
* @since beta.3
|
|
404
|
+
* @since 3.0.0-beta.3
|
|
346
405
|
* @returns {RpgShape}
|
|
347
406
|
* @memberof Player
|
|
348
407
|
*/
|
|
@@ -358,8 +417,9 @@ class RpgCommonPlayer {
|
|
|
358
417
|
* @title Get Shapes
|
|
359
418
|
* @method player.getShapes()
|
|
360
419
|
* @returns {RpgShape[]}
|
|
361
|
-
* @since beta.3
|
|
420
|
+
* @since 3.0.0-beta.3
|
|
362
421
|
* @memberof Player
|
|
422
|
+
* @memberof RpgSpriteLogic
|
|
363
423
|
*/
|
|
364
424
|
getShapes() {
|
|
365
425
|
return this.shapes;
|
|
@@ -414,8 +474,10 @@ class RpgCommonPlayer {
|
|
|
414
474
|
}
|
|
415
475
|
}
|
|
416
476
|
}
|
|
417
|
-
|
|
477
|
+
const collided = testCollision && !this.isCollided(nextPosition);
|
|
478
|
+
if (collided) {
|
|
418
479
|
this.position = nextPosition;
|
|
480
|
+
Plugin_1.RpgPlugin.emit(_1.HookServer.PlayerMove, this);
|
|
419
481
|
}
|
|
420
482
|
return true;
|
|
421
483
|
}
|
|
@@ -425,7 +487,7 @@ class RpgCommonPlayer {
|
|
|
425
487
|
* @title Get In-Shapes
|
|
426
488
|
* @method player.getInShapes()
|
|
427
489
|
* @returns {RpgShape[]}
|
|
428
|
-
* @since beta.3
|
|
490
|
+
* @since 3.0.0-beta.3
|
|
429
491
|
* @memberof Player
|
|
430
492
|
*/
|
|
431
493
|
getInShapes() {
|
package/lib/Player.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Player.js","sourceRoot":"","sources":["../src/Player.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Player.js","sourceRoot":"","sources":["../src/Player.ts"],"names":[],"mappings":"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"}
|
package/lib/Plugin.d.ts
CHANGED
|
@@ -7,6 +7,7 @@ declare type PluginSides = {
|
|
|
7
7
|
export declare type Plugin = PluginSides | [PluginSides, any];
|
|
8
8
|
export declare enum HookServer {
|
|
9
9
|
Start = "Server.Start",
|
|
10
|
+
Step = "Server.Step",
|
|
10
11
|
PlayerConnected = "Server.onConnected",
|
|
11
12
|
PlayerDisconnected = "Server.onDisconnected",
|
|
12
13
|
AddMap = "Server.AddMap",
|
|
@@ -17,7 +18,8 @@ export declare enum HookServer {
|
|
|
17
18
|
PlayerLevelUp = "Server.onLevelUp",
|
|
18
19
|
PlayerDead = "Server.onDead",
|
|
19
20
|
PlayerInShape = "Server.onInShape",
|
|
20
|
-
PlayerOutShape = "Server.onOutShape"
|
|
21
|
+
PlayerOutShape = "Server.onOutShape",
|
|
22
|
+
PlayerMove = "Server.PlayerMove"
|
|
21
23
|
}
|
|
22
24
|
export declare enum HookClient {
|
|
23
25
|
Start = "Client.Start",
|
|
@@ -40,7 +42,8 @@ export declare enum HookClient {
|
|
|
40
42
|
RemoveSprite = "Client.RemoveSprite",
|
|
41
43
|
UpdateSprite = "Client.UpdateSprite",
|
|
42
44
|
ChangesSprite = "Client.ChangesSprite",
|
|
43
|
-
WindowResize = "Client.WindowResize"
|
|
45
|
+
WindowResize = "Client.WindowResize",
|
|
46
|
+
SpriteMove = "Client.SpriteMove"
|
|
44
47
|
}
|
|
45
48
|
export declare class PluginSystem extends EventEmitter {
|
|
46
49
|
private loadPlugins;
|
package/lib/Plugin.js
CHANGED
|
@@ -6,6 +6,7 @@ const Utils_1 = require("./Utils");
|
|
|
6
6
|
var HookServer;
|
|
7
7
|
(function (HookServer) {
|
|
8
8
|
HookServer["Start"] = "Server.Start";
|
|
9
|
+
HookServer["Step"] = "Server.Step";
|
|
9
10
|
HookServer["PlayerConnected"] = "Server.onConnected";
|
|
10
11
|
HookServer["PlayerDisconnected"] = "Server.onDisconnected";
|
|
11
12
|
HookServer["AddMap"] = "Server.AddMap";
|
|
@@ -17,6 +18,7 @@ var HookServer;
|
|
|
17
18
|
HookServer["PlayerDead"] = "Server.onDead";
|
|
18
19
|
HookServer["PlayerInShape"] = "Server.onInShape";
|
|
19
20
|
HookServer["PlayerOutShape"] = "Server.onOutShape";
|
|
21
|
+
HookServer["PlayerMove"] = "Server.PlayerMove";
|
|
20
22
|
})(HookServer = exports.HookServer || (exports.HookServer = {}));
|
|
21
23
|
var HookClient;
|
|
22
24
|
(function (HookClient) {
|
|
@@ -41,6 +43,7 @@ var HookClient;
|
|
|
41
43
|
HookClient["UpdateSprite"] = "Client.UpdateSprite";
|
|
42
44
|
HookClient["ChangesSprite"] = "Client.ChangesSprite";
|
|
43
45
|
HookClient["WindowResize"] = "Client.WindowResize";
|
|
46
|
+
HookClient["SpriteMove"] = "Client.SpriteMove";
|
|
44
47
|
})(HookClient = exports.HookClient || (exports.HookClient = {}));
|
|
45
48
|
// deprecated
|
|
46
49
|
class PluginSystem extends EventEmitter_1.EventEmitter {
|
package/lib/Plugin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Plugin.js","sourceRoot":"","sources":["../src/Plugin.ts"],"names":[],"mappings":";;;AAAA,iDAA6C;AAC7C,mCAAiC;AAMjC,IAAY,
|
|
1
|
+
{"version":3,"file":"Plugin.js","sourceRoot":"","sources":["../src/Plugin.ts"],"names":[],"mappings":";;;AAAA,iDAA6C;AAC7C,mCAAiC;AAMjC,IAAY,UAeX;AAfD,WAAY,UAAU;IAClB,oCAAsB,CAAA;IACtB,kCAAoB,CAAA;IACpB,oDAAsC,CAAA;IACtC,0DAA4C,CAAA;IAC5C,sCAAwB,CAAA;IACxB,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;AACpC,CAAC,EAfW,UAAU,GAAV,kBAAU,KAAV,kBAAU,QAerB;AAED,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,GAAV,kBAAU,KAAV,kBAAU,QA0BrB;AAED,aAAa;AACb,MAAa,YAAa,SAAQ,2BAAY;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,eAAO,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,iBACN,SAAS,EAAT,iBAAS,IACN,MAAM,GACV,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;AA5BD,oCA4BC;AAEY,QAAA,SAAS,GAAG,IAAI,YAAY,EAAE,CAAA"}
|
package/lib/Shape.d.ts
CHANGED
|
@@ -71,7 +71,7 @@ export declare class RpgShape {
|
|
|
71
71
|
* Whether the player is in this shape
|
|
72
72
|
*
|
|
73
73
|
* @title Player is in this shape ?
|
|
74
|
-
* @method shape.playerIsIn(player
|
|
74
|
+
* @method shape.playerIsIn(player)
|
|
75
75
|
* @returns {boolean}
|
|
76
76
|
* @memberof Shape
|
|
77
77
|
*/
|
|
@@ -82,7 +82,7 @@ export declare class RpgShape {
|
|
|
82
82
|
*
|
|
83
83
|
* @title Get Player Owner
|
|
84
84
|
* @method shape.getPlayerOwner()
|
|
85
|
-
* @returns {RpgPlayer
|
|
85
|
+
* @returns {RpgPlayer | undefined}
|
|
86
86
|
* @memberof Shape
|
|
87
87
|
*/
|
|
88
88
|
getPlayerOwner(): RpgCommonPlayer | undefined;
|
package/lib/Shape.js
CHANGED
|
@@ -131,7 +131,7 @@ class RpgShape {
|
|
|
131
131
|
* Whether the player is in this shape
|
|
132
132
|
*
|
|
133
133
|
* @title Player is in this shape ?
|
|
134
|
-
* @method shape.playerIsIn(player
|
|
134
|
+
* @method shape.playerIsIn(player)
|
|
135
135
|
* @returns {boolean}
|
|
136
136
|
* @memberof Shape
|
|
137
137
|
*/
|
|
@@ -146,7 +146,7 @@ class RpgShape {
|
|
|
146
146
|
*
|
|
147
147
|
* @title Get Player Owner
|
|
148
148
|
* @method shape.getPlayerOwner()
|
|
149
|
-
* @returns {RpgPlayer
|
|
149
|
+
* @returns {RpgPlayer | undefined}
|
|
150
150
|
* @memberof Shape
|
|
151
151
|
*/
|
|
152
152
|
getPlayerOwner() {
|
package/lib/Utils.d.ts
CHANGED
|
@@ -7,13 +7,16 @@ export declare function isArray(val: any): boolean;
|
|
|
7
7
|
export declare function isObject(val: any): boolean;
|
|
8
8
|
export declare function isString(val: any): boolean;
|
|
9
9
|
export declare function isInstanceOf(val: any, _class: any): boolean;
|
|
10
|
-
export declare function arrayUniq(array: any):
|
|
11
|
-
export declare function arrayFlat(array: any): any;
|
|
12
|
-
export declare function intersection([start1, end1]: [
|
|
10
|
+
export declare function arrayUniq(array: any[]): any[];
|
|
11
|
+
export declare function arrayFlat(array: any[]): any[];
|
|
12
|
+
export declare function intersection([start1, end1]: [number, number], [start2, end2]: [number, number]): boolean;
|
|
13
13
|
export declare function capitalize(s: any): string;
|
|
14
14
|
export declare function arrayEquals(a: any, b: any): any;
|
|
15
15
|
export declare function applyMixins(derivedCtor: any, baseCtors: any[]): void;
|
|
16
|
-
export declare function generateUID():
|
|
16
|
+
export declare function generateUID(): string;
|
|
17
|
+
export declare function createConstructor(...propNames: any[]): {
|
|
18
|
+
new (...propValues: any[]): {};
|
|
19
|
+
};
|
|
17
20
|
export declare function perlin(): {
|
|
18
21
|
rand_vect: () => {
|
|
19
22
|
x: number;
|
|
@@ -43,5 +46,6 @@ declare const _default: {
|
|
|
43
46
|
capitalize: typeof capitalize;
|
|
44
47
|
perlin: typeof perlin;
|
|
45
48
|
generateUID: typeof generateUID;
|
|
49
|
+
createConstructor: typeof createConstructor;
|
|
46
50
|
};
|
|
47
51
|
export default _default;
|
package/lib/Utils.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.perlin = exports.generateUID = exports.applyMixins = exports.arrayEquals = exports.capitalize = exports.intersection = exports.arrayFlat = exports.arrayUniq = exports.isInstanceOf = exports.isString = exports.isObject = exports.isArray = exports.isPromise = exports.isClass = exports.isFunction = exports.isBrowser = exports.random = void 0;
|
|
3
|
+
exports.perlin = exports.createConstructor = exports.generateUID = exports.applyMixins = exports.arrayEquals = exports.capitalize = exports.intersection = exports.arrayFlat = exports.arrayUniq = exports.isInstanceOf = exports.isString = exports.isObject = exports.isArray = exports.isPromise = exports.isClass = exports.isFunction = exports.isBrowser = exports.random = void 0;
|
|
4
4
|
function random(min, max) {
|
|
5
5
|
return Math.floor(Math.random() * (max - min + 1) + min);
|
|
6
6
|
}
|
|
@@ -80,6 +80,16 @@ function generateUID() {
|
|
|
80
80
|
return firstPart + secondPart;
|
|
81
81
|
}
|
|
82
82
|
exports.generateUID = generateUID;
|
|
83
|
+
function createConstructor(...propNames) {
|
|
84
|
+
return class {
|
|
85
|
+
constructor(...propValues) {
|
|
86
|
+
propNames.forEach((name, idx) => {
|
|
87
|
+
this[name] = propValues[idx];
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
exports.createConstructor = createConstructor;
|
|
83
93
|
function perlin() {
|
|
84
94
|
let perlin = {
|
|
85
95
|
rand_vect: function () {
|
|
@@ -146,6 +156,7 @@ exports.default = {
|
|
|
146
156
|
applyMixins,
|
|
147
157
|
capitalize,
|
|
148
158
|
perlin,
|
|
149
|
-
generateUID
|
|
159
|
+
generateUID,
|
|
160
|
+
createConstructor
|
|
150
161
|
};
|
|
151
162
|
//# sourceMappingURL=Utils.js.map
|
package/lib/Utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Utils.js","sourceRoot":"","sources":["../src/Utils.ts"],"names":[],"mappings":";;;AAAA,SAAgB,MAAM,CAAC,GAAG,EAAE,GAAG;IAC3B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAA;AAC5D,CAAC;AAFD,wBAEC;AAED,SAAgB,SAAS;IACrB,OAAO,OAAO,MAAM,KAAK,WAAW,CAAA;AACxC,CAAC;AAFD,8BAEC;AAED,SAAgB,UAAU,CAAC,GAAG;IAC1B,OAAO,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,mBAAmB,CAAA;AACxD,CAAC;AAFD,gCAEC;AAED,SAAgB,OAAO,CAAC,IAAI;IACxB,OAAO,OAAO,IAAI,KAAK,UAAU;WAC1B,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACnE,CAAC;AAHD,0BAGC;AAED,SAAgB,SAAS,CAAC,GAAG;IACzB,OAAO,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;AACrC,CAAC;AAFD,8BAEC;AAED,SAAgB,OAAO,CAAC,GAAG;IACvB,OAAO,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;AACnC,CAAC;AAFD,0BAEC;AAED,SAAgB,QAAQ,CAAC,GAAG;IACxB,OAAO,OAAO,GAAG,IAAI,QAAQ,CAAA;AACjC,CAAC;AAFD,4BAEC;AAED,SAAgB,QAAQ,CAAC,GAAG;IACxB,OAAO,OAAO,GAAG,IAAI,QAAQ,CAAA;AACjC,CAAC;AAFD,4BAEC;AAED,SAAgB,YAAY,CAAC,GAAG,EAAE,MAAM;IACpC,OAAO,GAAG,YAAY,MAAM,CAAA;AAChC,CAAC;AAFD,oCAEC;AAED,SAAgB,SAAS,CAAC,
|
|
1
|
+
{"version":3,"file":"Utils.js","sourceRoot":"","sources":["../src/Utils.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rpgjs/common",
|
|
3
|
-
"version": "3.0.0-beta.
|
|
3
|
+
"version": "3.0.0-beta.4",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"types": "./lib/index.d.ts",
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
"dependencies": {
|
|
21
21
|
"sat": "^0.8.0"
|
|
22
22
|
},
|
|
23
|
-
"gitHead": "
|
|
23
|
+
"gitHead": "95f49412eafe8f028fde9911446309477718239e",
|
|
24
24
|
"devDependencies": {
|
|
25
25
|
"typescript": "^4.3.5"
|
|
26
26
|
}
|