public INode AddTree(string behaviorTreeKey, INode behaviorTree) { if (behaviorTrees.ContainsKey(behaviorTreeKey)) { if (behaviorTrees[behaviorTreeKey].IsAlive == false) { behaviorTrees[behaviorTreeKey] = new WeakReferenceT<INode>(behaviorTree); behaviorTree.SetBehaviorState(this); } else { Debug.LogError("Tried add tree that already exists with key: " + behaviorTreeKey); } } else { behaviorTrees.Add(behaviorTreeKey, new WeakReferenceT<INode>(behaviorTree)); } return behaviorTree; }