Michael Hadley
6ca7c9ecfd
Copy update: copy all tile props and recalculate faces within dest region
2017-11-26 08:58:38 -06:00
Michael Hadley
8ec6528d20
Tilemap & layers: replace v2 raycasting with getTilesWithinShape
2017-11-26 07:55:44 -06:00
Michael Hadley
9d29948a02
Update tile culling to factor in the new scale
2017-11-25 20:47:47 -06:00
Michael Hadley
aaa0d41f5d
Fix dynamic layer scale bug
2017-11-25 20:47:20 -06:00
Michael Hadley
c31147df19
Add filtering options to forEachTile, GetTilesWithin, GetTilesWithinWorldXY
2017-11-25 18:03:21 -06:00
Michael Hadley
998ae1bd40
Factor layer scale into WorldToTile calculation
2017-11-25 17:12:24 -06:00
Michael Hadley
b21fc88660
Dynamic Tilemap WebGL - respect layer scale in rendering
2017-11-25 17:09:56 -06:00
Michael Hadley
557ac4fe6e
Add GetTilesWithinWorldXY method to tilemap and layers
2017-11-25 08:42:19 -06:00
Michael Hadley
432c1c0f6d
GetTilesWithin: clip rectangular area to map bounds
2017-11-25 08:40:07 -06:00
Michael Hadley
4c34d09955
Optional snapToFloor parameter added to WorldToTile methods
2017-11-25 07:08:06 -06:00
Michael Hadley
7a90d55dd5
Fix: WorldXY now passes recalculateFaces to TileXY methods
2017-11-25 07:06:14 -06:00
Michael Hadley
7844927256
Image layers added to Tilemap
2017-11-24 09:15:02 -06:00
Michael Hadley
0d02f7d941
Extend Tiled importer to handle offsetx and offsety for the various layers
2017-11-24 08:59:36 -06:00
Michael Hadley
d3aa842bfe
Adding collision prop to Tilemap
2017-11-24 08:23:40 -06:00
Michael Hadley
0e73bae5bc
Extend Tileset to have methods for accessing properties and data per tile
2017-11-24 08:23:22 -06:00
Michael Hadley
805c0a0125
Break Tiled parser into modular pieces & extended capabilities
...
New features:
- Parsing text object
- Parsing "tiles" prop of tileset which contains collision & terrain information
2017-11-24 08:22:55 -06:00
Michael Hadley
fa8178f47b
Port of ImageCollection from v2
2017-11-24 08:21:09 -06:00
Michael Hadley
0fd6779107
Adding a couple notes about methods that manipulate multiple tiles
2017-11-21 19:19:13 -06:00
Michael Hadley
e19de28932
Tilemap & layers now recalc faces (with a parameter for disabling recalc)
2017-11-21 19:18:34 -06:00
Michael Hadley
bdea565586
Better optimized calc/recalc faces methods for tiles
...
These eliminate the need for the preventRecalc method from v2. If an individual tile is changed with putTileAt, only the min number of faces will be recalculated (vs all faces being recalculated in v2)
2017-11-21 19:16:46 -06:00
Michael Hadley
dd8bbfa625
Update SetCollision methods to track which indices have been set to collide
2017-11-21 19:13:43 -06:00
Michael Hadley
e3dbf7c2d0
Fixing internal method name typos
2017-11-21 19:07:22 -06:00
Michael Hadley
105dc755ce
Tilemap & layers: optimized SetCollision methods
...
v2 was structured in a way where a full pass through ALL tiles would occur if SetCollisionBetween or SetCollisionByExclusion was used. That's a huge penalty for large tilemaps, so this version duplicates some loop code for the sake of speed.
2017-11-20 20:08:50 -06:00
Michael Hadley
21584f922c
Fix for last commit
2017-11-18 16:11:51 -06:00
Michael Hadley
3f14382951
Make naming consistent for accessing individual tiles (e.g. getTile vs getTileAt)
2017-11-18 15:41:26 -06:00
Michael Hadley
759252a078
Better handling of resizing a tilemap
...
Force the tilesets and tiles to inherit their tile size from the tilemap
2017-11-18 15:40:27 -06:00
Michael Hadley
e2960486a9
Filling out Tile with some methods & props from v2
2017-11-18 15:38:46 -06:00
Michael Hadley
b48d82daee
Format name typo
2017-11-18 08:41:57 -06:00
Michael Hadley
d2f72fbe58
Create CullTiles component to allow static and dynamic layers to cull when needed
...
Fixes performance issue with canvas static tile renderer on large maps
2017-11-18 08:31:59 -06:00
Michael Hadley
b5fb0b8879
Refactor in order to update TilemapCreator & TilemapFactory
2017-11-17 15:55:12 -06:00
Michael Hadley
f82217e868
Move Parse to tilemap/Parse
2017-11-17 15:54:18 -06:00
Michael Hadley
49854bfd1b
Format Typo
2017-11-17 15:49:32 -06:00
Michael Hadley
6da642bd99
Set alpha in dynamic layer canvas renderer
...
Set it directly because of the explicit save/restore commands throw the renderer's internal alpha out-of-sync
2017-11-17 15:31:41 -06:00
Michael Hadley
5535af2a17
Bug fix: tilemap layer renderer didn't account for layer xy position
2017-11-17 13:53:11 -06:00
Michael Hadley
09ed883f4d
Remove old todos in static layer
2017-11-17 13:52:32 -06:00
Michael Hadley
b8e8d9d3aa
Made data structure for maps and layers more explicit via classes & default props
2017-11-17 13:16:39 -06:00
Michael Hadley
3266974ea0
Tilemap & layer WorldXY methods: get, has, put, remove
2017-11-17 07:58:33 -06:00
Michael Hadley
b34d18e10c
World to Tile conversion on maps and layers - both accounting for camera scroll
2017-11-16 20:36:45 -06:00
Michael Hadley
205675c387
Tilemap: prevent methods from acting on a static tilemap layer & warn user
2017-11-16 19:58:35 -06:00
Michael Hadley
b34f8a9dcc
Associate tilemap layer data with the static or dynamic tilemap layer that "owns" it
...
This enforces 1x tilemap layer data <-> 1x static/dynamic tilemap layer and allows the Tilemap instance to look up the static/dynamic tilemap layer when needed.
2017-11-16 19:55:17 -06:00
Michael Hadley
83b7df2a73
Tilemap: destroy, removeAllLayers, setTileSize
2017-11-16 19:09:28 -06:00
Michael Hadley
63fb2e863f
Tilemap & layer: ReplaceByIndex, FindByIndex, SwapByIndex
2017-11-16 19:08:58 -06:00
Michael Hadley
4c306d60a7
Last Tileset API method to match v2
2017-11-16 15:25:45 -06:00
Michael Hadley
e6c6d1ddce
TIlemap & layers: GetTileAtWorldXY
2017-11-16 13:27:52 -06:00
Michael Hadley
c2268f3dee
PutTile, RemoveTile & Tile#Copy
2017-11-16 13:09:07 -06:00
Michael Hadley
2b08daff32
Tilemap: modularize empty map generators & add createBlankDynamicLayer
2017-11-16 11:44:24 -06:00
Michael Hadley
efae7f5796
DynamicTilemapLayer updates that should have been in the last commit
2017-11-15 20:16:43 -06:00
Michael Hadley
355d9accf3
More tilemap & layer fun: Copy, FIll, Randomize, Shuffle, GetTilesWithin
...
Note: methods that mutate the tiles are not installed on StaticTilemapLayer
2017-11-15 20:06:07 -06:00
Michael Hadley
db5cab8494
Fix: wrong sign for canvas translation
2017-11-15 19:15:12 -06:00
Michael Hadley
b714e2afdf
Add methods for looping over & accessing groups of tiles to map & layers
2017-11-15 16:36:41 -06:00