From 6c64df4fc1211abe19919a3628476b930b6e9919 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Kat=20March=C3=A1n?= <kzm@zkat.tech>
Date: Fri, 14 Jan 2022 22:14:52 -0800
Subject: [PATCH] feat(api): rename attach and hide it from docs

---
 src/actions.rs | 13 ++++++-------
 src/choices.rs |  2 +-
 src/scorers.rs | 15 +++++++--------
 src/thinker.rs |  6 +++---
 4 files changed, 17 insertions(+), 19 deletions(-)

diff --git a/src/actions.rs b/src/actions.rs
index 2f95cc4..b65464f 100644
--- a/src/actions.rs
+++ b/src/actions.rs
@@ -87,10 +87,9 @@ pub trait ActionBuilder: std::fmt::Debug + Send + Sync {
     */
     fn build(&self, cmd: &mut Commands, action: Entity, actor: Entity);
 
-    /**
-    Don't implement this yourself unless you know what you're doing.
-     */
-    fn attach(&self, cmd: &mut Commands, actor: Entity) -> Entity {
+    #[doc(hidden)]
+    // Don't implement this yourself unless you know what you're doing.
+    fn spawn_action(&self, cmd: &mut Commands, actor: Entity) -> Entity {
         let action_ent = ActionEnt(cmd.spawn().id());
         cmd.entity(action_ent.0)
             .insert(Name::new("Action"))
@@ -131,7 +130,7 @@ impl StepsBuilder {
 impl ActionBuilder for StepsBuilder {
     fn build(&self, cmd: &mut Commands, action: Entity, actor: Entity) {
         if let Some(step) = self.steps.get(0) {
-            let child_action = step.attach(cmd, actor);
+            let child_action = step.spawn_action(cmd, actor);
             cmd.entity(action)
                 .insert(Name::new("Steps Action"))
                 .insert(Steps {
@@ -223,7 +222,7 @@ pub fn steps_system(
 
                         steps_action.active_step += 1;
                         let step_builder = steps_action.steps[steps_action.active_step].clone();
-                        let step_ent = step_builder.attach(&mut cmd, *actor);
+                        let step_ent = step_builder.spawn_action(&mut cmd, *actor);
                         cmd.entity(seq_ent).push_children(&[step_ent]);
                         steps_action.active_ent.0 = step_ent;
                     }
@@ -268,7 +267,7 @@ impl ActionBuilder for ConcurrentlyBuilder {
         let children: Vec<Entity> = self
             .actions
             .iter()
-            .map(|action| action.attach(cmd, actor))
+            .map(|action| action.spawn_action(cmd, actor))
             .collect();
         cmd.entity(action)
             .insert(Name::new("Concurrent Action"))
diff --git a/src/choices.rs b/src/choices.rs
index 3091026..b342eb7 100644
--- a/src/choices.rs
+++ b/src/choices.rs
@@ -37,7 +37,7 @@ impl ChoiceBuilder {
     }
 
     pub fn build(&self, cmd: &mut Commands, actor: Entity, parent: Entity) -> Choice {
-        let scorer_ent = self.when.attach(cmd, actor);
+        let scorer_ent = self.when.spawn_scorer(cmd, actor);
         cmd.entity(parent).push_children(&[scorer_ent]);
         Choice {
             scorer: ScorerEnt(scorer_ent),
diff --git a/src/scorers.rs b/src/scorers.rs
index 0e58f14..35142f7 100644
--- a/src/scorers.rs
+++ b/src/scorers.rs
@@ -63,10 +63,9 @@ pub trait ScorerBuilder: std::fmt::Debug + Sync + Send {
     */
     fn build(&self, cmd: &mut Commands, scorer: Entity, actor: Entity);
 
-    /**
-    Don't implement this yourself unless you know what you're doing.
-     */
-    fn attach(&self, cmd: &mut Commands, actor: Entity) -> Entity {
+    // Don't implement this yourself unless you know what you're doing.
+    #[doc(hidden)]
+    fn spawn_scorer(&self, cmd: &mut Commands, actor: Entity) -> Entity {
         let scorer_ent = cmd.spawn().id();
         cmd.entity(scorer_ent)
             .insert(Name::new("Scorer"))
@@ -186,7 +185,7 @@ impl ScorerBuilder for AllOrNothingBuilder {
         let scorers: Vec<_> = self
             .scorers
             .iter()
-            .map(|scorer| scorer.attach(cmd, actor))
+            .map(|scorer| scorer.spawn_scorer(cmd, actor))
             .collect();
         cmd.entity(scorer)
             .insert(Score::default())
@@ -269,7 +268,7 @@ impl ScorerBuilder for SumOfScorersBuilder {
         let scorers: Vec<_> = self
             .scorers
             .iter()
-            .map(|scorer| scorer.attach(cmd, actor))
+            .map(|scorer| scorer.spawn_scorer(cmd, actor))
             .collect();
         cmd.entity(scorer)
             .insert(Transform::default())
@@ -360,7 +359,7 @@ impl ScorerBuilder for WinningScorerBuilder {
         let scorers: Vec<_> = self
             .scorers
             .iter()
-            .map(|scorer| scorer.attach(cmd, actor))
+            .map(|scorer| scorer.spawn_scorer(cmd, actor))
             .collect();
         cmd.entity(scorer)
             .insert(Transform::default())
@@ -431,7 +430,7 @@ pub struct EvaluatingScorerBuilder {
 
 impl ScorerBuilder for EvaluatingScorerBuilder {
     fn build(&self, cmd: &mut Commands, scorer: Entity, actor: Entity) {
-        let inner_scorer = self.scorer.attach(cmd, actor);
+        let inner_scorer = self.scorer.spawn_scorer(cmd, actor);
         cmd.entity(scorer)
             .insert(Transform::default())
             .insert(GlobalTransform::default())
diff --git a/src/thinker.rs b/src/thinker.rs
index 5c6db64..bc01bd0 100644
--- a/src/thinker.rs
+++ b/src/thinker.rs
@@ -144,7 +144,7 @@ pub fn thinker_component_attach_system(
     q: Query<(Entity, &ThinkerBuilder), Without<HasThinker>>,
 ) {
     for (entity, thinker_builder) in q.iter() {
-        let thinker = thinker_builder.attach(&mut cmd, entity);
+        let thinker = thinker_builder.spawn_action(&mut cmd, entity);
         cmd.entity(entity).insert(HasThinker(thinker));
     }
 }
@@ -305,7 +305,7 @@ fn exec_picked_action(
                     // Despawn the action itself.
                     cmd.entity(action_ent.0).despawn_recursive();
                     thinker.current_action = Some((
-                        ActionEnt(picked_action.1.attach(cmd, actor)),
+                        ActionEnt(picked_action.1.spawn_action(cmd, actor)),
                         picked_action.clone(),
                     ));
                 }
@@ -326,7 +326,7 @@ fn exec_picked_action(
         // current_action in the thinker. The logic here is pretty
         // straightforward -- we set the action, Request it, and
         // that's it.
-        let new_action = picked_action.1.attach(cmd, actor);
+        let new_action = picked_action.1.spawn_action(cmd, actor);
         thinker.current_action = Some((ActionEnt(new_action), picked_action.clone()));
     }
 }
-- 
GitLab