public LispParser.Node BuildParseTree() { LispParser.MethodNode node = new LispParser.MethodNode("TaskUtility"); node.Add(UtilityComputer.BuildParseTree()); node.Add(Task.BuildParseTree()); return(node); }
public LispParser.Node BuildParseTree() { LispParser.MethodNode node = new LispParser.MethodNode("BehaviourTree"); node.Add("Name", Name, true); node.Add("RunningTaskHysterisis", RunningTaskHysterisis); node.Add(RootTask.BuildParseTree()); return(node); }
public override LispParser.MethodNode BuildParseTree() { LispParser.MethodNode node = (LispParser.MethodNode)base.BuildParseTree(); if (Predicate != null) { node.Add("if", Predicate.BuildParseTree()); } foreach (TreeTask <TBb> treeTask in Children) { node.Add(treeTask.BuildParseTree()); } return(node); }
LispParser.ICanCreateFromLispParseTree <TBb> LispParser.ICompiler <TBb> .Compile(TBb blackboard, LispParser.Node parseTree) { foreach (LispParser.ICanCreateFromLispParseTree <TBb> creator in Creators) { LispParser.ICanCreateFromLispParseTree <TBb> result = creator.CreateFromParseTree(blackboard, parseTree, this); if (result != null) { return(result); } } // For named couritines, we rewrite the parsetree to be able to use the regular flow. LispParser.MethodNode method = parseTree as LispParser.MethodNode; if (method != null) { Func <IEnumerator <TaskState> > function = blackboard.GetCoRoutineFunc(method.Identifier.Value); if (function != null) { method.Add(method.Identifier); method.Identifier = new LispParser.IdentifierNode("NamedCoroutine"); LispParser.ICanCreateFromLispParseTree <TBb> result = ((LispParser.ICanCreateFromLispParseTree <TBb>)_namedCoroutine).CreateFromParseTree(blackboard, method, this); if (result != null) { return(result); } } } throw new InvalidOperationException( string.Format("Unrecognized token: {0}.", parseTree)); }
public virtual LispParser.MethodNode BuildParseTree() { string className = GetClassName(); LispParser.MethodNode node = new LispParser.MethodNode(className); node.Add("Name", Name, true); return(node); }
public override LispParser.MethodNode BuildParseTree() { // Named Coroutine is hidden in the code, so this behaves slightly differently than would be expected //LispParser.MethodNode node = base.BuildParseTree(); //node.Add(NamedCoroutineCreator.BuildParseTree()); //return node; LispParser.MethodNode node = new LispParser.MethodNode(NamedCoroutineCreator.Name); node.Add("Name", Name, true); return(node); }
public override LispParser.MethodNode BuildParseTree() { LispParser.MethodNode node = new LispParser.MethodNode("DebugLog"); node.Add(StringComputer.BuildParseTree()); return(node); }
public override LispParser.MethodNode BuildParseTree() { LispParser.MethodNode node = base.BuildParseTree(); node.Add("ResultState", ResultState.ToString()); return(node); }
public override LispParser.MethodNode BuildParseTree() { LispParser.MethodNode node = base.BuildParseTree(); node.Add(DecoratedTask.BuildParseTree()); return(node); }