@theatrejs/plugin-ldtk 1.0.1 → 1.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/README.md +2 -2
- package/package.json +2 -2
- package/sources/ldtk.js +51 -50
package/README.md
CHANGED
|
@@ -13,11 +13,11 @@ npm install @theatrejs/plugin-ldtk --save
|
|
|
13
13
|
## Quick Start
|
|
14
14
|
|
|
15
15
|
```javascript
|
|
16
|
-
import * as
|
|
16
|
+
import * as PLUGIN_LDTK from '@theatrejs/plugin-ldtk';
|
|
17
17
|
|
|
18
18
|
import ldtkData from './ldtk.json';
|
|
19
19
|
|
|
20
|
-
const ldtk = new
|
|
20
|
+
const ldtk = new PLUGIN_LDTK.Ldtk(ldtkData);
|
|
21
21
|
|
|
22
22
|
const entities = ldtk.getEntities({
|
|
23
23
|
$level: 'Prototype',
|
package/package.json
CHANGED
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
"name": "@theatrejs/plugin-ldtk",
|
|
40
40
|
"peerDependencies": {
|
|
41
41
|
|
|
42
|
-
"@theatrejs/theatrejs": ">= 1.
|
|
42
|
+
"@theatrejs/theatrejs": ">= 1.14.0"
|
|
43
43
|
},
|
|
44
44
|
"repository": {
|
|
45
45
|
|
|
@@ -54,5 +54,5 @@
|
|
|
54
54
|
"postversion": "node ./tools/custom/postversion.cjs"
|
|
55
55
|
},
|
|
56
56
|
"type": "module",
|
|
57
|
-
"version": "1.0
|
|
57
|
+
"version": "1.2.0"
|
|
58
58
|
}
|
package/sources/ldtk.js
CHANGED
|
@@ -11,103 +11,104 @@ import {Vector2} from '@theatrejs/theatrejs';
|
|
|
11
11
|
class Ldtk {
|
|
12
12
|
|
|
13
13
|
/**
|
|
14
|
-
* @typedef {Object}
|
|
15
|
-
* @property {string}
|
|
16
|
-
* @property {Vector2}
|
|
17
|
-
* @property {string}
|
|
14
|
+
* @typedef {Object} TypeEntity A transformed LDTK JSON entity.
|
|
15
|
+
* @property {string} TypeEntity.$identifier The identifier.
|
|
16
|
+
* @property {Vector2} TypeEntity.$position The position.
|
|
17
|
+
* @property {string} TypeEntity.$type The type.
|
|
18
18
|
* @protected
|
|
19
19
|
*
|
|
20
20
|
* @memberof Ldtk
|
|
21
21
|
*/
|
|
22
22
|
|
|
23
23
|
/**
|
|
24
|
-
* @typedef {Object}
|
|
25
|
-
* @property {Vector2}
|
|
26
|
-
* @property {Array<number>}
|
|
27
|
-
* @property {Map<number, string>}
|
|
28
|
-
* @property {number}
|
|
29
|
-
* @property {Vector2}
|
|
30
|
-
* @property {number}
|
|
24
|
+
* @typedef {Object} TypeGrid A transformed LDTK JSON grid.
|
|
25
|
+
* @property {Vector2} TypeGrid.$cell The size of each cell.
|
|
26
|
+
* @property {Array<number>} TypeGrid.$data The flat data (one-dimensional).
|
|
27
|
+
* @property {Map<number, string>} TypeGrid.$definitions The data definitions.
|
|
28
|
+
* @property {number} TypeGrid.$height The number of cells on the y-axis.
|
|
29
|
+
* @property {Vector2} TypeGrid.$position The position.
|
|
30
|
+
* @property {number} TypeGrid.$width The number of cells on the x-axis.
|
|
31
31
|
* @protected
|
|
32
32
|
*
|
|
33
33
|
* @memberof Ldtk
|
|
34
34
|
*/
|
|
35
35
|
|
|
36
36
|
/**
|
|
37
|
-
* @typedef {Object}
|
|
38
|
-
* @property {string}
|
|
39
|
-
* @property {number}
|
|
37
|
+
* @typedef {Object} TypeLdtkDefinitionLayerGridValue A LDTK JSON data layer grid value definition.
|
|
38
|
+
* @property {string} TypeLdtkDefinitionLayerGridValue.identifier The identifier.
|
|
39
|
+
* @property {number} TypeLdtkDefinitionLayerGridValue.value The value.
|
|
40
40
|
* @protected
|
|
41
41
|
*
|
|
42
42
|
* @memberof Ldtk
|
|
43
43
|
*/
|
|
44
44
|
|
|
45
45
|
/**
|
|
46
|
-
* @typedef {Object}
|
|
47
|
-
* @property {string}
|
|
48
|
-
* @property {Array<
|
|
46
|
+
* @typedef {Object} TypeLdtkDefinitionLayer A LDTK JSON data layer definition.
|
|
47
|
+
* @property {string} TypeLdtkDefinitionLayer.identifier The identifier.
|
|
48
|
+
* @property {Array<TypeLdtkDefinitionLayerGridValue>} TypeLdtkDefinitionLayer.intGridValues The grid values.
|
|
49
49
|
* @protected
|
|
50
50
|
*
|
|
51
51
|
* @memberof Ldtk
|
|
52
52
|
*/
|
|
53
53
|
|
|
54
54
|
/**
|
|
55
|
-
* @typedef {Object}
|
|
56
|
-
* @property {Array<
|
|
55
|
+
* @typedef {Object} TypeLdtkDefinitions A LDTK JSON data definition.
|
|
56
|
+
* @property {Array<TypeLdtkDefinitionLayer>} TypeLdtkDefinitionLayer.layers The layers' definitions.
|
|
57
57
|
* @protected
|
|
58
58
|
*
|
|
59
59
|
* @memberof Ldtk
|
|
60
60
|
*/
|
|
61
61
|
|
|
62
62
|
/**
|
|
63
|
-
* @typedef {Object}
|
|
64
|
-
* @property {string}
|
|
65
|
-
* @property {string}
|
|
66
|
-
* @property {any}
|
|
63
|
+
* @typedef {Object} TypeLdtkEntityField A LDTK JSON data custom field.
|
|
64
|
+
* @property {string} TypeLdtkEntityField.__identifier The identifier.
|
|
65
|
+
* @property {string} TypeLdtkEntityField.__type The type.
|
|
66
|
+
* @property {any} TypeLdtkEntityField.__value The value.
|
|
67
67
|
* @protected
|
|
68
68
|
*
|
|
69
69
|
* @memberof Ldtk
|
|
70
70
|
*/
|
|
71
71
|
|
|
72
72
|
/**
|
|
73
|
-
* @typedef {Object}
|
|
74
|
-
* @property {string}
|
|
75
|
-
* @property {Array<
|
|
76
|
-
* @property {
|
|
77
|
-
* @property {
|
|
73
|
+
* @typedef {Object} TypeLdtkEntity A LDTK JSON data entity.
|
|
74
|
+
* @property {string} TypeLdtkEntity.__identifier The identifier.
|
|
75
|
+
* @property {Array<number>} TypeLdtkEntity.__grid The grid-based coordinates.
|
|
76
|
+
* @property {Array<TypeLdtkEntityField>} TypeLdtkEntity.fieldInstances The custom fields.
|
|
77
|
+
* @property {string} TypeLdtkEntity.iid The iid.
|
|
78
|
+
* @property {Array<number>} TypeLdtkEntity.px The position.
|
|
78
79
|
* @protected
|
|
79
80
|
*
|
|
80
81
|
* @memberof Ldtk
|
|
81
82
|
*/
|
|
82
83
|
|
|
83
84
|
/**
|
|
84
|
-
* @typedef {Object}
|
|
85
|
-
* @property {number}
|
|
86
|
-
* @property {number}
|
|
87
|
-
* @property {number}
|
|
88
|
-
* @property {string}
|
|
89
|
-
* @property {Array<
|
|
90
|
-
* @property {Array<number>}
|
|
85
|
+
* @typedef {Object} TypeLdtkLayer A LDTK JSON data layer.
|
|
86
|
+
* @property {number} TypeLdtkLayer.__cHei The number of grid cells on the x-axis.
|
|
87
|
+
* @property {number} TypeLdtkLayer.__cWid The number of grid cells on the y-axis.
|
|
88
|
+
* @property {number} TypeLdtkLayer.__gridSize The size of each cell.
|
|
89
|
+
* @property {string} TypeLdtkLayer.__identifier The identifier.
|
|
90
|
+
* @property {Array<TypeLdtkEntity>} TypeLdtkLayer.entityInstances The entities.
|
|
91
|
+
* @property {Array<number>} TypeLdtkLayer.intGridCsv The grid values.
|
|
91
92
|
* @protected
|
|
92
93
|
*
|
|
93
94
|
* @memberof Ldtk
|
|
94
95
|
*/
|
|
95
96
|
|
|
96
97
|
/**
|
|
97
|
-
* @typedef {Object}
|
|
98
|
-
* @property {string}
|
|
99
|
-
* @property {Array<
|
|
100
|
-
* @property {number}
|
|
101
|
-
* @property {number}
|
|
98
|
+
* @typedef {Object} TypeLdtkLevel A LDTK JSON data level.
|
|
99
|
+
* @property {string} TypeLdtkLevel.identifier The identifier.
|
|
100
|
+
* @property {Array<TypeLdtkLayer>} TypeLdtkLevel.layerInstances The layers.
|
|
101
|
+
* @property {number} TypeLdtkLevel.pxHei The height.
|
|
102
|
+
* @property {number} TypeLdtkLevel.pxWid The width.
|
|
102
103
|
* @protected
|
|
103
104
|
*
|
|
104
105
|
* @memberof Ldtk
|
|
105
106
|
*/
|
|
106
107
|
|
|
107
108
|
/**
|
|
108
|
-
* @typedef {Object}
|
|
109
|
-
* @property {
|
|
110
|
-
* @property {Array<
|
|
109
|
+
* @typedef {Object} TypeLdtk A LDTK JSON data.
|
|
110
|
+
* @property {TypeLdtkDefinitions} TypeLdtk.defs The definitions.
|
|
111
|
+
* @property {Array<TypeLdtkLevel>} TypeLdtk.levels The delevs.
|
|
111
112
|
* @protected
|
|
112
113
|
*
|
|
113
114
|
* @memberof Ldtk
|
|
@@ -115,14 +116,14 @@ class Ldtk {
|
|
|
115
116
|
|
|
116
117
|
/**
|
|
117
118
|
* Stores the LDTK JSON data.
|
|
118
|
-
* @type {
|
|
119
|
+
* @type {TypeLdtk}
|
|
119
120
|
* @private
|
|
120
121
|
*/
|
|
121
122
|
$data;
|
|
122
123
|
|
|
123
124
|
/**
|
|
124
125
|
* Gets the LDTK JSON data.
|
|
125
|
-
* @type {
|
|
126
|
+
* @type {TypeLdtk}
|
|
126
127
|
* @public
|
|
127
128
|
*/
|
|
128
129
|
get data() {
|
|
@@ -132,7 +133,7 @@ class Ldtk {
|
|
|
132
133
|
|
|
133
134
|
/**
|
|
134
135
|
* Creates a new LDTK module manager.
|
|
135
|
-
* @param {
|
|
136
|
+
* @param {TypeLdtk} $data The LDTK JSON data.
|
|
136
137
|
*/
|
|
137
138
|
constructor($data) {
|
|
138
139
|
|
|
@@ -144,7 +145,7 @@ class Ldtk {
|
|
|
144
145
|
* @param {Object} $parameters The given parameters.
|
|
145
146
|
* @param {string} $parameters.$layer The layer of the entities to get.
|
|
146
147
|
* @param {string} $parameters.$level The level of the entities to get.
|
|
147
|
-
* @returns {Array<
|
|
148
|
+
* @returns {Array<TypeEntity>}
|
|
148
149
|
* @public
|
|
149
150
|
*/
|
|
150
151
|
getEntities({$layer, $level}) {
|
|
@@ -184,7 +185,7 @@ class Ldtk {
|
|
|
184
185
|
* @param {Object} $parameters The given parameters.
|
|
185
186
|
* @param {string} $parameters.$layer The layer of the entities to get.
|
|
186
187
|
* @param {string} $parameters.$level The level of the entities to get.
|
|
187
|
-
* @returns {Array<
|
|
188
|
+
* @returns {Array<TypeLdtkEntity>}
|
|
188
189
|
* @public
|
|
189
190
|
*/
|
|
190
191
|
getEntitiesData({$layer, $level}) {
|
|
@@ -215,7 +216,7 @@ class Ldtk {
|
|
|
215
216
|
* @param {Object} $parameters The given parameters.
|
|
216
217
|
* @param {string} $parameters.$layer The layer of the grid to get.
|
|
217
218
|
* @param {string} $parameters.$level The level of the grid to get.
|
|
218
|
-
* @returns {(
|
|
219
|
+
* @returns {(TypeGrid | undefined)}
|
|
219
220
|
* @public
|
|
220
221
|
*/
|
|
221
222
|
getGrid({$layer, $level}) {
|
|
@@ -260,7 +261,7 @@ class Ldtk {
|
|
|
260
261
|
* @param {Object} $parameters The given parameters.
|
|
261
262
|
* @param {string} $parameters.$layer The layer of the grid to get.
|
|
262
263
|
* @param {string} $parameters.$level The level of the grid to get.
|
|
263
|
-
* @returns {
|
|
264
|
+
* @returns {TypeLdtkLayer}
|
|
264
265
|
* @public
|
|
265
266
|
*/
|
|
266
267
|
getGridData({$layer, $level}) {
|