Commit graph

22 commits

Author SHA1 Message Date
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
3f14382951 Make naming consistent for accessing individual tiles (e.g. getTile vs getTileAt) 2017-11-18 15:41:26 -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
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
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
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
63fb2e863f Tilemap & layer: ReplaceByIndex, FindByIndex, SwapByIndex 2017-11-16 19:08:58 -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
efae7f5796 DynamicTilemapLayer updates that should have been in the last commit 2017-11-15 20:16:43 -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
Michael Hadley
74842aae1d Tilemap & Layers: hasTileAt & better naming 2017-11-15 15:28:15 -06:00
Michael Hadley
84a86ae0f7 Share GetTileAt across tilemap layers and tilemap 2017-11-15 13:50:56 -06:00
Michael Hadley
6d1b17258b Add flip capability to dynamic webgl & canvas tilemap renderers 2017-11-14 20:45:05 -06:00
Michael Hadley
6f4f571f98 Canvas tilemap layers: add alpha support 2017-11-14 16:13:07 -06:00
Michael Hadley
ece0bf7811 Tilemap layers WIP - both layers now use new Tile class 2017-11-14 15:35:18 -06:00
Michael Hadley
13ded52c6b New Tile class to be shared across static and dynamic layers 2017-11-14 15:34:33 -06:00
Michael Hadley
a7424fa750 Progress on Tilemap - can now link tileset images and create layers 2017-11-11 10:38:52 -06:00
Michael Hadley
0804bf7595 Rename static & dynamic tilemaps -> tilemap layer 2017-11-09 12:18:23 -06:00