Commit graph

587 commits

Author SHA1 Message Date
Richard Davey
8ff50da910 Fixed return type 2023-04-10 17:49:42 +01:00
Richard Davey
950f0a8363 Tilemap.getLayerIndex will now return null if a given TilemapLayer instance doesn't belong to the Tilemap or has been destroyed. 2023-04-10 17:43:02 +01:00
Richard Davey
0f72a9781b Updated jsdocs 2023-04-03 18:35:25 +01:00
Richard Davey
f97d4d2477
Merge pull request #6400 from imothee/addTilesetImage-tilesetOffset
Adds tileOffset param to Phaser.Tilemaps.Tilemap#addTilesetImage
2023-03-31 14:34:53 +01:00
Richard Davey
84dcdd9719 Fixed eslint formatting errors #6429 2023-03-31 14:23:26 +01:00
Richard Davey
b65d4b48c6 Fixed jsdocs #6429 2023-03-31 14:23:13 +01:00
Richard Davey
c32c4ccfe4
Merge pull request #6429 from rexrainbow/tilemap-hexagon-staggeraxis-x
Support staggeraxis-x, staggerindex-odd
2023-03-31 14:18:49 +01:00
samme
e9e87bf8b7 Clear tiles when destroying tilemap 2023-03-26 14:31:52 -07:00
samme
3d386a055d Save tileset index, fix putting empty tile
Adds Phaser.Tilemaps.Tilemap#tiles

Fixes #6353
2023-03-26 09:34:25 -07:00
Rex
bc1fcf7357 Suport staggerIndex-even with staggerAxis-y and staggerAxis-x 2023-03-25 20:47:45 +08:00
Rex
65c0f9f73b Support staggeraxis-x, staggerindex-odd 2023-03-25 11:54:41 +08:00
Richard Davey
f8faec2702 Fixed reference and removed mapData check 2023-03-22 18:23:36 +00:00
Richard Davey
c850e85ca4 The TilemapLayer.skipCull feature wasn't being applied correctly for Isometric, Hexagonal or Staggered tiles, only for Orthographic tiles (the default). It will now respect the skipCull property and return all tiles during culling if enabled. Fix #5524 2023-03-22 18:01:34 +00:00
Richard Davey
ae449ad27b Added missing PostPipeline class 2023-03-22 17:45:31 +00:00
Richard Davey
85d1673cce Set directly on Sprite if a property, otherwise use setData. Fix #6391 2023-03-22 16:41:13 +00:00
Tim Marks
f01cc23b41 Adds tileOffset param to addTilesetImage function 2023-02-20 18:41:39 -08:00
samme
c7148b3378 Docs: createFromObjects() description
#5698
2023-02-15 13:40:17 -08:00
Pavle Goloskokovic
815e1460d6 TilemapFilterCallback return value type fix 2023-01-17 15:19:36 +01:00
Richard Davey
468bf7821d Updated copyright year 2023-01-02 17:36:27 +00:00
Richard Davey
58533686d5
Merge pull request #6321 from samme/docs/constructor-types
Docs: change "Constructor" types to `function`
2022-12-19 16:43:31 +00:00
samme
390b4f577b Docs: correct type for CreateFromTiles() etc.
`replacements` is nullable
2022-12-19 03:28:40 -08:00
samme
09be12612b Docs: change "Constructor" types to function
- Phaser.Types.GameObjects.Group.GroupClassTypeConstructor
- Phaser.Types.GameObjects.Particles.ParticleClassConstructor
- Phaser.Types.Tilemaps.CreateFromObjectsClassTypeConstructor

