Пример #1
0
 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;
 }
Пример #2
0
        /// <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);
        }
Пример #3
0
 internal Path(INodeContextCreator <TBlackboard> nodeContextCreator)
 {
     _nodesContext       = new List <NodeContext <TBlackboard> >(16);
     _nodeContextCreator = nodeContextCreator;
 }