This repository has been archived by the owner on May 7, 2022. It is now read-only.
Bevy Tilemap 0.3.0
This release came a little later than anticipated due to a busy holiday season. I didn't expect Bevy to release on Christmas Eve but that is ok. This is a pretty big release that was supposed to have more features included however, ran out of time. Those will come in a future version though. Sorry for those that were waiting for auto-tile.
[0.3.0] - 2021-01-11
Added
- Auto configuration of optimal chunk sizes to texture size as well as checks
to ensure that the tiles are divisible into each other had been added. This can
be enabled in theTilemapBuilder
withauto_configure
. - Auto chunk which will create new chunks automatically if you push a tile into
it. This can be enabled in theTilemapBuilder
withauto_chunk
- Optional dimension 2D and 3D API.
TilemapDefaultPlugins
was added.point
anddimension
modules were moved tobevy_tilemap_types
crate but
still accessible as normal and optional.- Example
stress_dwarves
has been added to benchmark and stress test. - Various hex orientations were added (thanks @jamadazi!).
- A hex example
random_world
was added to showcase one of the hex
orientations. Tilemap::get_tile
method was added to get a reference to a tile.Tilemap::get_tile_mut
method was added to get a mutable reference to a tile.
This should make it easier to do animations.Tilemap::tile_to_chunk_point
method is nowpoint_to_chunk_point
.tile:RawTile
is now public API but not included in the prelude as it is not
meant to be constructed.- Examples for all tile orientations.
- Library is able to work with WASM.
- Default plugin for Tilemap was introduced.
Changed
- The whole project was mostly refactored.
ChunkTilesPlugin
is nowTilemap2DPlugin
.TilemapBuilder::build()
is nowTilemapBuilder::finish()
to be consistent.- Point module was now made optional.
- Changed the
random_dungeon
example to be more like an actual implementation. Tile
had all generics removed from it.Tilemap::new_chunk
is nowTilemap::insert_chunk
to reflect the storage
internally.- It is now required to specify if chunks are to be auto created in the
TilemapBuilder
withauto_chunk
method. Tilemap::remove_tile
was renamed toclear_tile
. This makes more sense as
it may be deleted if it is a sparse tile, else it is simply cleared if it is
dense.Tilemap::contains_chunk
method was added to check if the tilemap contains a
chunk or not already.TilemapComponents
renamed toTilemapBundle
to stay inline with Bevy API.ChunkComponents
renamed toChunkBundle
to stay inline with Bevy API.- All examples were updated for latest bevy.
Removed
Point2
andPoint3
deprecations were removed.
Known Bugs
- Examples moved to its own library temporarily. This is a Bevy 0.4 issue where
you can not placebevy
into the dev-dependencies of the Cargo.toml. - Hex Y-axis is not perfectly centred.
Thanks
Thanks to the following wonderful contributors for their work on this release (in no particular order).
- @AdamWhitehurst
- @alec-deason
- @jamadazi
- @ryanleecode
- @joshuajbouw