private void PrintBreakDialogueNode(BreakDialogueNode pBreakNode) { Indentation(); _output.Append("BREAK\n"); DialogueNode nextNode = _dialogueRunner.GetDialogueNode(_conversation, pBreakNode.nextNode); SwitchOnNode(nextNode); }
private DialogueNode VisitBreakDialogueNode(DialogueNode pPrevious) { #if DEBUG_WRITE Console.WriteLine("VisitBreakDialogueNode()"); #endif Token breakToken = match(Token.TokenType.BREAK); BreakDialogueNode n = _dialogueRunner.Create <BreakDialogueNode>(_conversationName, _language, (_nodeCounter++).ToString() + "(break)"); if (_loopStack.Count > 0) { n.breakTargetLoop = _loopStack.Peek().name; } else { throw new GrimmException("Trying to break at weird position? Line: " + breakToken.LineNr + " in conversation '" + _conversationName + "'"); } AddLinkFromPreviousNode(pPrevious, n); return(n); }