@rpgjs/client 3.0.0-beta.8 → 3.0.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/lib/Components/ColorComponent.d.ts +8 -0
- package/lib/Components/ColorComponent.js +20 -0
- package/lib/Components/ColorComponent.js.map +1 -0
- package/lib/Components/Component.d.ts +102 -0
- package/lib/Components/Component.js +236 -0
- package/lib/Components/Component.js.map +1 -0
- package/lib/Components/ImageComponent.d.ts +8 -0
- package/lib/Components/ImageComponent.js +18 -0
- package/lib/Components/ImageComponent.js.map +1 -0
- package/lib/Components/TextComponent.d.ts +5 -0
- package/lib/Components/TextComponent.js +12 -0
- package/lib/Components/TextComponent.js.map +1 -0
- package/lib/Components/TileComponent.d.ts +8 -0
- package/lib/Components/TileComponent.js +32 -0
- package/lib/Components/TileComponent.js.map +1 -0
- package/lib/Effects/Animation.d.ts +2 -2
- package/lib/Effects/Animation.js +9 -6
- package/lib/Effects/Animation.js.map +1 -1
- package/lib/GameEngine.d.ts +36 -2
- package/lib/GameEngine.js +120 -40
- package/lib/GameEngine.js.map +1 -1
- package/lib/KeyboardControls.js +0 -1
- package/lib/KeyboardControls.js.map +1 -1
- package/lib/Renderer.js +2 -2
- package/lib/Renderer.js.map +1 -1
- package/lib/Resources.js +2 -2
- package/lib/Resources.js.map +1 -1
- package/lib/RpgClient.d.ts +9 -9
- package/lib/RpgClientEngine.d.ts +10 -3
- package/lib/RpgClientEngine.js +126 -27
- package/lib/RpgClientEngine.js.map +1 -1
- package/lib/RpgGui.js +3 -3
- package/lib/RpgGui.js.map +1 -1
- package/lib/Scene/Map.d.ts +5 -5
- package/lib/Scene/Map.js +40 -67
- package/lib/Scene/Map.js.map +1 -1
- package/lib/Scene/Scene.d.ts +9 -7
- package/lib/Scene/Scene.js +10 -8
- package/lib/Scene/Scene.js.map +1 -1
- package/lib/Sound/RpgSound.js +1 -1
- package/lib/Sound/RpgSound.js.map +1 -1
- package/lib/Sound/Sounds.js +1 -1
- package/lib/Sound/Sounds.js.map +1 -1
- package/lib/Sprite/Character.d.ts +5 -74
- package/lib/Sprite/Character.js +22 -137
- package/lib/Sprite/Character.js.map +1 -1
- package/lib/Sprite/Spritesheets.js +1 -1
- package/lib/Sprite/Spritesheets.js.map +1 -1
- package/lib/Tilemap/CommonLayer.d.ts +9 -0
- package/lib/Tilemap/CommonLayer.js +21 -0
- package/lib/Tilemap/CommonLayer.js.map +1 -0
- package/lib/Tilemap/ImageLayer.d.ts +3 -2
- package/lib/Tilemap/ImageLayer.js +11 -7
- package/lib/Tilemap/ImageLayer.js.map +1 -1
- package/lib/Tilemap/Tile.d.ts +6 -7
- package/lib/Tilemap/Tile.js +29 -32
- package/lib/Tilemap/Tile.js.map +1 -1
- package/lib/Tilemap/TileLayer.d.ts +9 -6
- package/lib/Tilemap/TileLayer.js +28 -31
- package/lib/Tilemap/TileLayer.js.map +1 -1
- package/lib/Tilemap/TileSet.d.ts +4 -15
- package/lib/Tilemap/TileSet.js +11 -18
- package/lib/Tilemap/TileSet.js.map +1 -1
- package/lib/Tilemap/index.d.ts +16 -9
- package/lib/Tilemap/index.js +47 -28
- package/lib/Tilemap/index.js.map +1 -1
- package/lib/clientEntryPoint.js +1 -1
- package/lib/clientEntryPoint.js.map +1 -1
- package/lib/index.d.ts +2 -2
- package/lib/index.js +9 -4
- package/lib/index.js.map +1 -1
- package/package.json +7 -6
package/lib/Tilemap/Tile.d.ts
CHANGED
|
@@ -1,22 +1,21 @@
|
|
|
1
1
|
import { Texture } from "pixi.js";
|
|
2
2
|
import { RpgRectTileLayer } from "./TileLayer";
|
|
3
|
+
import TileSet from "./TileSet";
|
|
4
|
+
import { Tile as TiledTileClass } from '@rpgjs/tiled';
|
|
3
5
|
export default class Tile extends PIXI.AnimatedSprite {
|
|
4
6
|
private tile;
|
|
5
7
|
private tileSet;
|
|
6
|
-
|
|
7
|
-
private verticalFlip;
|
|
8
|
-
private diagonalFlip;
|
|
9
|
-
static getTextures(tile: any, tileSet: any): Texture[];
|
|
8
|
+
static getTextures(tile: TiledTileClass, tileSet: TileSet): Texture[];
|
|
10
9
|
animations: {
|
|
11
|
-
|
|
10
|
+
tileid: number;
|
|
12
11
|
duration: number;
|
|
13
12
|
}[];
|
|
14
13
|
_x: number;
|
|
15
14
|
_y: number;
|
|
16
|
-
gid: number;
|
|
17
15
|
pointsBufIndex: number;
|
|
18
16
|
properties: any;
|
|
19
|
-
constructor(tile:
|
|
17
|
+
constructor(tile: TiledTileClass, tileSet: TileSet);
|
|
18
|
+
get gid(): number;
|
|
20
19
|
setAnimation(frame: RpgRectTileLayer): void;
|
|
21
20
|
flip(): void;
|
|
22
21
|
}
|
package/lib/Tilemap/Tile.js
CHANGED
|
@@ -1,71 +1,68 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
class Tile extends PIXI.AnimatedSprite {
|
|
4
|
-
constructor(tile, tileSet
|
|
4
|
+
constructor(tile, tileSet) {
|
|
5
5
|
super(Tile.getTextures(tile, tileSet));
|
|
6
6
|
this.tile = tile;
|
|
7
7
|
this.tileSet = tileSet;
|
|
8
|
-
this.horizontalFlip = horizontalFlip;
|
|
9
|
-
this.verticalFlip = verticalFlip;
|
|
10
|
-
this.diagonalFlip = diagonalFlip;
|
|
11
8
|
this.animations = [];
|
|
12
9
|
this._x = 0;
|
|
13
10
|
this._y = 0;
|
|
14
|
-
this.gid = 0;
|
|
15
11
|
this.properties = {};
|
|
16
|
-
this.
|
|
17
|
-
this.
|
|
18
|
-
this.gid = 0;
|
|
19
|
-
this.animations = [];
|
|
12
|
+
this.animations = tile.animations || [];
|
|
13
|
+
this.properties = tile.properties;
|
|
20
14
|
this.textures = Tile.getTextures(tile, tileSet);
|
|
21
15
|
this.texture = this.textures[0];
|
|
22
|
-
Object.assign(this, tile);
|
|
23
16
|
this.flip();
|
|
24
17
|
}
|
|
25
18
|
static getTextures(tile, tileSet) {
|
|
26
19
|
const textures = [];
|
|
27
20
|
if (tile.animations && tile.animations.length) {
|
|
28
21
|
tile.animations.forEach(frame => {
|
|
29
|
-
textures.push(tileSet.textures[frame.
|
|
22
|
+
textures.push(tileSet.textures[frame.tileid].clone());
|
|
30
23
|
});
|
|
31
24
|
}
|
|
32
25
|
else {
|
|
33
|
-
textures.push(tileSet.textures[tile.gid - tileSet.
|
|
26
|
+
textures.push(tileSet.textures[tile.gid - tileSet.firstgid].clone());
|
|
34
27
|
}
|
|
35
28
|
return textures;
|
|
36
29
|
}
|
|
30
|
+
get gid() {
|
|
31
|
+
return this.tile.gid;
|
|
32
|
+
}
|
|
37
33
|
setAnimation(frame) {
|
|
38
34
|
const size = this.animations.length;
|
|
39
35
|
if (size > 1) {
|
|
40
|
-
const offest = (this.animations[1].
|
|
36
|
+
const offest = (this.animations[1].tileid - this.animations[0].tileid) * this.width;
|
|
41
37
|
frame.tileAnimX(offest, size);
|
|
42
38
|
}
|
|
43
39
|
}
|
|
44
40
|
flip() {
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
41
|
+
let symmetry;
|
|
42
|
+
let i = 0;
|
|
43
|
+
const add = (symmetrySecond) => {
|
|
44
|
+
i++;
|
|
45
|
+
if (symmetry)
|
|
46
|
+
symmetry = PIXI.groupD8.add(symmetry, symmetrySecond);
|
|
47
|
+
else
|
|
48
|
+
symmetry = symmetrySecond;
|
|
49
|
+
};
|
|
50
|
+
if (this.tile.horizontalFlip) {
|
|
51
|
+
add(PIXI.groupD8.MIRROR_HORIZONTAL);
|
|
48
52
|
}
|
|
49
|
-
if (this.verticalFlip) {
|
|
50
|
-
|
|
51
|
-
this.scale.y = -1;
|
|
53
|
+
if (this.tile.verticalFlip) {
|
|
54
|
+
add(PIXI.groupD8.MIRROR_VERTICAL);
|
|
52
55
|
}
|
|
53
|
-
if (this.diagonalFlip) {
|
|
54
|
-
if (
|
|
55
|
-
|
|
56
|
-
this.scale.x = 1;
|
|
57
|
-
this.anchor.y = 1;
|
|
58
|
-
this.scale.y = 1;
|
|
59
|
-
this.rotation = PIXI.DEG_TO_RAD * 90;
|
|
56
|
+
if (this.tile.diagonalFlip) {
|
|
57
|
+
if (i % 2 == 0) {
|
|
58
|
+
add(PIXI.groupD8.MAIN_DIAGONAL);
|
|
60
59
|
}
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
this.scale.x = 1;
|
|
64
|
-
this.anchor.y = 0;
|
|
65
|
-
this.scale.y = 1;
|
|
66
|
-
this.rotation = PIXI.DEG_TO_RAD * -90;
|
|
60
|
+
else {
|
|
61
|
+
add(PIXI.groupD8.REVERSE_DIAGONAL);
|
|
67
62
|
}
|
|
68
63
|
}
|
|
64
|
+
if (symmetry)
|
|
65
|
+
this.texture.rotate = symmetry;
|
|
69
66
|
}
|
|
70
67
|
}
|
|
71
68
|
exports.default = Tile;
|
package/lib/Tilemap/Tile.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tile.js","sourceRoot":"","sources":["../../src/Tilemap/Tile.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"Tile.js","sourceRoot":"","sources":["../../src/Tilemap/Tile.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +1,20 @@
|
|
|
1
1
|
import { CompositeRectTileLayer } from 'pixi-tilemap';
|
|
2
|
+
import { Layer, Tile as TileClass } from '@rpgjs/tiled';
|
|
3
|
+
import TileSet from './TileSet';
|
|
4
|
+
import TileMap from '.';
|
|
5
|
+
import { CommonLayer } from './CommonLayer';
|
|
2
6
|
export interface RpgRectTileLayer extends CompositeRectTileLayer {
|
|
3
7
|
children: {
|
|
4
8
|
pointsBuf: number[];
|
|
5
9
|
modificationMarker: number;
|
|
6
10
|
}[];
|
|
7
11
|
}
|
|
8
|
-
export default class TileLayer extends
|
|
9
|
-
private layer;
|
|
12
|
+
export default class TileLayer extends CommonLayer {
|
|
10
13
|
private tileSets;
|
|
11
14
|
private tilemap;
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
static findTileSet(gid:
|
|
15
|
-
constructor(layer:
|
|
15
|
+
private _tiles;
|
|
16
|
+
tiles: (TileClass | null)[];
|
|
17
|
+
static findTileSet(gid: number, tileSets: TileSet[]): TileSet | undefined;
|
|
18
|
+
constructor(layer: Layer, tileSets: TileSet[], map: TileMap);
|
|
16
19
|
private addFrame;
|
|
17
20
|
}
|
package/lib/Tilemap/TileLayer.js
CHANGED
|
@@ -5,22 +5,20 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const Tile_1 = __importDefault(require("./Tile"));
|
|
7
7
|
const pixi_tilemap_1 = require("pixi-tilemap");
|
|
8
|
+
const CommonLayer_1 = require("./CommonLayer");
|
|
8
9
|
pixi_tilemap_1.pixi_tilemap.Constant.maxTextures = 4;
|
|
9
10
|
pixi_tilemap_1.pixi_tilemap.Constant.use32bitIndex = true;
|
|
10
|
-
class TileLayer extends
|
|
11
|
-
constructor(layer, tileSets) {
|
|
12
|
-
super();
|
|
13
|
-
this.layer = layer;
|
|
11
|
+
class TileLayer extends CommonLayer_1.CommonLayer {
|
|
12
|
+
constructor(layer, tileSets, map) {
|
|
13
|
+
super(layer, map);
|
|
14
14
|
this.tileSets = tileSets;
|
|
15
|
-
this.
|
|
16
|
-
this.alpha = layer.opacity;
|
|
17
|
-
Object.assign(this, layer);
|
|
15
|
+
this._tiles = {};
|
|
18
16
|
}
|
|
19
17
|
static findTileSet(gid, tileSets) {
|
|
20
18
|
let tileset;
|
|
21
19
|
for (let i = tileSets.length - 1; i >= 0; i--) {
|
|
22
20
|
tileset = tileSets[i];
|
|
23
|
-
if (tileset.
|
|
21
|
+
if (tileset.firstgid && tileset.firstgid <= gid) {
|
|
24
22
|
break;
|
|
25
23
|
}
|
|
26
24
|
}
|
|
@@ -28,32 +26,31 @@ class TileLayer extends PIXI.Container {
|
|
|
28
26
|
}
|
|
29
27
|
/** @internal */
|
|
30
28
|
createTile(x, y, options = {}) {
|
|
29
|
+
var _a, _b;
|
|
31
30
|
const { real, filter } = options;
|
|
32
|
-
const { width,
|
|
31
|
+
const { width, tilewidth, tileheight } = this.map.getData();
|
|
33
32
|
if (real) {
|
|
34
|
-
x = Math.floor(x /
|
|
35
|
-
y = Math.floor(y /
|
|
33
|
+
x = Math.floor(x / tilewidth);
|
|
34
|
+
y = Math.floor(y / tileheight);
|
|
36
35
|
}
|
|
37
36
|
const i = x + y * width;
|
|
38
|
-
const
|
|
39
|
-
if (!(
|
|
40
|
-
tileLayer.gid &&
|
|
41
|
-
tileLayer.gid !== 0))
|
|
37
|
+
const tiledTile = this.layer.tiles[i];
|
|
38
|
+
if (!tiledTile || (tiledTile && tiledTile.gid == 0))
|
|
42
39
|
return;
|
|
43
|
-
const tileset = TileLayer.findTileSet(
|
|
40
|
+
const tileset = TileLayer.findTileSet(tiledTile.gid, this.tileSets);
|
|
44
41
|
if (!tileset)
|
|
45
42
|
return;
|
|
46
|
-
const tile = new Tile_1.default(
|
|
47
|
-
tile.x = x *
|
|
43
|
+
const tile = new Tile_1.default(tiledTile, tileset);
|
|
44
|
+
tile.x = x * tilewidth;
|
|
48
45
|
tile.y =
|
|
49
|
-
y *
|
|
50
|
-
(
|
|
46
|
+
y * tileheight +
|
|
47
|
+
(tileheight -
|
|
51
48
|
tile.texture.height);
|
|
52
49
|
tile._x = x;
|
|
53
50
|
tile._y = y;
|
|
54
|
-
if (tileset.
|
|
55
|
-
tile.x += tileset.
|
|
56
|
-
tile.y += tileset.
|
|
51
|
+
if (tileset.tileoffset) {
|
|
52
|
+
tile.x += (_a = tileset.tileoffset.x) !== null && _a !== void 0 ? _a : 0;
|
|
53
|
+
tile.y += (_b = tileset.tileoffset.y) !== null && _b !== void 0 ? _b : 0;
|
|
57
54
|
}
|
|
58
55
|
if (filter) {
|
|
59
56
|
const ret = filter(tile);
|
|
@@ -64,10 +61,10 @@ class TileLayer extends PIXI.Container {
|
|
|
64
61
|
}
|
|
65
62
|
/** @internal */
|
|
66
63
|
changeTile(x, y) {
|
|
67
|
-
const {
|
|
68
|
-
x = Math.floor(x /
|
|
69
|
-
y = Math.floor(y /
|
|
70
|
-
const oldTile = this.
|
|
64
|
+
const { tilewidth, tileheight } = this.map.getData();
|
|
65
|
+
x = Math.floor(x / tilewidth);
|
|
66
|
+
y = Math.floor(y / tileheight);
|
|
67
|
+
const oldTile = this._tiles[x + ';' + y];
|
|
71
68
|
const newTile = this.createTile(x, y);
|
|
72
69
|
if (!oldTile && newTile) {
|
|
73
70
|
this.addFrame(newTile, x, y);
|
|
@@ -77,7 +74,7 @@ class TileLayer extends PIXI.Container {
|
|
|
77
74
|
const bufComposite = new pixi_tilemap_1.pixi_tilemap.CompositeRectTileLayer();
|
|
78
75
|
const frame = bufComposite.addFrame(newTile.texture, newTile.x, newTile.y);
|
|
79
76
|
newTile.setAnimation(frame);
|
|
80
|
-
this.
|
|
77
|
+
this._tiles[x + ';' + y] = newTile;
|
|
81
78
|
const pointsBufComposite = bufComposite.children[0].pointsBuf;
|
|
82
79
|
[0, 1, 4, 5, 6, 7].forEach((i) => {
|
|
83
80
|
if (this.pointsBuf)
|
|
@@ -86,7 +83,7 @@ class TileLayer extends PIXI.Container {
|
|
|
86
83
|
this.tilemap.children[0].modificationMarker = 0;
|
|
87
84
|
}
|
|
88
85
|
else {
|
|
89
|
-
delete this.
|
|
86
|
+
delete this._tiles[x + ';' + y];
|
|
90
87
|
if (this.pointsBuf)
|
|
91
88
|
this.pointsBuf.splice(oldTile.pointsBufIndex, pixi_tilemap_1.POINT_STRUCT_SIZE);
|
|
92
89
|
}
|
|
@@ -106,12 +103,12 @@ class TileLayer extends PIXI.Container {
|
|
|
106
103
|
return null;
|
|
107
104
|
tile.pointsBufIndex = pb.length - pixi_tilemap_1.POINT_STRUCT_SIZE;
|
|
108
105
|
tile.setAnimation(frame);
|
|
109
|
-
this.
|
|
106
|
+
this._tiles[x + ';' + y] = tile;
|
|
110
107
|
}
|
|
111
108
|
/** @internal */
|
|
112
109
|
create() {
|
|
113
110
|
this.tilemap = new pixi_tilemap_1.pixi_tilemap.CompositeRectTileLayer();
|
|
114
|
-
const { width, height } = this.
|
|
111
|
+
const { width, height } = this.map.getData();
|
|
115
112
|
for (let y = 0; y < height; y++) {
|
|
116
113
|
for (let x = 0; x < width; x++) {
|
|
117
114
|
const tile = this.createTile(x, y);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TileLayer.js","sourceRoot":"","sources":["../../src/Tilemap/TileLayer.ts"],"names":[],"mappings":";;;;;AAAA,kDAA0B;
|
|
1
|
+
{"version":3,"file":"TileLayer.js","sourceRoot":"","sources":["../../src/Tilemap/TileLayer.ts"],"names":[],"mappings":"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"}
|
package/lib/Tilemap/TileSet.d.ts
CHANGED
|
@@ -1,17 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
margin: number;
|
|
4
|
-
spacing: number;
|
|
5
|
-
tileHeight: number;
|
|
6
|
-
tileWidth: number;
|
|
7
|
-
image: {
|
|
8
|
-
width: number;
|
|
9
|
-
height: number;
|
|
10
|
-
};
|
|
11
|
-
tileOffset: any;
|
|
12
|
-
name: string;
|
|
1
|
+
import { TiledTileset, Tileset as TiledTilesetClass } from '@rpgjs/tiled';
|
|
2
|
+
export default class TileSet extends TiledTilesetClass {
|
|
13
3
|
private baseTexture;
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
constructor(tileSet: any);
|
|
4
|
+
textures: PIXI.Texture[];
|
|
5
|
+
constructor(tileSet: TiledTileset);
|
|
17
6
|
}
|
package/lib/Tilemap/TileSet.js
CHANGED
|
@@ -1,31 +1,24 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const Spritesheets_1 = require("../Sprite/Spritesheets");
|
|
4
|
+
const tiled_1 = require("@rpgjs/tiled");
|
|
4
5
|
const Logger_1 = require("../Logger");
|
|
5
|
-
class TileSet {
|
|
6
|
+
class TileSet extends tiled_1.Tileset {
|
|
6
7
|
constructor(tileSet) {
|
|
7
|
-
|
|
8
|
-
this.margin = 0;
|
|
9
|
-
this.spacing = 0;
|
|
10
|
-
this.tileHeight = 0;
|
|
11
|
-
this.tileWidth = 0;
|
|
12
|
-
this.tileOffset = {};
|
|
13
|
-
this.name = '';
|
|
8
|
+
super(tileSet);
|
|
14
9
|
this.textures = [];
|
|
15
|
-
Object.assign(this, tileSet);
|
|
16
|
-
const spritesheet = Spritesheets_1.spritesheets.get(this.name);
|
|
17
|
-
if (!spritesheet) {
|
|
18
|
-
throw Logger_1.log(`There are no tilesets for ${this.name}`);
|
|
19
|
-
}
|
|
20
|
-
this.spritesheet = spritesheet;
|
|
21
10
|
}
|
|
22
11
|
/** @internal */
|
|
23
12
|
load() {
|
|
24
|
-
const
|
|
13
|
+
const spritesheet = Spritesheets_1.spritesheets.get(this.name);
|
|
14
|
+
if (!spritesheet) {
|
|
15
|
+
throw (0, Logger_1.log)(`Impossible to find ${this.name} tileset`);
|
|
16
|
+
}
|
|
17
|
+
const { texture } = spritesheet.resource;
|
|
25
18
|
this.baseTexture = texture.baseTexture;
|
|
26
|
-
for (let y = this.margin; y < this.image.height; y += this.
|
|
27
|
-
for (let x = this.margin; x < this.image.width; x += this.
|
|
28
|
-
this.textures.push(new PIXI.Texture(this.baseTexture, new PIXI.Rectangle(+x, +y, +this.
|
|
19
|
+
for (let y = this.margin; y < this.image.height; y += this.tileheight + this.spacing) {
|
|
20
|
+
for (let x = this.margin; x < this.image.width; x += this.tilewidth + this.spacing) {
|
|
21
|
+
this.textures.push(new PIXI.Texture(this.baseTexture, new PIXI.Rectangle(+x, +y, +this.tilewidth, +this.tileheight)));
|
|
29
22
|
}
|
|
30
23
|
}
|
|
31
24
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TileSet.js","sourceRoot":"","sources":["../../src/Tilemap/TileSet.ts"],"names":[],"mappings":";;AAAA,yDAAqD;AACrD,sCAA+B;AAE/B,MAAqB,
|
|
1
|
+
{"version":3,"file":"TileSet.js","sourceRoot":"","sources":["../../src/Tilemap/TileSet.ts"],"names":[],"mappings":";;AAAA,yDAAqD;AACrD,wCAAyE;AACzE,sCAA+B;AAE/B,MAAqB,OAAQ,SAAQ,eAAiB;IAIlD,YAAY,OAAqB;QAC7B,KAAK,CAAC,OAAO,CAAC,CAAA;QAHX,aAAQ,GAAmB,EAAE,CAAA;IAIpC,CAAC;IAED,gBAAgB;IAChB,IAAI;QACA,MAAM,WAAW,GAAG,2BAAY,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC/C,IAAI,CAAC,WAAW,EAAE;YACd,MAAM,IAAA,YAAG,EAAC,sBAAsB,IAAI,CAAC,IAAI,UAAU,CAAC,CAAA;SACvD;QACD,MAAM,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC,QAAQ,CAAA;QACxC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAA;QACtC,KACI,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,EACnB,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EACrB,CAAC,IAAI,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,EACrC;YACE,KACI,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,EACnB,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EACpB,CAAC,IAAI,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,EACpC;gBACE,IAAI,CAAC,QAAQ,CAAC,IAAI,CACd,IAAI,IAAI,CAAC,OAAO,CACZ,IAAI,CAAC,WAAW,EAChB,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAChE,CACJ,CAAA;aACJ;SACJ;IACL,CAAC;CACJ;AAnCD,0BAmCC"}
|
package/lib/Tilemap/index.d.ts
CHANGED
|
@@ -1,28 +1,35 @@
|
|
|
1
1
|
import ImageLayer from './ImageLayer';
|
|
2
2
|
import TileLayer from './TileLayer';
|
|
3
3
|
import TileSet from './TileSet';
|
|
4
|
+
import { TiledMap, Layer } from '@rpgjs/tiled';
|
|
5
|
+
import { RpgRenderer } from '../Renderer';
|
|
6
|
+
export interface MapInfo extends TiledMap {
|
|
7
|
+
layers: Layer[];
|
|
8
|
+
}
|
|
4
9
|
export default class TileMap extends PIXI.Container {
|
|
10
|
+
private data;
|
|
5
11
|
private renderer;
|
|
6
12
|
background: PIXI.Graphics;
|
|
7
13
|
eventsLayers: {
|
|
8
14
|
[eventLayerName: string]: PIXI.Container;
|
|
9
15
|
};
|
|
10
|
-
defaultLayer: PIXI.Container
|
|
11
|
-
data: any;
|
|
16
|
+
defaultLayer: PIXI.Container;
|
|
12
17
|
private _width;
|
|
13
18
|
private _height;
|
|
14
|
-
|
|
15
|
-
|
|
19
|
+
tilewidth: number;
|
|
20
|
+
tileheight: number;
|
|
16
21
|
private frameRateAnimation;
|
|
17
|
-
|
|
22
|
+
tilesets: TileSet[];
|
|
18
23
|
layers: {
|
|
19
24
|
[layerName: string]: TileLayer | ImageLayer;
|
|
20
25
|
};
|
|
21
|
-
shapeLayer: PIXI.Container;
|
|
22
26
|
private tilesLayer;
|
|
23
27
|
private frameTile;
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
28
|
+
static readonly EVENTS_LAYER_DEFAULT: string;
|
|
29
|
+
constructor(data: MapInfo, renderer: RpgRenderer);
|
|
30
|
+
getEventLayer(objectName?: string): PIXI.Container;
|
|
31
|
+
createEventLayer(name: string): PIXI.Container;
|
|
32
|
+
getData(): MapInfo;
|
|
33
|
+
setBackgroundColor(color: string): void;
|
|
27
34
|
private create;
|
|
28
35
|
}
|
package/lib/Tilemap/index.js
CHANGED
|
@@ -8,23 +8,23 @@ const ImageLayer_1 = __importDefault(require("./ImageLayer"));
|
|
|
8
8
|
const TileLayer_1 = __importDefault(require("./TileLayer"));
|
|
9
9
|
const TileSet_1 = __importDefault(require("./TileSet"));
|
|
10
10
|
const Logger_1 = require("../Logger");
|
|
11
|
+
const tiled_1 = require("@rpgjs/tiled");
|
|
11
12
|
const { intersection } = common_1.Utils;
|
|
12
13
|
PIXI.settings.SCALE_MODE = PIXI.SCALE_MODES.NEAREST;
|
|
13
14
|
class TileMap extends PIXI.Container {
|
|
14
15
|
constructor(data, renderer) {
|
|
15
16
|
super();
|
|
17
|
+
this.data = data;
|
|
16
18
|
this.renderer = renderer;
|
|
17
19
|
this.background = new PIXI.Graphics();
|
|
18
20
|
this.eventsLayers = {};
|
|
19
|
-
this.defaultLayer = null;
|
|
20
21
|
this._width = 0;
|
|
21
22
|
this._height = 0;
|
|
22
|
-
this.
|
|
23
|
-
this.
|
|
23
|
+
this.tilewidth = 0;
|
|
24
|
+
this.tileheight = 0;
|
|
24
25
|
this.frameRateAnimation = 10;
|
|
25
|
-
this.
|
|
26
|
+
this.tilesets = [];
|
|
26
27
|
this.layers = {};
|
|
27
|
-
this.shapeLayer = new PIXI.Container();
|
|
28
28
|
this.tilesLayer = new PIXI.Container();
|
|
29
29
|
this.frameTile = 0;
|
|
30
30
|
this.x = 0;
|
|
@@ -34,27 +34,45 @@ class TileMap extends PIXI.Container {
|
|
|
34
34
|
/** @internal */
|
|
35
35
|
drawAnimateTile(frame) {
|
|
36
36
|
if (frame % this.frameRateAnimation == 0) {
|
|
37
|
-
this.renderer
|
|
37
|
+
this.renderer['renderer'].plugins.tilemap.tileAnim[0] = this.frameTile;
|
|
38
38
|
this.frameTile++;
|
|
39
39
|
}
|
|
40
40
|
}
|
|
41
|
-
getEventLayer(
|
|
42
|
-
|
|
41
|
+
getEventLayer(objectName) {
|
|
42
|
+
for (let layerData of this.data.layers) {
|
|
43
|
+
if (layerData.type != tiled_1.TiledLayerType.ObjectGroup) {
|
|
44
|
+
continue;
|
|
45
|
+
}
|
|
46
|
+
for (let object of layerData.objects) {
|
|
47
|
+
if (object.name == objectName) {
|
|
48
|
+
return this.eventsLayers[layerData.name];
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
return this.defaultLayer;
|
|
43
53
|
}
|
|
44
54
|
createEventLayer(name) {
|
|
45
55
|
const container = this.eventsLayers[name] = new PIXI.Container();
|
|
46
56
|
container.sortableChildren = true;
|
|
47
|
-
this.addChild(container);
|
|
57
|
+
this.tilesLayer.addChild(container);
|
|
48
58
|
return container;
|
|
49
59
|
}
|
|
60
|
+
getData() {
|
|
61
|
+
return this.data;
|
|
62
|
+
}
|
|
63
|
+
setBackgroundColor(color) {
|
|
64
|
+
color = color.replace('#', '');
|
|
65
|
+
this.background.beginFill(parseInt(color, 16));
|
|
66
|
+
this.background.drawRect(0, 0, (this._width || 0) * (this.tilewidth || 0), (this._height || 0) * (this.tileheight || 0));
|
|
67
|
+
this.background.endFill();
|
|
68
|
+
}
|
|
50
69
|
create(data) {
|
|
51
70
|
this.data = data;
|
|
52
71
|
Object.assign(this, data);
|
|
53
|
-
this.
|
|
54
|
-
|
|
55
|
-
this.background.endFill();
|
|
72
|
+
if (this.data.backgroundcolor)
|
|
73
|
+
this.setBackgroundColor(this.data.backgroundcolor);
|
|
56
74
|
this.addChild(this.background);
|
|
57
|
-
this.
|
|
75
|
+
this.tilesets = this.data.tilesets.map((tileSet) => {
|
|
58
76
|
return new TileSet_1.default(tileSet);
|
|
59
77
|
});
|
|
60
78
|
}
|
|
@@ -63,14 +81,14 @@ class TileMap extends PIXI.Container {
|
|
|
63
81
|
const tilesLayer = [];
|
|
64
82
|
this.data.layers.forEach((layerData) => {
|
|
65
83
|
switch (layerData.type) {
|
|
66
|
-
case
|
|
67
|
-
const tileLayer = new TileLayer_1.default(layerData, this.
|
|
84
|
+
case tiled_1.TiledLayerType.Tile: {
|
|
85
|
+
const tileLayer = new TileLayer_1.default(layerData, this.tilesets, this);
|
|
68
86
|
const tile = tileLayer.createTile(x, y, {
|
|
69
87
|
real: true,
|
|
70
88
|
filter: (tile) => {
|
|
71
89
|
const { data, y: yObject, z: zObject } = instance;
|
|
72
90
|
const { hHitbox, height } = data;
|
|
73
|
-
const zLayer = tileLayer.
|
|
91
|
+
const zLayer = tileLayer.z;
|
|
74
92
|
const tileHasZ = tile.properties.z !== undefined;
|
|
75
93
|
let { z } = tile.properties;
|
|
76
94
|
if (zLayer !== undefined) {
|
|
@@ -123,45 +141,46 @@ class TileMap extends PIXI.Container {
|
|
|
123
141
|
changeTile(x, y, layerName) {
|
|
124
142
|
const layer = this.layers[layerName];
|
|
125
143
|
if (!layer)
|
|
126
|
-
throw Logger_1.log(`${layerName} not exists`);
|
|
144
|
+
throw (0, Logger_1.log)(`${layerName} not exists`);
|
|
127
145
|
if (layer instanceof TileLayer_1.default) {
|
|
128
146
|
layer.changeTile(x, y);
|
|
129
147
|
}
|
|
130
148
|
}
|
|
131
149
|
/** @internal */
|
|
132
150
|
load(options) {
|
|
133
|
-
this.defaultLayer = null;
|
|
134
151
|
this.tilesLayer.removeChildren();
|
|
135
|
-
this.
|
|
152
|
+
this.tilesets.forEach(tileset => tileset.load());
|
|
136
153
|
this.data.layers.forEach((layerData) => {
|
|
137
|
-
layerData.map = this;
|
|
138
154
|
switch (layerData.type) {
|
|
139
|
-
case
|
|
140
|
-
const tileLayer = new TileLayer_1.default(layerData, this.
|
|
155
|
+
case tiled_1.TiledLayerType.Tile: {
|
|
156
|
+
const tileLayer = new TileLayer_1.default(layerData, this.tilesets, this);
|
|
141
157
|
if (options === null || options === void 0 ? void 0 : options.drawTiles)
|
|
142
158
|
tileLayer.create();
|
|
143
159
|
this.layers[layerData.name] = tileLayer;
|
|
144
160
|
this.tilesLayer.addChild(tileLayer);
|
|
145
161
|
break;
|
|
146
162
|
}
|
|
147
|
-
case
|
|
148
|
-
const imageLayer = new ImageLayer_1.default(layerData);
|
|
163
|
+
case tiled_1.TiledLayerType.Image: {
|
|
164
|
+
const imageLayer = new ImageLayer_1.default(layerData, this);
|
|
149
165
|
this.layers[layerData.name] = imageLayer;
|
|
150
166
|
this.tilesLayer.addChild(imageLayer);
|
|
151
167
|
break;
|
|
152
168
|
}
|
|
153
|
-
case
|
|
154
|
-
|
|
169
|
+
case tiled_1.TiledLayerType.ObjectGroup: {
|
|
170
|
+
const layer = this.createEventLayer(layerData.name);
|
|
171
|
+
if (layerData.properties[TileMap.EVENTS_LAYER_DEFAULT]) {
|
|
172
|
+
this.defaultLayer = layer;
|
|
173
|
+
}
|
|
155
174
|
break;
|
|
156
175
|
}
|
|
157
176
|
}
|
|
158
177
|
});
|
|
159
178
|
this.addChild(this.tilesLayer);
|
|
160
179
|
if (!this.defaultLayer) {
|
|
161
|
-
this.defaultLayer = this.createEventLayer(
|
|
180
|
+
this.defaultLayer = this.createEventLayer(TileMap.EVENTS_LAYER_DEFAULT);
|
|
162
181
|
}
|
|
163
|
-
this.addChild(this.shapeLayer);
|
|
164
182
|
}
|
|
165
183
|
}
|
|
166
184
|
exports.default = TileMap;
|
|
185
|
+
TileMap.EVENTS_LAYER_DEFAULT = 'events-layer-default';
|
|
167
186
|
//# sourceMappingURL=index.js.map
|
package/lib/Tilemap/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Tilemap/index.ts"],"names":[],"mappings":";;;;;AAAA,0CAAqC;AACrC,8DAAqC;AACrC,4DAAmC;AACnC,wDAA+B;AAE/B,sCAA+B;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Tilemap/index.ts"],"names":[],"mappings":"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"}
|