Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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);
        }