summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engine-ecs/src/component/storage.rs17
1 files changed, 16 insertions, 1 deletions
diff --git a/engine-ecs/src/component/storage.rs b/engine-ecs/src/component/storage.rs
index b56d6ba..f6ab309 100644
--- a/engine-ecs/src/component/storage.rs
+++ b/engine-ecs/src/component/storage.rs
@@ -1,6 +1,7 @@
use std::any::Any;
use std::array::IntoIter as ArrayIter;
use std::cell::RefCell;
+use std::fmt::Debug;
use std::vec::IntoIter as VecIntoIter;
use hashbrown::HashMap;
@@ -40,7 +41,7 @@ pub struct TermMetadata
pub index: u32,
}
-#[derive(Debug, Clone)]
+#[derive(Clone)]
pub struct Traversal<const TERM_CAP: usize>
{
pub kind: TraversalKind,
@@ -49,6 +50,20 @@ pub struct Traversal<const TERM_CAP: usize>
pub term_metadata: TermMetadata,
}
+impl<const TERM_CAP: usize> Debug for Traversal<TERM_CAP>
+{
+ fn fmt(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result
+ {
+ formatter
+ .debug_struct("Traversal")
+ .field("kind", &self.kind)
+ .field("relation", &self.relation)
+ .field("terms", &(self.terms)(self))
+ .field("term_metadata", &self.term_metadata)
+ .finish()
+ }
+}
+
impl<const TERM_CAP: usize> Traversal<TERM_CAP>
{
fn relationship(&self) -> Uid