iter_render_helpers/
iter_render_data.rs

1use led_rs::render_helpers::*; // pull in render data traits
2use led_rs::*;
3use std::fs::File;
4use std::io::prelude::*;
5use std::path::PathBuf;
6
7/// Parses and prints a single map file
8fn parse_file(file_name: &str) -> Project {
9    let mut file_path = PathBuf::from(std::env::var("CARGO_MANIFEST_DIR").unwrap());
10    file_path.push("examples");
11    file_path.push(file_name);
12    file_path.set_extension("json");
13
14    let mut file = File::open(file_path).unwrap();
15    let mut contents = String::new();
16    file.read_to_string(&mut contents).unwrap();
17
18    Project::parse_json(contents).unwrap()
19}
20
21fn main() {
22    let project = parse_file("minified_all_features");
23    let render_data = project.to_merged_render_grid(0).unwrap();
24
25    println!("### MAP DATA USING ITER ###");
26    for (row_num, row) in render_data.rows().enumerate() {
27        for (col_num, cell) in row.iter().enumerate() {
28            if cell.is_empty {
29                println!("{}, {}: EMPTY", row_num, col_num);
30                continue;
31            }
32
33            println!(
34                "{}, {}: {} @ {},{}",
35                row_num, col_num, cell.tile_id, cell.atlas_pos.0, cell.atlas_pos.1
36            );
37        }
38    }
39}