private CallFunctionDialogueNode VisitFunctionDialogueNode(DialogueNode pPrevious) { #if DEBUG_WRITE Console.WriteLine("VisitFunctionDialogueNode()"); #endif string functionName = ""; string[] args = VisitFunctionCall(out functionName); CallFunctionDialogueNode n = _dialogueRunner.Create <CallFunctionDialogueNode>(_conversationName, _language, (_nodeCounter++).ToString() + "_" + functionName); n.function = functionName; n.args = args; if (!_dialogueRunner.HasFunction(functionName)) { //throw new GrimmException("There is no '" + functionName + "' function registered in the dialogue runner"); } #if DEBUG_WRITE Console.WriteLine("Added CallFunctionDialogueNode() with name '" + n.name + "'"); #endif AddLinkFromPreviousNode(pPrevious, n); return(n); }
private void PrintCallFunctionDialogueNode(CallFunctionDialogueNode pFunctionNode) { Indentation(); StringBuilder sb = new StringBuilder(); int i = 0; foreach (string arg in pFunctionNode.args) { sb.Append(arg); i++; if (i < pFunctionNode.args.Length) { sb.Append(", "); } } _output.Append("CALL FUNCTION " + pFunctionNode.function + "(" + sb.ToString() + ")\n"); DialogueNode nextNode = _dialogueRunner.GetDialogueNode(_conversation, pFunctionNode.nextNode); SwitchOnNode(nextNode); }
private void PrintCallFunctionDialogueNode(CallFunctionDialogueNode pFunctionNode) { Indentation(); StringBuilder sb = new StringBuilder(); int i = 0; foreach(string arg in pFunctionNode.args) { sb.Append(arg); i++; if(i < pFunctionNode.args.Length) { sb.Append(", "); } } _output.Append("CALL FUNCTION " + pFunctionNode.function + "(" + sb.ToString() + ")\n"); DialogueNode nextNode = _dialogueRunner.GetDialogueNode(_conversation, pFunctionNode.nextNode); SwitchOnNode(nextNode); }