aboutsummaryrefslogtreecommitdiff
path: root/src/serialized_file.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/serialized_file.rs')
-rw-r--r--src/serialized_file.rs7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/serialized_file.rs b/src/serialized_file.rs
index a6514ee..aba72b9 100644
--- a/src/serialized_file.rs
+++ b/src/serialized_file.rs
@@ -345,6 +345,13 @@ impl<T: Read + Seek> SerializedFile<T> {
.ok_or(anyhow!("type tree missing"))?;
Value::read(typetree, self.endianness, &mut self.file)
}
+
+ pub fn all_objects_of_class(&self, class_name: &str) -> impl Iterator<Item = &ObjectInfo> {
+ self.objects.iter().filter(move |o| {
+ self.get_object_type_tree(&o)
+ .map_or(false, |t| t.type_string == class_name)
+ })
+ }
}
impl TypeTreeNode {