Exemple #1
0
        // Returns the actual value of this Value object.
        private Yarn.Value EvaluateValue(Value value)
        {
            switch (value.type)
            {
            case Value.Type.Variable:
                dialogue.LogDebugMessage("Checking value " + value.variableName);
                return(new Value(dialogue.continuity.GetNumber(value.variableName)));

            default:
                return(value);
            }
        }
Exemple #2
0
        // Prints out the list of tokens that the tokeniser found for this node
        void PrintTokenList(IEnumerable <Token> tokenList)
        {
            // Sum up the result
            var sb = new System.Text.StringBuilder();

            foreach (var t in tokenList)
            {
                sb.AppendLine(string.Format("{0} ({1} line {2})", t.ToString(), t.context, t.lineNumber));
            }

            // Let's see what we got
            dialogue.LogDebugMessage("Tokens:");
            dialogue.LogDebugMessage(sb.ToString());
        }
Exemple #3
0
        public bool SetNode(string nodeName)
        {
            if (Program.Nodes.ContainsKey(nodeName) == false)
            {
                executionState = ExecutionState.Stopped;
                throw new DialogueException($"No node named {nodeName}");
            }

            dialogue.LogDebugMessage("Running node " + nodeName);

            currentNode = Program.Nodes [nodeName];
            ResetState();
            state.currentNodeName = nodeName;

            return(true);
        }
        public bool SetNode(string nodeName)
        {
            if (Program.Nodes.ContainsKey(nodeName) == false)
            {
                var error = "No node named " + nodeName;
                dialogue.LogErrorMessage(error);
                executionState = ExecutionState.Stopped;
                return(false);
            }

            dialogue.LogDebugMessage("Running node " + nodeName);

            currentNode = Program.Nodes [nodeName];
            ResetState();
            state.currentNodeName = nodeName;

            return(true);
        }
		public bool SetNode(string nodeName) {
			if (program.nodes.ContainsKey(nodeName) == false) {

				var error = "No node named " + nodeName;
				dialogue.LogErrorMessage(error);
				executionState = ExecutionState.Stopped;
				return false;
			}

			dialogue.LogDebugMessage ("Running node " + nodeName);

			// Clear the special variables
			dialogue.continuity.SetNumber(SpecialVariables.ShuffleOptions, 0.0f);

			currentNodeInstructions = program.nodes [nodeName].instructions;
			ResetState ();
			state.currentNode = nodeName;

			return true;
		}
        public bool SetNode(string nodeName)
        {
            if (Program == null || Program.Nodes.Count == 0)
            {
                throw new DialogueException($"Cannot load node {nodeName}: No nodes have been loaded.");
            }

            if (Program.Nodes.ContainsKey(nodeName) == false)
            {
                executionState = ExecutionState.Stopped;
                throw new DialogueException($"No node named {nodeName} has been loaded.");
            }

            dialogue.LogDebugMessage("Running node " + nodeName);

            currentNode = Program.Nodes [nodeName];
            ResetState();
            state.currentNodeName = nodeName;

            nodeStartHandler?.Invoke(nodeName);
            return(true);
        }
        public bool SetNode(string nodeName)
        {
            if (program.nodes.ContainsKey(nodeName) == false)
            {
                var error = "No node named " + nodeName;
                dialogue.LogErrorMessage(error);
                executionState = ExecutionState.Stopped;
                return(false);
            }

            dialogue.LogDebugMessage("Running node " + nodeName);


            // Clear the special variables
            dialogue.continuity.SetValue(SpecialVariables.ShuffleOptions, new Value(false));

            currentNode = program.nodes [nodeName];
            ResetState();
            state.currentNodeName = nodeName;
            ExampleDialogueUI.onNewNode.Invoke();

            return(true);
        }