Struct bevy_ecs_tilemap::LayerBuilder [−][src]
pub struct LayerBuilder<T> { pub settings: LayerSettings, // some fields omitted }
Expand description
Useful for creating and modifying a layer in the same system.
Fields
settings: LayerSettings
Implementations
impl<T> LayerBuilder<T> where
T: TileBundleTrait,
[src]
impl<T> LayerBuilder<T> where
T: TileBundleTrait,
[src]pub fn new<I: Into<u16>>(
commands: &mut Commands<'_>,
settings: LayerSettings,
map_id: I,
layer_id: I
) -> (Self, Entity)
[src]
pub fn new<I: Into<u16>>(
commands: &mut Commands<'_>,
settings: LayerSettings,
map_id: I,
layer_id: I
) -> (Self, Entity)
[src]Creates the layer builder using the layer settings.
pub fn new_batch<I: Into<u16>, F: 'static + FnMut(UVec2) -> Option<T>>(
commands: &mut Commands<'_>,
settings: LayerSettings,
meshes: &mut ResMut<'_, Assets<Mesh>>,
material_handle: Handle<ColorMaterial>,
map_id: I,
layer_id: I,
f: F
) -> Entity
[src]
pub fn new_batch<I: Into<u16>, F: 'static + FnMut(UVec2) -> Option<T>>(
commands: &mut Commands<'_>,
settings: LayerSettings,
meshes: &mut ResMut<'_, Assets<Mesh>>,
material_handle: Handle<ColorMaterial>,
map_id: I,
layer_id: I,
f: F
) -> Entity
[src]Uses bevy’s spawn_batch
to quickly create large amounts of tiles.
Note: Limited to T(Bundle + TileBundleTrait) for what gets spawned.
pub fn set_tile(&mut self, tile_pos: UVec2, tile: T) -> Result<(), MapTileError>
[src]
pub fn set_tile(&mut self, tile_pos: UVec2, tile: T) -> Result<(), MapTileError>
[src]Sets a tile’s data at the given position.
pub fn get_tile_entity(
&mut self,
tile_pos: UVec2
) -> Result<Entity, MapTileError>
[src]
pub fn get_tile_entity(
&mut self,
tile_pos: UVec2
) -> Result<Entity, MapTileError>
[src]Returns a tile entity.
pub fn get_tile(&self, tile_pos: UVec2) -> Result<&T, MapTileError>
[src]
pub fn get_tile(&self, tile_pos: UVec2) -> Result<&T, MapTileError>
[src]Gets a reference to the tile data using a tile position.
pub fn get_tile_mut(&mut self, tile_pos: UVec2) -> Result<&mut T, MapTileError>
[src]
pub fn get_tile_mut(&mut self, tile_pos: UVec2) -> Result<&mut T, MapTileError>
[src]Gets a mutable reference to the tile data using the a tile position.
pub fn for_each_tiles<F>(&mut self, f: F) where
F: FnMut(Entity, &Option<T>),
[src]
pub fn for_each_tiles<F>(&mut self, f: F) where
F: FnMut(Entity, &Option<T>),
[src]Loops through each tile entity and tile bundle in the builder. Note: The boolean is for visibility.
pub fn for_each_tiles_mut<F>(&mut self, f: F) where
F: FnMut(Entity, &mut Option<T>),
[src]
pub fn for_each_tiles_mut<F>(&mut self, f: F) where
F: FnMut(Entity, &mut Option<T>),
[src]Mutably loops through each tile entity and tile bundle in the builder. Note: The boolean is for visibility.
pub fn fill(&mut self, start: UVec2, end: UVec2, tile: T)
[src]
pub fn fill(&mut self, start: UVec2, end: UVec2, tile: T)
[src]Fills a section of the map with tiles.
pub fn get_tile_neighbors(
&self,
tile_pos: UVec2
) -> [(IVec2, Option<(Entity, &T)>); 8]
[src]
pub fn get_tile_neighbors(
&self,
tile_pos: UVec2
) -> [(IVec2, Option<(Entity, &T)>); 8]
[src]Retrieves a list of neighbors in the following order: N, S, W, E, NW, NE, SW, SE.
The returned neighbors are tuples that have an tilemap coordinate and an Option<(bevy::prelude::Entity, &T)>.
A value of None will be returned for tiles that don’t exist.
Example
let neighbors = map.get_tile_neighbors(UVec2::new(0, 0)); assert!(neighbors[1].1.is_none()); // Outside of tile bounds. assert!(neighbors[0].1.is_none()); // Entity returned inside bounds.
pub fn build(
&mut self,
commands: &mut Commands<'_>,
meshes: &mut ResMut<'_, Assets<Mesh>>,
material: Handle<ColorMaterial>
) -> LayerBundle
[src]
pub fn build(
&mut self,
commands: &mut Commands<'_>,
meshes: &mut ResMut<'_, Assets<Mesh>>,
material: Handle<ColorMaterial>
) -> LayerBundle
[src]Creates a layer bundle from the layer builder.
Auto Trait Implementations
impl<T> !RefUnwindSafe for LayerBuilder<T>
impl<T> Send for LayerBuilder<T> where
T: Send,
T: Send,
impl<T> Sync for LayerBuilder<T> where
T: Sync,
T: Sync,
impl<T> Unpin for LayerBuilder<T> where
T: Unpin,
T: Unpin,
impl<T> !UnwindSafe for LayerBuilder<T>
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]pub fn borrow_mut(&mut self) -> &mut T
[src]
pub fn borrow_mut(&mut self) -> &mut T
[src]Mutably borrows from an owned value. Read more
impl<T> Downcast for T where
T: Any,
impl<T> Downcast for T where
T: Any,
pub fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
pub fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
Convert Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
. Read more
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
Convert Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
. Read more
pub fn as_any(&self) -> &(dyn Any + 'static)
pub fn as_any(&self) -> &(dyn Any + 'static)
Convert &Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s. Read more
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert &mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s. Read more
impl<T> Instrument for T
[src]
impl<T> Instrument for T
[src]fn instrument(self, span: Span) -> Instrumented<Self>
[src]
fn instrument(self, span: Span) -> Instrumented<Self>
[src]Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more
fn in_current_span(self) -> Instrumented<Self>
[src]
fn in_current_span(self) -> Instrumented<Self>
[src]impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
pub fn vzip(self) -> V
impl<T> Component for T where
T: 'static + Send + Sync,
T: 'static + Send + Sync,