1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
use ggez::graphics::spritebatch::SpriteBatch;
use crate::tile::Tile;
use crate::tileset::Tileset;
pub struct Layer {
pub tiles: Vec<Tile>,
pub width: usize,
pub height: usize,
}
impl Layer {
pub fn new(text: &str, tileset: &Tileset, width: usize, height: usize) -> Layer {
Layer {
tiles: text
.replace("\n", "")
.split(',')
.enumerate()
.map(|(i, s)| Tile::new(s, i, tileset, width, height))
.collect(),
width,
height,
}
}
pub fn draw(&self, spritebatch: &mut SpriteBatch) {
for tile in self.tiles.iter() {
tile.draw(spritebatch);
}
}
}
|