feat: Unfinished level loading

- Added level struct
- Added loading tests
- Partially implemented level setting up system
This commit is contained in:
Alexey 2026-03-27 18:31:46 +03:00
commit 0ab2620724
9 changed files with 414 additions and 5 deletions

16
src/tests/level.rs Normal file
View file

@ -0,0 +1,16 @@
use super::super::*;
#[test]
fn deserialize_levels() {
let level_str = include_str!("../../assets/levels/level.toml");
let level_alt_str = include_str!("../../assets/levels/level_alt.toml");
let level = toml::de::from_str::<layout::asset::structs::LevelAsset>(level_str).unwrap();
let level_alt = toml::de::from_str::<layout::asset::structs::LevelAsset>(level_alt_str).unwrap();
assert_eq!(level.meta, level_alt.meta);
assert_eq!(level.interactive, level_alt.interactive);
for (tiles_id, tiles) in level.tiles.tiles {
let (_, other_tiles) = level_alt.tiles.iter().find(|(k, _)| k == &&tiles_id).unwrap();
assert_eq!(&tiles, other_tiles);
}
}