Map

Struct Map 

Source
pub struct Map {
    pub source: PathBuf,
    pub orientation: Orientation,
    pub width: u32,
    pub height: u32,
    pub tile_width: u32,
    pub tile_height: u32,
    pub hex_side_length: Option<i32>,
    pub stagger_axis: StaggerAxis,
    pub stagger_index: StaggerIndex,
    pub properties: Properties,
    pub background_color: Option<Color>,
    pub user_type: Option<String>,
    /* private fields */
}
Expand description

All Tiled map files will be parsed into this. Holds all the layers and tilesets.

Fields§

§source: PathBuf

The path first used in a ResourceReader to load this map.

§orientation: Orientation

The way tiles are laid out in the map.

§width: u32

Width of the map, in tiles.

§Note

There is no guarantee that this value will be the same as the width from its tile layers.

§height: u32

Height of the map, in tiles.

§Note

There is no guarantee that this value will be the same as the height from its tile layers.

§tile_width: u32

Tile width, in pixels.

§Note

This value along with Self::tile_height determine the general size of the map, and individual tiles may have different sizes. As such, there is no guarantee that this value will be the same as the one from the tilesets the map is using.

§tile_height: u32

Tile height, in pixels.

§Note

This value along with Self::tile_width determine the general size of the map, and individual tiles may have different sizes. As such, there is no guarantee that this value will be the same as the one from the tilesets the map is using.

§hex_side_length: Option<i32>

The length of the side of a hexagonal tile in pixels (used by tile layers on hexagonal maps).

§stagger_axis: StaggerAxis

The stagger axis of Hexagonal/Staggered map.

§stagger_index: StaggerIndex

The stagger index of Hexagonal/Staggered map.

§properties: Properties

The custom properties of this map.

§background_color: Option<Color>

The background color of this map, if any.

§user_type: Option<String>

The type of the map, which is arbitrary and set by the user.

Implementations§

Source§

impl Map

Source

pub fn version(&self) -> &str

The TMX format version this map was saved to. Equivalent to the map file’s version attribute.

Source

pub fn infinite(&self) -> bool

Whether this map is infinite. An infinite map has no fixed size and can grow in all directions. Its layer data is stored in chunks. This value determines whether the map’s tile layers are FiniteTileLayers or crate::InfiniteTileLayers.

Source§

impl Map

Source

pub fn tilesets(&self) -> &[Arc<Tileset>]

Get a reference to the map’s tilesets.

Source

pub fn layers(&self) -> impl ExactSizeIterator<Item = Layer<'_>>

Get an iterator over top-level layers in the map in ascending order of their layer index.

Note: “top-level” means that if a map has layers of LayerDataType::Group type, you need to recursively enumerate those group layers.

§Example
let tile_layers = map.layers().filter_map(|layer| match layer.layer_type() {
    tiled::LayerType::Tiles(layer) => Some(layer),
    _ => None,
});

for layer in tile_layers {
    my_renderer.render(layer);
}
Source

pub fn get_layer(&self, index: usize) -> Option<Layer<'_>>

Returns the top-level layer that has the specified index, if it exists.

Trait Implementations§

Source§

impl Clone for Map

Source§

fn clone(&self) -> Map

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Map

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PartialEq for Map

Source§

fn eq(&self, other: &Map) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl StructuralPartialEq for Map

Auto Trait Implementations§

§

impl Freeze for Map

§

impl RefUnwindSafe for Map

§

impl Send for Map

§

impl Sync for Map

§

impl Unpin for Map

§

impl UnwindSafe for Map

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.