Ejemplo n.º 1
0
 public void ShowOutputResult(InputInterpretationResult result, ConsoleUserInterfaceOptions options)
 {
     if (result.output != null)
     {
         ConsoleInteractor.WriteErrorMessage(result.output);
     }
 }
        public void ShowCurrentText(IStory story, ConsoleUserInterfaceOptions options)
        {
            var writer = new Runtime.SimpleJson.Writer();

            writer.WriteObjectStart();
            writer.WriteProperty("text", story.currentText);
            writer.WriteObjectEnd();
            ConsoleInteractor.WriteJsonInformation(writer.ToString());
        }
 public void ShowOutputResult(InputInterpretationResult result, ConsoleUserInterfaceOptions options)
 {
     if (result.output != null)
     {
         var writer = new Runtime.SimpleJson.Writer();
         writer.WriteObjectStart();
         writer.WriteProperty("cmdOutput", result.output);
         writer.WriteObjectEnd();
         ConsoleInteractor.WriteJsonError(writer.ToString());
     }
 }
        public void ShowTags(List <string> tags, ConsoleUserInterfaceOptions options)
        {
            var writer = new Runtime.SimpleJson.Writer();

            writer.WriteObjectStart();
            writer.WritePropertyStart("tags");
            writer.WriteArrayStart();
            foreach (var tag in tags)
            {
                writer.Write(tag);
            }
            writer.WriteArrayEnd();
            writer.WritePropertyEnd();
            writer.WriteObjectEnd();
            ConsoleInteractor.WriteJsonInformation(writer.ToString());
        }
        public void ShowChoices(List <Ink.Runtime.Choice> choices, ConsoleUserInterfaceOptions options)
        {
            var writer = new Runtime.SimpleJson.Writer();

            writer.WriteObjectStart();
            writer.WritePropertyStart("choices");
            writer.WriteArrayStart();
            foreach (var choice in choices)
            {
                writer.Write(choice.text);
            }
            writer.WriteArrayEnd();
            writer.WritePropertyEnd();
            writer.WriteObjectEnd();
            ConsoleInteractor.WriteJsonInformation(writer.ToString());
        }
Ejemplo n.º 6
0
        public void ShowChoices(List <Ink.Runtime.Choice> choices, ConsoleUserInterfaceOptions options)
        {
            ConsoleInteractor.SetConsoleForegroundColor(ConsoleColor.Blue);

            // Add extra newline to ensure that the choice is
            // on a separate line.
            ConsoleInteractor.WriteEmptyLine();

            int i = 1;

            foreach (var choice in choices)
            {
                ConsoleInteractor.WriteInformation("{0}: {1}", i, choice.text);
                i++;
            }
        }
            public void With_NoCurrentChoices()
            {
                // Arrange
                var story = Substitute.For <IStory>();

                story.HasCurrentChoices.Returns(x => false);
                var parsedFiction = Substitute.For <Ink.Parsed.IFiction>();
                var options       = new ConsoleUserInterfaceOptions()
                {
                    IsKeepRunningAfterStoryFinishedNeeded = false
                };

                var consoleUI = Substitute.ForPartsOf <ConsoleUserInterface>();

                consoleUI.When(x => x.SetOutputFormat(options)).DoNotCallBase();
                consoleUI.When(x => x.EvaluateStory(story, options)).DoNotCallBase();

                // Act
                consoleUI.Begin(story, parsedFiction, options);

                // Assert
                consoleUI.Received(0).RunStoryUntilContinuationPoint(story, parsedFiction, options); // the do while loop should only have run 1 time
            }
            public void With_Autoplay()
            {
                // Arrange
                var choice = new Ink.Runtime.Choice()
                {
                    text = "Test"
                };
                var choices = new List <Ink.Runtime.Choice>()
                {
                    choice
                };
                var story = Substitute.For <IStory>();

                story.currentChoices.Returns(x => choices);
                var parsedFiction = Substitute.For <Ink.Parsed.IFiction>();
                var options       = new ConsoleUserInterfaceOptions()
                {
                    IsAutoPlayActive = true
                };

                var choiceGenerator = Substitute.For <Ink.Ink2FountainExp.AutoPlay.IChoiceGeneratable>();

                choiceGenerator.GetRandomChoice(default).ReturnsForAnyArgs(1);
        public void ShowWarningsAndErrors(List <string> warnings, List <string> errors, ConsoleUserInterfaceOptions options)
        {
            Runtime.SimpleJson.Writer issueWriter = null;
            issueWriter = new Runtime.SimpleJson.Writer();
            issueWriter.WriteObjectStart();
            issueWriter.WritePropertyStart("issues");
            issueWriter.WriteArrayStart();

            if (errors.Count > 0)
            {
                foreach (var errorMsg in errors)
                {
                    issueWriter.Write(errorMsg);
                }
            }
            if (warnings.Count > 0)
            {
                foreach (var warningMsg in warnings)
                {
                    issueWriter.Write(warningMsg);
                }
            }

            issueWriter.WriteArrayEnd();
            issueWriter.WritePropertyEnd();
            issueWriter.WriteObjectEnd();
            ConsoleInteractor.WriteJsonError(issueWriter.ToString());
        }
Ejemplo n.º 10
0
 public void ShowStreamError(ConsoleUserInterfaceOptions options)
 {
     ConsoleInteractor.WriteErrorMessage("<User input stream closed.>");
 }
Ejemplo n.º 11
0
 public void ShowChoiceOutOffRange(ConsoleUserInterfaceOptions options)
 {
     ConsoleInteractor.WriteWarning("Choice out of range");
 }
 public void ShowChoiceOutOffRange(ConsoleUserInterfaceOptions options)
 {
     // fail silently in JSON mode
 }
Ejemplo n.º 13
0
 public void ShowCurrentText(IStory story, ConsoleUserInterfaceOptions options)
 {
     ConsoleInteractor.WriteInformation(story.currentText);
 }
 public void ShowStreamError(ConsoleUserInterfaceOptions options)
 {
     ConsoleInteractor.WriteJsonError("{\"close\": true}");
 }
 public void RequestInput(ConsoleUserInterfaceOptions options)
 {
     // Johnny Five, he's alive!
     ConsoleInteractor.WriteJsonInformation("{\"needInput\": true}");
 }
Ejemplo n.º 16
0
 public void ShowTags(List <string> tags, ConsoleUserInterfaceOptions options)
 {
     ConsoleInteractor.WriteInformation("# tags: " + string.Join(", ", tags));
 }
 public void ShowEndOfStory(ConsoleUserInterfaceOptions options)
 {
     ConsoleInteractor.WriteJsonInformation("{\"end\": true}");
 }
Ejemplo n.º 18
0
 public void RequestInput(ConsoleUserInterfaceOptions options)
 {
     // Prompt
     ConsoleInteractor.WriteInformation("?> ");
 }
Ejemplo n.º 19
0
 public void ShowEndOfStory(ConsoleUserInterfaceOptions options)
 {
     ConsoleInteractor.WriteInformation("--- End of story ---");
 }
Ejemplo n.º 20
0
        public void ShowWarningsAndErrors(List <string> warnings, List <string> errors, ConsoleUserInterfaceOptions options)
        {
            if (errors.Count > 0)
            {
                foreach (var errorMsg in errors)
                {
                    ConsoleInteractor.WriteErrorMessage(errorMsg, ConsoleColor.Red);
                }
            }

            if (warnings.Count > 0)
            {
                foreach (var warningMsg in warnings)
                {
                    ConsoleInteractor.WriteWarning(warningMsg, ConsoleColor.Blue);
                }
            }
        }