/// <summary> /// Deserializes a whole tree. /// </summary> /// <remarks> /// On first call, it deserializes serialized data and caches it for later usage. /// </remarks> private void Deserialize() { if (m_treeBuilder == null) { BehaviorTreeDebug.Log("Start deserializing a tree builder"); m_treeBuilder = new TreeBuilder(); Deserialize(m_RootNode); BehaviorTreeDebug.Log("Finish deserializing a tree builder"); } }
public override TreeRoot CreateTree(Blackboard blackboard) { Profiler.BeginSample("SerializedBehaviorTree.CreateTree(Blackboard)"); Profiler.BeginSample(name); Deserialize(); BehaviorTreeDebug.Log($"Start creating a behavior tree {name}"); TreeRoot treeRoot = m_treeBuilder.Build(blackboard); BehaviorTreeDebug.Log($"Finish creating a behavior tree {name}"); Profiler.EndSample(); Profiler.EndSample(); return(treeRoot); }