public Context(Node <TBlackboard> root, TBlackboard blackboard, INodeContextCreator <TBlackboard> nodeContextCreator = null) { nodeContextCreator = nodeContextCreator ?? SimpleNodeContextCreator <TBlackboard> .Instance; Blackboard = blackboard; //IsCurrentPathRunning = false; _currentPath = new Path <TBlackboard>(nodeContextCreator); _lastRunningPath = new Path <TBlackboard>(nodeContextCreator); _root = root; }
/// <summary> /// Create BT context, that should be used per agent /// </summary> /// <param name="root">BT root node</param> /// <param name="blackboard">Reference to Blackboard</param> /// <param name="nodeContextCreator">NodeContext pool</param> /// <returns>Context</returns> public Context <TBlackboard> CreateContext(Node <TBlackboard> root, TBlackboard blackboard, INodeContextCreator <TBlackboard> nodeContextCreator = null) { Context <TBlackboard> result = new Context <TBlackboard>(root, blackboard, nodeContextCreator); return(result); }
internal Path(INodeContextCreator <TBlackboard> nodeContextCreator) { _nodesContext = new List <NodeContext <TBlackboard> >(16); _nodeContextCreator = nodeContextCreator; }