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()); }
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()); }
public void ShowStreamError(ConsoleUserInterfaceOptions options) { ConsoleInteractor.WriteErrorMessage("<User input stream closed.>"); }
public void ShowChoiceOutOffRange(ConsoleUserInterfaceOptions options) { ConsoleInteractor.WriteWarning("Choice out of range"); }
public void ShowChoiceOutOffRange(ConsoleUserInterfaceOptions options) { // fail silently in JSON mode }
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}"); }
public void ShowTags(List <string> tags, ConsoleUserInterfaceOptions options) { ConsoleInteractor.WriteInformation("# tags: " + string.Join(", ", tags)); }
public void ShowEndOfStory(ConsoleUserInterfaceOptions options) { ConsoleInteractor.WriteJsonInformation("{\"end\": true}"); }
public void RequestInput(ConsoleUserInterfaceOptions options) { // Prompt ConsoleInteractor.WriteInformation("?> "); }
public void ShowEndOfStory(ConsoleUserInterfaceOptions options) { ConsoleInteractor.WriteInformation("--- End of story ---"); }
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); } } }