From 22891bf59032ba88262824255a706d652031384b Mon Sep 17 00:00:00 2001 From: chai Date: Thu, 10 Mar 2022 14:07:40 +0800 Subject: * move folder --- .../Runtime/Actions/StartBehaviorTree.cs | 92 ---------------------- 1 file changed, 92 deletions(-) delete mode 100644 Assets/ThirdParty/Behavior Designer/Runtime/Actions/StartBehaviorTree.cs (limited to 'Assets/ThirdParty/Behavior Designer/Runtime/Actions/StartBehaviorTree.cs') diff --git a/Assets/ThirdParty/Behavior Designer/Runtime/Actions/StartBehaviorTree.cs b/Assets/ThirdParty/Behavior Designer/Runtime/Actions/StartBehaviorTree.cs deleted file mode 100644 index 4bc5ebee..00000000 --- a/Assets/ThirdParty/Behavior Designer/Runtime/Actions/StartBehaviorTree.cs +++ /dev/null @@ -1,92 +0,0 @@ -using UnityEngine; - -namespace BehaviorDesigner.Runtime.Tasks -{ - [TaskDescription("Start a new behavior tree and return success after it has been started.")] - [HelpURL("http://www.opsive.com/assets/BehaviorDesigner/documentation.php?id=20")] - [TaskIcon("{SkinColor}StartBehaviorTreeIcon.png")] - public class StartBehaviorTree : Action - { - [Tooltip("The GameObject of the behavior tree that should be started. If null use the current behavior")] - public SharedGameObject behaviorGameObject; - [Tooltip("The group of the behavior tree that should be started")] - public SharedInt group; - [Tooltip("Should this task wait for the behavior tree to complete?")] - public SharedBool waitForCompletion = false; - [Tooltip("Should the variables be synchronized?")] - public SharedBool synchronizeVariables; - - private bool behaviorComplete; - private Behavior behavior; - - public override void OnStart() - { - var behaviorTrees = GetDefaultGameObject(behaviorGameObject.Value).GetComponents(); - if (behaviorTrees.Length == 1) { - behavior = behaviorTrees[0]; - } else if (behaviorTrees.Length > 1) { - for (int i = 0; i < behaviorTrees.Length; ++i) { - if (behaviorTrees[i].Group == group.Value) { - behavior = behaviorTrees[i]; - break; - } - } - // If the group can't be found then use the first behavior tree - if (behavior == null) { - behavior = behaviorTrees[0]; - } - } - - if (behavior != null) { - var variables = Owner.GetAllVariables(); - if (variables != null && synchronizeVariables.Value) { - for (int i = 0; i < variables.Count; ++i) { - behavior.SetVariableValue(variables[i].Name, variables[i]); - } - } - - behavior.EnableBehavior(); - - if (waitForCompletion.Value) { - behaviorComplete = false; - behavior.OnBehaviorEnd += BehaviorEnded; - } - } - } - - public override TaskStatus OnUpdate() - { - if (behavior == null) { - return TaskStatus.Failure; - } - - // Return a status of running if we are waiting for the behavior tree to end and it hasn't ended yet - if (waitForCompletion.Value && !behaviorComplete) { - return TaskStatus.Running; - } - - return TaskStatus.Success; - } - - private void BehaviorEnded(Behavior behavior) - { - behaviorComplete = true; - } - - public override void OnEnd() - { - if (behavior != null && waitForCompletion.Value) { - behavior.OnBehaviorEnd -= BehaviorEnded; - } - } - - public override void OnReset() - { - // Reset the properties back to their original values. - behaviorGameObject = null; - group = 0; - waitForCompletion = false; - synchronizeVariables = false; - } - } -} \ No newline at end of file -- cgit v1.1-26-g67d0