From 289eeab710f27413fdba6f831e57f1d8f06503a0 Mon Sep 17 00:00:00 2001
From: Louis Capitanchik <contact@louiscap.co>
Date: Thu, 19 Jan 2023 14:41:59 +0000
Subject: [PATCH] Use layers getter instead of directly accessing layers in
 MapQuery

---
 src/map_query.rs | 29 ++++++++++-------------------
 1 file changed, 10 insertions(+), 19 deletions(-)

diff --git a/src/map_query.rs b/src/map_query.rs
index 6ad34d7..29afdd8 100644
--- a/src/map_query.rs
+++ b/src/map_query.rs
@@ -74,38 +74,29 @@ impl<'w, 's> MapQuery<'w, 's> {
 	// --- call the static accessors on whatever the current level is
 
 	pub fn for_each_layer_of(level: &LdtkLevel, mut cb: impl FnMut(&LdtkLayer)) {
-		for layer in level.layers().rev() {
+		for layer in level.layers() {
 			cb(layer);
 		}
 	}
 
 	pub fn get_entities_of(level: &LdtkLevel) -> Vec<&EntityInstance> {
 		level
-			.level_ref()
-			.layer_instances
-			.as_ref()
-			.map(|layers| {
-				layers
-					.iter()
-					.flat_map(|layer| layer.entity_instances.iter())
-					.collect()
-			})
-			.unwrap_or_default()
+			.layers()
+			.flat_map(|layer| layer.as_ref().entity_instances.iter())
+			.collect()
 	}
 
 	pub fn get_instance_refs_of(level: &LdtkLevel) -> Vec<InstanceRef> {
 		level
-			.level_ref()
-			.layer_instances
-			.as_ref()
-			.map(|layers| {
-				layers
+			.layers()
+			.flat_map(|layer| {
+				layer
+					.as_ref()
+					.entity_instances
 					.iter()
-					.flat_map(|layer| layer.entity_instances.iter())
 					.map(|inst| InstanceRef { entity: inst })
-					.collect()
 			})
-			.unwrap_or_default()
+			.collect()
 	}
 
 	pub fn get_filtered_entities_of(
-- 
GitLab