Fixes #6318
2022-12-16 15:37:09 -08:00
Oni
6d9eebd45e Add additional type to orientation property 2022-12-13 16:14:42 +01:00
Christen Lofland
e52f1738ef Fix Issue #6301 causing tilemap collisions to fail. 2022-11-30 15:28:59 -06:00
Richard Davey
14ddd29fbd Fixed TS errors 2022-11-30 15:06:52 +00:00
Richard Davey
c0a072b37d Update GetTileCorners.js 2022-11-28 18:34:20 +00:00
Richard Davey
7f8a4eebf4 Update GetTileCorners.js 2022-11-28 18:33:36 +00:00
Richard Davey
91c731d609 Update GetTileCornersFunction.js 2022-11-28 18:32:06 +00:00
Richard Davey
4253db9a08 The Tilemap and TilemapLayer classes have a new method getTileCorners. This method will return an array of Vector2s with each entry corresponding to the corners of the requested tile, in world space. This currently works for Orthographic and Hexagonal tilemaps. 2022-11-28 18:31:20 +00:00
Richard Davey
f2aa880797 Update HexagonalTileToWorldXY.js 2022-11-28 18:16:01 +00:00
Richard Davey
3676881d57 Added comments 2022-11-28 17:34:18 +00:00
Richard Davey
f3e90518e5 Removed the HexagonalTileToWorldY function as it cannot work without an X coordinate. Use HexagonalTileToWorldXY instead. 2022-11-28 17:34:11 +00:00
Richard Davey
31ea1dc6da Recoded the point conversion math in the HexagonalTileToWorldXY function as it was incorrect. Now returns world coordinates correctly. 2022-11-28 17:33:48 +00:00
Richard Davey
e760178365 Tile.copy will now use the DeepCopy function to copy the Tile.properties object, as otherwise it just gets copied by reference. 2022-11-28 13:35:15 +00:00
Richard Davey
27bbf9b2f5 Tilemap.copy would error if you copied a block of tiles over itself, even partially, as it tried to copy already replaced tiles as part of the function. It will now copy correctly, regardless of source or destination areas. Fix #6188 2022-11-28 13:35:04 +00:00
Richard Davey
18b25d5bc1 Update GetTilesWithin.js 2022-11-28 13:34:57 +00:00
Richard Davey
949852d8d5 Recoded the point conversion math in the HexagonalWorldToTileXY function as it was incorrect. Now detects any dimension hexagon correctly. Fix #5608 2022-11-24 23:31:49 +00:00
Richard Davey
5139d22814 Added debug code commented out 2022-11-24 23:11:11 +00:00
Richard Davey
84ef41f470 Fixed math for any layer scale 2022-11-24 23:11:01 +00:00
Richard Davey
ddd4eeaa53 Now works - time to tidy up 2022-11-24 21:29:58 +00:00
Richard Davey
d570b9b26b Debugging hex coords 2022-11-24 18:54:17 +00:00
Richard Davey
c4b9dbc260 Added staggerAxis and staggerIndex 2022-11-24 18:54:10 +00:00
Richard Davey
b065452cc4 Debugging 2022-11-24 13:44:52 +00:00
Richard Davey
4bf7e1978f WorldToTileXY now does all the calculations and X and Y just call it. 2022-11-24 12:51:18 +00:00
Richard Davey
36bbc88995 Removed HexagonalWorldToTileY as it cannot work without an X value 2022-11-24 12:41:42 +00:00
Richard Davey
cf657f4fc7 Calling Tilemap.worldToTileX or worldToTileY on a Isometric or Hexagonal Tilemap will now always return null instead of doing nothing, as you cannot convert to a tile index using just one coordinate for these map types, you should use worldToTileXY instead. 2022-11-24 00:42:13 +00:00
Richard Davey
c8b40de29c Improved jsdocs 2022-11-24 00:41:55 +00:00
Richard Davey
6aa193c21b Added new getIsoTileAtWorldXY method. 2022-11-24 00:27:01 +00:00
Richard Davey
25bc5dec90 Fixed world to isometric conversion and added optional base origin property.
Fix #5781
2022-11-24 00:26:40 +00:00
Richard Davey
ce12d63d01 The Tilemap.destroyLayer method would throw an error "TypeError: layer.destroy is not a function". It now correctly destroys the TilemapLayer. Fix #6268 2022-11-17 14:34:46 +00:00
Richard Davey
759599e4d1 MapData and ObjectLayer will now enforce that the Tilemap.objects property is always an array. Sometimes Tiled willl set it to be a blank object in the JSON data. This fix makes sure it is always an array. Fix #6139 2022-11-17 14:28:23 +00:00
Richard Davey
05845c6ee0 The ParseJSONTiled function will now run a DeepCopy on the source Tiled JSON, which prevents object mutation, fixing an issue where Tiled Object Layer names would be duplicated if used across multiple Tilemap instances. Fix #6212 2022-11-17 14:17:58 +00:00
Richard Davey
06b1adca14 Lint fix 2022-09-20 22:23:09 +01:00
samme
cfb92c6957 Give TilemapLayer origin (0, 0) 2022-09-19 08:33:33 -07:00
Richard Davey
bdbadd1339 Update CreateGroupLayer.js 2022-09-12 20:17:11 +01:00
Richard Davey
03842535c3 TilemapLayer.setTint is a new method that allows you to set the tint color of all tiles in the given area, optionally based on the filtering search options. This is a WebGL only feature. 2022-05-24 18:27:33 +01:00
Richard Davey
4e391fa6ab
Merge pull request #6108 from samme/feature/TilemapLayer-mask
Add Mask component to TilemapLayer
2022-05-16 15:58:47 +01:00
samme
b6171f6e43 Add Mask component to TilemapLayer 2022-05-10 10:37:45 -07:00
Richard Davey
a4d8e87095 Fixed lint errors 2022-05-10 17:06:53 +01:00
Richard Davey
d8947e84b0
Merge pull request #6081 from adamazmil/iso-map
Fixes getTop for creating MatterTileBody for isometric tiles
2022-05-09 17:09:08 +01:00
Richard Davey
919fa39faa
Merge pull request #6067 from TJ09/commonjs-import-change
Don't reassign the return values from require()
2022-05-09 16:49:58 +01:00
samme
b60761a706 Fix the GetTilesWithinShape() area
Fixes #5640
2022-05-06 09:54:50 -07:00
Adam Azmil
902b916dd1 Fixes getTop for creating MatterTileBody for isometric tiles 2022-04-19 16:43:28 +08:00
T.J. L
ff4ef2872b Don't overwrite the return values from require() 2022-04-02 01:49:19 -07:00
samme
7f37d52ba9 Docs: add CreateFromObjectsClassTypeConstructor 2022-03-30 11:05:27 -07:00
Richard Davey
59fbcc5ca3 Updated copyright year 2022-02-28 14:29:51 +00:00
Richard Davey
58f09aa006 Update Tile.js 2022-02-22 13:51:03 +00:00
Richard Davey
a4308cfa3a Skips Canvas drawImage calls if invalid frame sizes given. Fix #5951 2022-02-03 16:44:24 +00:00
Richard Davey
476ed38e33 Removed deprecated functions 2021-12-07 17:30:56 +00:00
Richard Davey
6b7a000975 Fix eslint 2021-12-07 17:30:56 +00:00
samme
2ebbb970a5 Shorten the 'Valid tilelayer' warning 2021-11-22 08:47:56 -08:00
samme
15b62e1756 Docs: fix types in Phaser.Tilemaps.ObjectHelper#setFromJSON 2021-10-13 15:58:32 -07:00
kainage
369bf06b8e Fix WebGL Tilemap Layer Rendering
* A typo was blowing up rendering the tilemaps all together
* FIx the X coord not being calculated correctly in the `batchTexture` call
2021-10-06 22:01:12 -07:00
Richard Davey
8aa6385cec Fixed JSDocs 2021-10-06 21:39:44 +01:00
Richard Davey
6f4ceba23f
Merge pull request #5855 from lfarroco/master
Fix rendering of Tiled object layers on isometric maps
2021-10-06 21:11:34 +01:00
Leonardo Farroco
fc4db55b26 adds isometric ratio 2021-10-05 23:19:09 -03:00
Richard Davey
7934613e8f The Tilemaps.Tile.getBounds method would take a camera parameter but then not pass it to the methods called internally, thus ignoring it. It now factors the camera into the returned Rectangle. 2021-10-05 21:52:54 +01:00
Leonardo Farroco
64f7b992be linting 2021-10-03 16:35:02 -03:00
Leonardo Farroco
687942e77e Change positioning for isometric object layer from Tiled 2021-10-03 16:30:05 -03:00
Richard Davey
550dd2bd85
Merge pull request #5514 from etherealmachine/patch-1
Fix typing of MapData objects
2021-09-23 16:03:24 +01:00
Richard Davey
5dfab5f5d9 eslint and jsdoc fixes for #5697 2021-09-23 16:02:52 +01:00
Richard Davey
d44e8e782e
Merge branch 'master' into tilemap 2021-09-23 15:47:47 +01:00
Richard Davey
f4c7cb4a6d Fixed jsdocs. Renamed property to tileOffset. Fixed parsing of it. #5637 2021-09-22 11:26:08 +01:00
Richard Davey
736be1abc8 tileOffset hadn't been applied to the canvas renderer #5637 2021-09-22 11:25:39 +01:00
Richard Davey
d0b5b91a5e tileOffset is always set, so this check is redundant #5637 2021-09-22 11:25:13 +01:00
Richard Davey
d16588014f
Merge pull request #5637 from moJiXiang/fix-tilemap-offset
fix tilemap draw offset, maybe it is a bug, related issue #5633
2021-09-22 11:14:15 +01:00
Richard Davey
7434769faf
Merge pull request #5657 from moJiXiang/fix-bug-#5647
fix PutTileAt tile size with releated tileset width and height, releated bug #5647
2021-09-22 11:10:03 +01:00
Richard Davey
2771f280d2
Merge pull request #5750 from jonnytest1/master
assign array by index for skipped chunks
2021-09-22 11:03:44 +01:00
Richard Davey
4fd0a27b15 Formatting fix 2021-09-20 12:34:35 +01:00
Richard Davey
4ab8a4d3a3
Merge pull request #5767 from mayacoda/master
Fix getBounds for creating MatterTileBody for staggered tiles
2021-09-20 12:26:55 +01:00
Richard Davey
4b011e2225
Merge pull request #5790 from samme/fix/createFromObjects-offset
Fix offset for non-tile objects in createFromObjects()
2021-09-20 12:12:41 +01:00
samme
08a600edcb Docs: correct CreateFromObjectLayerConfig.classType
Fixes #5831
2021-09-14 09:10:09 -07:00
samme
788bcb4330 Fix offset in createFromObjects()
Fixes #5789
2021-07-22 11:08:32 -07:00
Maya Nedeljkovich
20ebc6f7a2 Fix getBounds for creating MatterTileBody for staggered tiles 2021-06-30 15:21:13 +02:00
jonnytest1
46009935b4
assign array by index for skipped chunks
loading breaks for layers that skip chunks with no data
2021-06-18 02:34:05 +02:00
Brown Dragon
a420b6e46a Improve ObjectHelper docs even if they are just internal only 2021-05-21 09:49:19 -04:00
Brown Dragon
02e67e682f Addresses https://github.com/photonstorm/phaser/issues/5697
This diff adds:
* `type` support to `createFromObjects`. See https://doc.mapeditor.org/en/stable/manual/custom-properties/#typed-tiles for the description in Tiled; this is currently not supported as a parameter, and its usage is documented within the diff.
* `createFromObjects` will also examine the tileset. As per the above link, created objects are supposed to inherit properties from the tile with the same gid, but Phaser doesn't do that right now. After this diff it optionally will, by passing an additional parameter to `createFromObjects`.
> NOTE: I'd be very happy to make this a default behavior, but that's somewhat backwards breaking
* `createFromObjects` will attempt to use the same texture and frame as Tiled when creating the object. This will behave poorly if there is no such frame (for instance, if the texture were loaded with `this.load.image` instead of `this.load.spritesheet`, or using different geometry. However, the current behavior draws missingimage, so this is a strong improvement.
2021-05-13 17:05:03 -04:00
mojixiang
7f161fa3ad
Update PutTileAt.js 2021-04-15 18:24:06 +08:00
moJiXiang
f686a9674b fix PutTileAt tile size with releated tileset width and height, releated bug #5647 2021-04-15 18:04:14 +08:00
moJiXiang
7579702b7a fix tilemap draw offset, maybe it is a bug, related issue #5633 2021-04-01 18:43:27 +08:00