Struct bevy_fast_tilemap::map::Map
source · pub struct Map<UserData = DefaultUserData>where
UserData: AsBindGroup + Reflect + Clone + Default + TypePath + ShaderType + WriteInto + ShaderSize,{
pub user_data: UserData,
/* private fields */
}Expand description
Map, holding handles to a map texture with the tile data and an atlas texture with the tile renderings.
Fields§
§user_data: UserDataImplementations§
source§impl<UserData> Map<UserData>where
UserData: AsBindGroup + Reflect + Clone + Default + TypePath + ShaderType + WriteInto + ShaderSize,
impl<UserData> Map<UserData>where
UserData: AsBindGroup + Reflect + Clone + Default + TypePath + ShaderType + WriteInto + ShaderSize,
sourcepub fn builder(
map_size: UVec2,
atlas_texture: Handle<Image>,
tile_size: Vec2
) -> MapBuilder<UserData>
pub fn builder( map_size: UVec2, atlas_texture: Handle<Image>, tile_size: Vec2 ) -> MapBuilder<UserData>
Create a MapBuilder for configuring your map.
pub fn indexer_mut(&mut self) -> MapIndexer<'_, UserData>
sourcepub fn world_size(&self) -> Vec2
pub fn world_size(&self) -> Vec2
Size of the map contents bounding box in world coordinates
sourcepub fn map_to_local(&self, map_position: Vec2) -> Vec2
pub fn map_to_local(&self, map_position: Vec2) -> Vec2
Convert map position in [(0.0, 0.0) .. self.size)
to local world position (before this entities transform).
E.g. map position (0.5, 0.5) is in the center of the tile
at index (0, 0).
sourcepub fn map_to_local_3d(&self, map_position: Vec3) -> Vec3
pub fn map_to_local_3d(&self, map_position: Vec3) -> Vec3
Same as Self::map_to_local, but return a 3d coordinate,
z-value is the logical “depth” of the map position (for eg axonometric projection).
Not generally consistent with actual z-position of the mesh.
pub fn map_to_world_3d(&self, map_position: Vec3) -> Vec3
sourcepub fn world_to_map(&self, world: Vec2) -> Vec2
pub fn world_to_map(&self, world: Vec2) -> Vec2
Convert world position to map position.
pub fn world_to_map_3d(&self, world: Vec3) -> Vec3
pub fn is_loaded(&self, images: &Assets<Image>) -> bool
Trait Implementations§
source§impl<UserData> AsBindGroup for Map<UserData>where
UserData: AsBindGroup + Reflect + Clone + Default + TypePath + ShaderType + WriteInto + ShaderSize,
impl<UserData> AsBindGroup for Map<UserData>where
UserData: AsBindGroup + Reflect + Clone + Default + TypePath + ShaderType + WriteInto + ShaderSize,
source§fn unprepared_bind_group(
&self,
layout: &BindGroupLayout,
render_device: &RenderDevice,
images: &RenderAssets<Image>,
fallback_image: &FallbackImage
) -> Result<UnpreparedBindGroup<Self::Data>, AsBindGroupError>
fn unprepared_bind_group( &self, layout: &BindGroupLayout, render_device: &RenderDevice, images: &RenderAssets<Image>, fallback_image: &FallbackImage ) -> Result<UnpreparedBindGroup<Self::Data>, AsBindGroupError>
Returns a vec of (binding index,
OwnedBindingResource).
In cases where OwnedBindingResource is not available (as for bindless texture arrays currently),
an implementor may define as_bind_group directly. This may prevent certain features
from working correctly.source§fn bind_group_layout_entries(
render_device: &RenderDevice
) -> Vec<BindGroupLayoutEntry>
fn bind_group_layout_entries( render_device: &RenderDevice ) -> Vec<BindGroupLayoutEntry>
Returns a vec of bind group layout entries
source§fn as_bind_group(
&self,
layout: &BindGroupLayout,
render_device: &RenderDevice,
images: &RenderAssets<Image>,
fallback_image: &FallbackImage
) -> Result<PreparedBindGroup<Self::Data>, AsBindGroupError>
fn as_bind_group( &self, layout: &BindGroupLayout, render_device: &RenderDevice, images: &RenderAssets<Image>, fallback_image: &FallbackImage ) -> Result<PreparedBindGroup<Self::Data>, AsBindGroupError>
Creates a bind group for
self matching the layout defined in AsBindGroup::bind_group_layout.source§fn bind_group_layout(render_device: &RenderDevice) -> BindGroupLayoutwhere
Self: Sized,
fn bind_group_layout(render_device: &RenderDevice) -> BindGroupLayoutwhere
Self: Sized,
Creates the bind group layout matching all bind groups returned by
AsBindGroup::as_bind_groupsource§impl<UserData> Clone for Map<UserData>where
UserData: AsBindGroup + Reflect + Clone + Default + TypePath + ShaderType + WriteInto + ShaderSize + Clone,
impl<UserData> Clone for Map<UserData>where
UserData: AsBindGroup + Reflect + Clone + Default + TypePath + ShaderType + WriteInto + ShaderSize + Clone,
source§impl<UserData> Debug for Map<UserData>where
UserData: AsBindGroup + Reflect + Clone + Default + TypePath + ShaderType + WriteInto + ShaderSize + Debug,
impl<UserData> Debug for Map<UserData>where
UserData: AsBindGroup + Reflect + Clone + Default + TypePath + ShaderType + WriteInto + ShaderSize + Debug,
source§impl<UserData> Default for Map<UserData>where
UserData: AsBindGroup + Reflect + Clone + Default + TypePath + ShaderType + WriteInto + ShaderSize + Default,
impl<UserData> Default for Map<UserData>where
UserData: AsBindGroup + Reflect + Clone + Default + TypePath + ShaderType + WriteInto + ShaderSize + Default,
source§impl<UserData> From<&Map<UserData>> for MapKeywhere
UserData: AsBindGroup + Reflect + Clone + Default + TypePath + ShaderType + WriteInto + ShaderSize,
impl<UserData> From<&Map<UserData>> for MapKeywhere
UserData: AsBindGroup + Reflect + Clone + Default + TypePath + ShaderType + WriteInto + ShaderSize,
source§impl<UserData> FromReflect for Map<UserData>where
Self: Any + Send + Sync,
UserData: AsBindGroup + Reflect + Clone + Default + TypePath + ShaderType + WriteInto + ShaderSize + TypePath + FromReflect,
MapUniform: FromReflect + TypePath,
Vec<u32>: FromReflect + TypePath,
Handle<Image>: FromReflect + TypePath,
Vec<String>: FromReflect + TypePath,
bool: FromReflect + TypePath,
Vec<Vec2>: FromReflect + TypePath,
impl<UserData> FromReflect for Map<UserData>where
Self: Any + Send + Sync,
UserData: AsBindGroup + Reflect + Clone + Default + TypePath + ShaderType + WriteInto + ShaderSize + TypePath + FromReflect,
MapUniform: FromReflect + TypePath,
Vec<u32>: FromReflect + TypePath,
Handle<Image>: FromReflect + TypePath,
Vec<String>: FromReflect + TypePath,
bool: FromReflect + TypePath,
Vec<Vec2>: FromReflect + TypePath,
source§fn from_reflect(reflect: &dyn Reflect) -> Option<Self>
fn from_reflect(reflect: &dyn Reflect) -> Option<Self>
Constructs a concrete instance of
Self from a reflected value.source§fn take_from_reflect(
reflect: Box<dyn Reflect>
) -> Result<Self, Box<dyn Reflect>>
fn take_from_reflect( reflect: Box<dyn Reflect> ) -> Result<Self, Box<dyn Reflect>>
Attempts to downcast the given value to
Self using,
constructing the value using from_reflect if that fails. Read moresource§impl<UserData> GetTypeRegistration for Map<UserData>where
Self: Any + Send + Sync,
UserData: AsBindGroup + Reflect + Clone + Default + TypePath + ShaderType + WriteInto + ShaderSize + TypePath + FromReflect,
MapUniform: FromReflect + TypePath,
Vec<u32>: FromReflect + TypePath,
Handle<Image>: FromReflect + TypePath,
Vec<String>: FromReflect + TypePath,
bool: FromReflect + TypePath,
Vec<Vec2>: FromReflect + TypePath,
impl<UserData> GetTypeRegistration for Map<UserData>where
Self: Any + Send + Sync,
UserData: AsBindGroup + Reflect + Clone + Default + TypePath + ShaderType + WriteInto + ShaderSize + TypePath + FromReflect,
MapUniform: FromReflect + TypePath,
Vec<u32>: FromReflect + TypePath,
Handle<Image>: FromReflect + TypePath,
Vec<String>: FromReflect + TypePath,
bool: FromReflect + TypePath,
Vec<Vec2>: FromReflect + TypePath,
source§impl<UserData> Material2d for Map<UserData>where
UserData: AsBindGroup + Reflect + Clone + Default + TypePath + ShaderType + WriteInto + ShaderSize,
impl<UserData> Material2d for Map<UserData>where
UserData: AsBindGroup + Reflect + Clone + Default + TypePath + ShaderType + WriteInto + ShaderSize,
source§fn vertex_shader() -> ShaderRef
fn vertex_shader() -> ShaderRef
Returns this material’s vertex shader. If
ShaderRef::Default is returned, the default mesh vertex shader
will be used.source§fn fragment_shader() -> ShaderRef
fn fragment_shader() -> ShaderRef
Returns this material’s fragment shader. If
ShaderRef::Default is returned, the default mesh fragment shader
will be used.source§fn specialize(
descriptor: &mut RenderPipelineDescriptor,
layout: &MeshVertexBufferLayout,
key: Material2dKey<Self>
) -> Result<(), SpecializedMeshPipelineError>
fn specialize( descriptor: &mut RenderPipelineDescriptor, layout: &MeshVertexBufferLayout, key: Material2dKey<Self> ) -> Result<(), SpecializedMeshPipelineError>
Customizes the default
RenderPipelineDescriptor.source§fn depth_bias(&self) -> f32
fn depth_bias(&self) -> f32
Add a bias to the view depth of the mesh which can be used to force a specific render order.
source§impl<UserData> Reflect for Map<UserData>where
Self: Any + Send + Sync,
UserData: AsBindGroup + Reflect + Clone + Default + TypePath + ShaderType + WriteInto + ShaderSize + TypePath + FromReflect,
MapUniform: FromReflect + TypePath,
Vec<u32>: FromReflect + TypePath,
Handle<Image>: FromReflect + TypePath,
Vec<String>: FromReflect + TypePath,
bool: FromReflect + TypePath,
Vec<Vec2>: FromReflect + TypePath,
impl<UserData> Reflect for Map<UserData>where
Self: Any + Send + Sync,
UserData: AsBindGroup + Reflect + Clone + Default + TypePath + ShaderType + WriteInto + ShaderSize + TypePath + FromReflect,
MapUniform: FromReflect + TypePath,
Vec<u32>: FromReflect + TypePath,
Handle<Image>: FromReflect + TypePath,
Vec<String>: FromReflect + TypePath,
bool: FromReflect + TypePath,
Vec<Vec2>: FromReflect + TypePath,
source§fn get_represented_type_info(&self) -> Option<&'static TypeInfo>
fn get_represented_type_info(&self) -> Option<&'static TypeInfo>
source§fn as_any_mut(&mut self) -> &mut dyn Any
fn as_any_mut(&mut self) -> &mut dyn Any
Returns the value as a
&mut dyn Any.source§fn into_reflect(self: Box<Self>) -> Box<dyn Reflect>
fn into_reflect(self: Box<Self>) -> Box<dyn Reflect>
Casts this type to a boxed reflected value.
source§fn as_reflect(&self) -> &dyn Reflect
fn as_reflect(&self) -> &dyn Reflect
Casts this type to a reflected value.
source§fn as_reflect_mut(&mut self) -> &mut dyn Reflect
fn as_reflect_mut(&mut self) -> &mut dyn Reflect
Casts this type to a mutable reflected value.
source§fn clone_value(&self) -> Box<dyn Reflect>
fn clone_value(&self) -> Box<dyn Reflect>
Clones the value as a
Reflect trait object. Read moresource§fn set(&mut self, value: Box<dyn Reflect>) -> Result<(), Box<dyn Reflect>>
fn set(&mut self, value: Box<dyn Reflect>) -> Result<(), Box<dyn Reflect>>
Performs a type-checked assignment of a reflected value to this value. Read more
source§fn reflect_kind(&self) -> ReflectKind
fn reflect_kind(&self) -> ReflectKind
Returns a zero-sized enumeration of “kinds” of type. Read more
source§fn reflect_ref(&self) -> ReflectRef<'_>
fn reflect_ref(&self) -> ReflectRef<'_>
Returns an immutable enumeration of “kinds” of type. Read more
source§fn reflect_mut(&mut self) -> ReflectMut<'_>
fn reflect_mut(&mut self) -> ReflectMut<'_>
Returns a mutable enumeration of “kinds” of type. Read more
source§fn reflect_owned(self: Box<Self>) -> ReflectOwned
fn reflect_owned(self: Box<Self>) -> ReflectOwned
Returns an owned enumeration of “kinds” of type. Read more
source§fn reflect_partial_eq(&self, value: &dyn Reflect) -> Option<bool>
fn reflect_partial_eq(&self, value: &dyn Reflect) -> Option<bool>
Returns a “partial equality” comparison result. Read more
source§fn reflect_hash(&self) -> Option<u64>
fn reflect_hash(&self) -> Option<u64>
Returns a hash of the value (which includes the type). Read more
source§fn debug(&self, f: &mut Formatter<'_>) -> Result<(), Error>
fn debug(&self, f: &mut Formatter<'_>) -> Result<(), Error>
Debug formatter for the value. Read more
source§fn serializable(&self) -> Option<Serializable<'_>>
fn serializable(&self) -> Option<Serializable<'_>>
Returns a serializable version of the value. Read more
source§fn is_dynamic(&self) -> bool
fn is_dynamic(&self) -> bool
Indicates whether or not this type is a dynamic type. Read more
source§impl<UserData> Struct for Map<UserData>where
Self: Any + Send + Sync,
UserData: AsBindGroup + Reflect + Clone + Default + TypePath + ShaderType + WriteInto + ShaderSize + TypePath + FromReflect,
MapUniform: FromReflect + TypePath,
Vec<u32>: FromReflect + TypePath,
Handle<Image>: FromReflect + TypePath,
Vec<String>: FromReflect + TypePath,
bool: FromReflect + TypePath,
Vec<Vec2>: FromReflect + TypePath,
impl<UserData> Struct for Map<UserData>where
Self: Any + Send + Sync,
UserData: AsBindGroup + Reflect + Clone + Default + TypePath + ShaderType + WriteInto + ShaderSize + TypePath + FromReflect,
MapUniform: FromReflect + TypePath,
Vec<u32>: FromReflect + TypePath,
Handle<Image>: FromReflect + TypePath,
Vec<String>: FromReflect + TypePath,
bool: FromReflect + TypePath,
Vec<Vec2>: FromReflect + TypePath,
source§fn field(&self, name: &str) -> Option<&dyn Reflect>
fn field(&self, name: &str) -> Option<&dyn Reflect>
Returns a reference to the value of the field named
name as a &dyn Reflect.source§fn field_mut(&mut self, name: &str) -> Option<&mut dyn Reflect>
fn field_mut(&mut self, name: &str) -> Option<&mut dyn Reflect>
Returns a mutable reference to the value of the field named
name as a
&mut dyn Reflect.source§fn field_at(&self, index: usize) -> Option<&dyn Reflect>
fn field_at(&self, index: usize) -> Option<&dyn Reflect>
Returns a reference to the value of the field with index
index as a
&dyn Reflect.source§fn field_at_mut(&mut self, index: usize) -> Option<&mut dyn Reflect>
fn field_at_mut(&mut self, index: usize) -> Option<&mut dyn Reflect>
Returns a mutable reference to the value of the field with index
index
as a &mut dyn Reflect.source§fn name_at(&self, index: usize) -> Option<&str>
fn name_at(&self, index: usize) -> Option<&str>
Returns the name of the field with index
index.source§fn iter_fields(&self) -> FieldIter<'_>
fn iter_fields(&self) -> FieldIter<'_>
Returns an iterator over the values of the reflectable fields for this struct.
source§fn clone_dynamic(&self) -> DynamicStruct
fn clone_dynamic(&self) -> DynamicStruct
Clones the struct into a
DynamicStruct.source§impl<UserData> TypePath for Map<UserData>where
Self: Any + Send + Sync,
UserData: AsBindGroup + Reflect + Clone + Default + TypePath + ShaderType + WriteInto + ShaderSize + TypePath,
impl<UserData> TypePath for Map<UserData>where
Self: Any + Send + Sync,
UserData: AsBindGroup + Reflect + Clone + Default + TypePath + ShaderType + WriteInto + ShaderSize + TypePath,
source§fn type_path() -> &'static str
fn type_path() -> &'static str
Returns the fully qualified path of the underlying type. Read more
source§fn short_type_path() -> &'static str
fn short_type_path() -> &'static str
Returns a short, pretty-print enabled path to the type. Read more
source§fn type_ident() -> Option<&'static str>
fn type_ident() -> Option<&'static str>
source§fn crate_name() -> Option<&'static str>
fn crate_name() -> Option<&'static str>
source§impl<UserData> Typed for Map<UserData>where
Self: Any + Send + Sync,
UserData: AsBindGroup + Reflect + Clone + Default + TypePath + ShaderType + WriteInto + ShaderSize + TypePath + FromReflect,
MapUniform: FromReflect + TypePath,
Vec<u32>: FromReflect + TypePath,
Handle<Image>: FromReflect + TypePath,
Vec<String>: FromReflect + TypePath,
bool: FromReflect + TypePath,
Vec<Vec2>: FromReflect + TypePath,
impl<UserData> Typed for Map<UserData>where
Self: Any + Send + Sync,
UserData: AsBindGroup + Reflect + Clone + Default + TypePath + ShaderType + WriteInto + ShaderSize + TypePath + FromReflect,
MapUniform: FromReflect + TypePath,
Vec<u32>: FromReflect + TypePath,
Handle<Image>: FromReflect + TypePath,
Vec<String>: FromReflect + TypePath,
bool: FromReflect + TypePath,
Vec<Vec2>: FromReflect + TypePath,
source§impl<UserData> VisitAssetDependencies for Map<UserData>where
UserData: AsBindGroup + Reflect + Clone + Default + TypePath + ShaderType + WriteInto + ShaderSize,
impl<UserData> VisitAssetDependencies for Map<UserData>where
UserData: AsBindGroup + Reflect + Clone + Default + TypePath + ShaderType + WriteInto + ShaderSize,
fn visit_dependencies(&self, visit: &mut impl FnMut(UntypedAssetId))
impl<UserData> Asset for Map<UserData>where
UserData: AsBindGroup + Reflect + Clone + Default + TypePath + ShaderType + WriteInto + ShaderSize,
Auto Trait Implementations§
impl<UserData> Freeze for Map<UserData>where
UserData: Freeze,
impl<UserData = DefaultUserData> !RefUnwindSafe for Map<UserData>
impl<UserData> Send for Map<UserData>
impl<UserData> Sync for Map<UserData>
impl<UserData> Unpin for Map<UserData>where
UserData: Unpin,
impl<UserData = DefaultUserData> !UnwindSafe for Map<UserData>
Blanket Implementations§
source§impl<T, U> AsBindGroupShaderType<U> for T
impl<T, U> AsBindGroupShaderType<U> for T
source§fn as_bind_group_shader_type(&self, _images: &RenderAssets<Image>) -> U
fn as_bind_group_shader_type(&self, _images: &RenderAssets<Image>) -> U
Return the
T ShaderType for self. When used in AsBindGroup
derives, it is safe to assume that all images in self exist.source§impl<A> AssetContainer for Awhere
A: Asset,
impl<A> AssetContainer for Awhere
A: Asset,
fn insert(self: Box<A>, id: UntypedAssetId, world: &mut World)
fn asset_type_name(&self) -> &'static str
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
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.source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.source§fn as_any(&self) -> &(dyn Any + 'static)
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.source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
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.source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
source§impl<T> DynamicTypePath for Twhere
T: TypePath,
impl<T> DynamicTypePath for Twhere
T: TypePath,
source§fn reflect_type_path(&self) -> &str
fn reflect_type_path(&self) -> &str
See
TypePath::type_path.source§fn reflect_short_type_path(&self) -> &str
fn reflect_short_type_path(&self) -> &str
source§fn reflect_type_ident(&self) -> Option<&str>
fn reflect_type_ident(&self) -> Option<&str>
See
TypePath::type_ident.source§fn reflect_crate_name(&self) -> Option<&str>
fn reflect_crate_name(&self) -> Option<&str>
See
TypePath::crate_name.source§fn reflect_module_path(&self) -> Option<&str>
fn reflect_module_path(&self) -> Option<&str>
source§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
source§impl<T> FromWorld for Twhere
T: Default,
impl<T> FromWorld for Twhere
T: Default,
source§fn from_world(_world: &mut World) -> T
fn from_world(_world: &mut World) -> T
Creates
Self using data from the given World.source§impl<S> GetField for Swhere
S: Struct,
impl<S> GetField for Swhere
S: Struct,
source§impl<T> GetPath for T
impl<T> GetPath for T
source§fn reflect_path<'p>(
&self,
path: impl ReflectPath<'p>
) -> Result<&(dyn Reflect + 'static), ReflectPathError<'p>>
fn reflect_path<'p>( &self, path: impl ReflectPath<'p> ) -> Result<&(dyn Reflect + 'static), ReflectPathError<'p>>
Returns a reference to the value specified by
path. Read moresource§fn reflect_path_mut<'p>(
&mut self,
path: impl ReflectPath<'p>
) -> Result<&mut (dyn Reflect + 'static), ReflectPathError<'p>>
fn reflect_path_mut<'p>( &mut self, path: impl ReflectPath<'p> ) -> Result<&mut (dyn Reflect + 'static), ReflectPathError<'p>>
Returns a mutable reference to the value specified by
path. Read moresource§fn path<'p, T>(
&self,
path: impl ReflectPath<'p>
) -> Result<&T, ReflectPathError<'p>>where
T: Reflect,
fn path<'p, T>(
&self,
path: impl ReflectPath<'p>
) -> Result<&T, ReflectPathError<'p>>where
T: Reflect,
Returns a statically typed reference to the value specified by
path. Read moresource§fn path_mut<'p, T>(
&mut self,
path: impl ReflectPath<'p>
) -> Result<&mut T, ReflectPathError<'p>>where
T: Reflect,
fn path_mut<'p, T>(
&mut self,
path: impl ReflectPath<'p>
) -> Result<&mut T, ReflectPathError<'p>>where
T: Reflect,
Returns a statically typed mutable reference to the value specified by
path. Read more