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
Michael Hadley
74842aae1d
Tilemap & Layers: hasTileAt & better naming
2017-11-15 15:28:15 -06:00
Michael Hadley
1be6847a87
Tilemap: better naming, currentLayer -> currentLayerIndex
2017-11-15 15:05:11 -06:00
Michael Hadley
48f1e60743
Tilemap: reorder and add get/set layer
2017-11-15 14:55:26 -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
3f08689c44
Tilemap parsers: remove width & height parameters since they are inferred
2017-11-14 15:33:13 -06:00
Michael Hadley
bf19553135
Tilemap parsers: add ability to insert null instead of blank tile
2017-11-14 15:02:19 -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
780bd76c6f
Tilemap Parsers: refactor csv parser into csv parser + 2D array parser
2017-11-10 21:38:42 -06:00
Michael Hadley
1ba75cd50c
ParseTiledJSON eslint auto fix
2017-11-10 17:13:11 -06:00
Michael Hadley
f9f6d95097
Tilemap: json tiled parser from v2
2017-11-10 15:57:38 -06:00
Michael Hadley
249fe58bba
Tileset: tile lookup features
2017-11-10 15:56:14 -06:00
Michael Hadley
a76a6535e0
CSV tilemap parser & dummy tiled json parser
2017-11-09 20:50:25 -06:00
Michael Hadley
1b1bc41f81
Adding CSV & JSON tilemaps to BaseLoader
2017-11-09 12:21:06 -06:00
Michael Hadley
0804bf7595
Rename static & dynamic tilemaps -> tilemap layer
2017-11-09 12:18:23 -06:00
Richard Davey
0d38e232e6
Both Static and Dynamic Tilemaps support the new property skipIndexZero
which allows them to skip over index 0 tiles. Works in both canvas and webgl. Fix #3052
2017-11-03 16:52:57 +00:00
Felipe Alfonso
9649347287
Static Tilemap WebGL Renderer now applies camera transform matrix correctly
2017-11-01 14:55:01 -03:00
Richard Davey
b4edeaec10
Updated GameObjectCreator to use same system as GameObjectFactory.
2017-09-14 02:27:29 +01:00
Richard Davey
1340e6930f
Refactored the GameObjectFactory so it's now populated by the GameObjects directly, avoids globbing all GOs into it
2017-09-14 01:32:10 +01:00