Skip to content
This repository was archived by the owner on May 10, 2023. It is now read-only.

Commit 0113933

Browse files
committed
CORE-59, CORE-62: Cleaning up.
Signed-off-by: Alexander Orlov <[email protected]>
1 parent 258d3f0 commit 0113933

File tree

2 files changed

+15
-26
lines changed

2 files changed

+15
-26
lines changed

examples/mapview/main.rs

Lines changed: 14 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ use cli::export::elevation;
1010
use cli::export::filter::{Filter, Layers};
1111
use libycresources::common::types::geometry::Scaled;
1212
use libycresources::common::types::space;
13-
use libycresources::common::types::space::Elevation;
1413
use libycresources::formats::{map, pal};
1514
use libycresources::formats::map::blueprint::prototype::Instance;
1615
use libycresources::formats::map::tiles::Group;
@@ -110,40 +109,30 @@ fn main() {
110109
println!("Success.");
111110

112111
let mut tiles = HashMap::new();
113-
map.tiles.iter().fold(&mut tiles, |a, g| {
114-
a.insert(&g.elevation, g);
115-
return a;
116-
});
117-
118-
let mut protos: HashMap<&Elevation, Vec<&Instance>> = HashMap::new();
119-
map.prototypes.iter().fold(&mut protos, |a, g| {
120-
if let Some(grid) = &g.location.grid {
121-
if let Some(protos) = a.get_mut(&grid.elevation) {
122-
protos.push(g);
112+
for group in &map.tiles { tiles.insert(&group.elevation, group); }
113+
114+
let mut protos: HashMap<&space::Elevation, Vec<&Instance>> = HashMap::new();
115+
for proto in &map.prototypes {
116+
if let Some(grid) = &proto.location.grid {
117+
if let Some(protos) = protos.get_mut(&grid.elevation) {
118+
protos.push(&proto);
123119
} else {
124-
let mut protos = Vec::new();
125-
protos.push(g);
120+
let mut list = Vec::new();
121+
list.push(proto);
126122

127-
a.insert(&grid.elevation, protos);
123+
protos.insert(&grid.elevation, list);
128124
}
129125
}
130-
return a;
131-
});
126+
}
132127

133-
let renderables: Vec<(Elevation, &&Group, Option<&Vec<&Instance>>)> = levels.map(
128+
let drawables: Vec<(space::Elevation, &&Group, Option<&Vec<&Instance>>)> = levels.map(
134129
|l| space::Elevation { level: Scaled { value: l, scale: 0..MAX_ELEVATION + 1 } }
135130
).map(|e| {
136-
let tiles = tiles.get(&e);
137131
let protos = protos.get(&e);
138-
139-
if let Some(tiles) = tiles {
140-
return Some((e, tiles, protos));
141-
}
142-
143-
return None;
132+
tiles.get(&e).map(|t| (e, t, protos))
144133
}).flatten().collect();
145134

146-
for (elevation, tiles, protos) in renderables {
135+
for (elevation, tiles, protos) in drawables {
147136
let level_readable = elevation.level.value + 1;
148137

149138
println!("Started rendering level {:?}...", level_readable);

examples/mapview/provider/suffix.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ pub(crate) fn detect(weapon: &Option<weapon::Animation>, animation: &critter::An
1515
Some(weapon::Animation::BigGun) => 8,
1616
Some(weapon::Animation::Minigun) => 9,
1717
Some(weapon::Animation::RocketLauncher) => 10,
18-
}) as char
18+
}) as char;
1919
}
2020

2121
fn a_char(a: &critter::Animation) -> char {

0 commit comments

Comments
 (0)