Crate bevy_tilemap[][src]

Bevy Tilemap

Bevy Tilemap allows for Bevy native batch-rendered tiles in maps to be constructed with chunk based loading, efficiently.

Simple yet refined in its implementation, it is meant to attach to other extensible plugins that can enhance its functionality further. Hand-crafted tilemaps with an attentive focus on performance, and low data usage.

Features

  • Perfect for game jams.
  • Easy to use and stable API with thorough documentation.
  • Endless or constrained tilemaps.
  • Batched rendering of many tiles.
  • Square and hex tiles.

Design

This is not intended to be just another Tilemap. It is meant to be a framework and extensible by design, like Bevy. As well as work done to keep it as close to Bevy API as possible while keeping in mind of Rust API best practices. It is not meant to be complicated and created to be simple to use but give enough functionality to advanced users.

Less time fiddling, more time building.

Serde support

Optionally serde is supported through the use of features.

[dependencies]
bevy_tilemap = { version = "0.4", features = ["serialize"] }

Extra types feature

Internally, the library uses Point2, Point3, Dimension2 and Dimension3 types. This is not part of the official Bevy library and multiple or alternative implementations of them may not be ideal, especially not in the prelude.

It is quite important however to impl Into<T> for each of them for most public methods. It already has most basic implementations that make sense.

However if you would like to use this, please do so.

[dependencies]
bevy_tilemap = { version = "0.4", features = ["types"] }

See the library bevy_tilemap_types for more information.

Re-exports

pub extern crate bevy_tilemap_types;
pub use crate::tile::Tile;
pub use crate::tilemap::Tilemap;
pub use crate::tilemap::TilemapLayer;

Modules

chunk

Tiles organised into chunks for efficiency and performance.

default_plugin

The default plugin to be used in Bevy applications.

dimension

Dimension helpers with encoding and decoding to and from indexes.

entity

Bundles of components for spawning entities.

event

The tilemap events.

point

Points used for helping with coordinates.

prelude

The Bevy Tilemap prelude.

stage

The stages for the tilemap in the bevy app.

tile

Tile traits to implement for a custom tile.

tilemap

Constructing a basic tilemap, setting tiles, and spawning.

Structs

TilemapPlugin

The Bevy Tilemap 2D main plugin.

Enums

TilemapSystem

The tilemap system stages.