From 372c13e207523ec919c6490682f628f7d21cebea Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Kat=20March=C3=A1n?= <kzm@zkat.tech>
Date: Fri, 14 Jan 2022 22:17:41 -0800
Subject: [PATCH] fix(hierarchy): make sure all the hierarchy stuff is set up
 properly

---
 src/actions.rs | 4 ++++
 src/scorers.rs | 6 ++++++
 2 files changed, 10 insertions(+)

diff --git a/src/actions.rs b/src/actions.rs
index b65464f..609bdf7 100644
--- a/src/actions.rs
+++ b/src/actions.rs
@@ -138,6 +138,8 @@ impl ActionBuilder for StepsBuilder {
                     active_ent: ActionEnt(child_action),
                     steps: self.steps.clone(),
                 })
+                .insert(Transform::default())
+                .insert(GlobalTransform::default())
                 .push_children(&[child_action]);
         }
     }
@@ -271,6 +273,8 @@ impl ActionBuilder for ConcurrentlyBuilder {
             .collect();
         cmd.entity(action)
             .insert(Name::new("Concurrent Action"))
+            .insert(Transform::default())
+            .insert(GlobalTransform::default())
             .push_children(&children[..])
             .insert(Concurrently {
                 actions: children.into_iter().map(ActionEnt).collect(),
diff --git a/src/scorers.rs b/src/scorers.rs
index 35142f7..12fd5af 100644
--- a/src/scorers.rs
+++ b/src/scorers.rs
@@ -189,6 +189,8 @@ impl ScorerBuilder for AllOrNothingBuilder {
             .collect();
         cmd.entity(scorer)
             .insert(Score::default())
+            .insert(Transform::default())
+            .insert(GlobalTransform::default())
             .push_children(&scorers[..])
             .insert(Name::new("Scorer"))
             .insert(AllOrNothing {
@@ -273,6 +275,7 @@ impl ScorerBuilder for SumOfScorersBuilder {
         cmd.entity(scorer)
             .insert(Transform::default())
             .insert(GlobalTransform::default())
+            .push_children(&scorers[..])
             .insert(SumOfScorers {
                 threshold: self.threshold,
                 scorers: scorers.into_iter().map(ScorerEnt).collect(),
@@ -364,6 +367,7 @@ impl ScorerBuilder for WinningScorerBuilder {
         cmd.entity(scorer)
             .insert(Transform::default())
             .insert(GlobalTransform::default())
+            .push_children(&scorers[..])
             .insert(WinningScorer {
                 threshold: self.threshold,
                 scorers: scorers.into_iter().map(ScorerEnt).collect(),
@@ -431,9 +435,11 @@ pub struct EvaluatingScorerBuilder {
 impl ScorerBuilder for EvaluatingScorerBuilder {
     fn build(&self, cmd: &mut Commands, scorer: Entity, actor: Entity) {
         let inner_scorer = self.scorer.spawn_scorer(cmd, actor);
+        let scorers = vec![inner_scorer];
         cmd.entity(scorer)
             .insert(Transform::default())
             .insert(GlobalTransform::default())
+            .push_children(&scorers[..])
             .insert(EvaluatingScorer {
                 evaluator: self.evaluator.clone(),
                 scorer: ScorerEnt(inner_scorer),
-- 
GitLab