public static void Main(string[] args) { // Load story file string storyJson = File.ReadAllText("Stories/musgraveritual.json"); StoryModel model = StoryModel.Create(storyJson); // Load story into player StoryPlayer player = new StoryPlayer(model, new Inklewriter.MarkupConverters.ConsoleMarkupConverter()); // Display header Console.Clear(); Console.WriteLine(); Console.WriteLine(player.Title); Console.WriteLine("by " + player.Author); // Main loop Stitch lastStitch = player.InitialStitch; while (lastStitch != null) { Console.WriteLine(); DrawHorizontalLine(); Console.WriteLine(); var nextChunk = player.CreateChunkForStitch(lastStitch); lastStitch = DisplayChunk(nextChunk); } }
public void ReplaceStyleMarkup() { StoryPlayer player = new StoryPlayer(null, new HtmlConverter()); Assert.AreEqual("This is <b>bold</b> text.", player.ReplaceStyleMarkup("This is *-bold-* text.")); Assert.AreEqual("This is <i>italic</i> text.", player.ReplaceStyleMarkup("This is /=italic=/ text.")); }
public async Task Play(IStory <IMessageActivity> story, ChannelAccount from, IServiceCollection services) { var provider = services.BuildServiceProvider(); var player = new StoryPlayer(provider); await player.Play(story); }
public void ReplaceQuotes() { StoryPlayer player = new StoryPlayer(null, new HtmlConverter()); Assert.AreEqual("This is “quoted” text.", player.ReplaceQuotes("This is \"quoted\" text.")); Assert.AreEqual("It’s an apostrophe.", player.ReplaceQuotes("It's an apostrophe.")); }
public void ReplaceImageMarkup() { StoryPlayer player = new StoryPlayer(null, new HtmlConverter()); var result = player.ReplaceImageMarkup(@"%|%|%image.jpg$|$|$"); Assert.AreEqual(@"<div id=""illustration""><img class=""pic"" src=""image.jpg""/></div>", result); }
public void ShuffleRandomElements() { StoryPlayer player = new StoryPlayer(null, new HtmlConverter()); List <string> validResults = new List <string> { "Random red color.", "Random blue color.", "Random green color." }; string result = player.ShuffleRandomElements("Random {~red|green|blue} color."); Assert.IsTrue(validResults.Contains(result)); }
public void CalculateApproximateWordCount() { Stitch a = new Stitch("The quick brown fox"); Stitch b = new Stitch("jumped over the lazy dog."); int wordCount = StoryPlayer.CalculateApproximateWordCount(new List <Stitch> { a, b }); // Word count is rounded to the nearest 10 when under 100 words, otherwise rounded to 100 Assert.AreEqual(10, wordCount); }
public void ParseInLineConditionals() { string input = "Moving { speed > 5 : quickly | slowly }."; // string slowResult = StoryPlayer.ParseInLineConditionals (input, new List<FlagValue> { new FlagValue ("speed", 1) }); string quickResult = StoryPlayer.ReplaceInLineConditionals(input, new List <FlagValue> { new FlagValue("speed", 8) }); // Assert.AreEqual ("Moving slowly.", slowResult); Assert.AreEqual("Moving quickly.", quickResult); }
public void ConvertNumbersToWords() { StoryPlayer player = new StoryPlayer(null, new HtmlConverter()); List <FlagValue> flags = new List <FlagValue> { new FlagValue("a", 5), new FlagValue("b", 10), }; Assert.AreEqual("The number five.", player.ConvertNumbersToWords("The number [value:a].", flags)); Assert.AreEqual("The number 5.", player.ConvertNumbersToWords("The number [number:a].", flags)); }
IEnumerator OnPassageUpdatedCoroutine(Passage passage) { while (!storyPanel.EndTyping) { yield return(null); } storyPanel.EndTyping = false; if (passage.isEnd) //해당 페이지가 끝인 경우 { GameObject button = Instantiate(ButtonPrefab, ButtonHolder.transform); buttonList.Add(button); button.transform.GetComponentInChildren <Text>().text = "[엔딩]"; button.GetComponent <Button>().onClick.AddListener(() => { while (buttonList.Count != 0) { Destroy(buttonList.ElementAt(0)); buttonList.RemoveAt(0); } resultPanel.SetActive(true); }); } else //페이지가 끝이 아닐 경우 { for (int i = 0; i < passage.links.Count; i++) { Link link = passage.links[i]; GameObject button = Instantiate(ButtonPrefab, ButtonHolder.transform); buttonList.Add(button); button.transform.GetComponentInChildren <Text>().text = link.name; button.GetComponent <Button>().onClick.AddListener(() => { StoryPlayer.SelectLink(link); while (buttonList.Count != 0) { Destroy(buttonList.ElementAt(0)); buttonList.RemoveAt(0); } storyPanel.OnPassageUpdated(); var temp = OnPassageUpdatedCoroutine(StoryPlayer.CurrentPassage); StartCoroutine(temp); Debug.Log($"Selected: {link.name}"); }); } } }
void Start() { var resource = Resources.Load(storyName) as TextAsset; if (!resource) { Debug.LogWarning("Inklewriter story could not be loaded: " + storyName); return; } string storyJson = resource.text; StoryModel model = StoryModel.Create(storyJson); this.player = new StoryPlayer(model, new UnityMarkupConverter()); var firstChunk = player.CreateFirstChunk(); InstantiateChunk(firstChunk); }
public void OnClickStoryButton(Story story) { StoryPlayer.SetStory(story); SceneManager.LoadScene("GameScene"); }
private void Start() { script = player.GetComponent <StoryPlayer>(); }
// Use this for initialization void Awake() { if (instance == null) instance = this; else if (instance != this) Destroy(gameObject); DontDestroyOnLoad(gameObject); scene = GetComponent<StorySceneManager>(); player = (StoryPlayer)FindObjectOfType(typeof(StoryPlayer)); InitCharacterDic(); fader = GameObject.Find("Navigator").GetComponent<Fading>(); PNJTable = new List<string>(); ObjectsTable = new List<string>(); PNJTable.Add("Pixie"); PNJTable.Add("Gaby"); //PNJTable.Add("Philibert"); //PNJTable.Add("Camille"); //PNJTable.Add("Victor"); //PNJTable.Add("Olivier-happy"); //ObjectsTable.Add("Lunettes"); //ObjectsTable.Add("Seve"); //ObjectsTable.Add("Secret"); InitGame(); }
public void ReplaceRunOnMarker() { StoryPlayer player = new StoryPlayer(null, new HtmlConverter()); Assert.AreEqual("Run on ", player.RemoveRunOnMarker("Run on[...]")); }
public void ReplaceUrlMarkup() { StoryPlayer player = new StoryPlayer(null, new HtmlConverter()); Assert.AreEqual("<a href=\"http://inklestudios.com\">Inkle</a>", player.ReplaceUrlMarkup("[http://inklestudios.com|Inkle]")); }
// Start is called before the first frame update void Start() { playerScript = player.GetComponent <StoryPlayer>(); rb = GetComponent <Rigidbody2D>(); rb.velocity = new Vector2(playerScript.movingSpeed, 0); }
void OnClickOkButton() { StoryPlayer.SetStory(story); SceneManager.LoadScene("GameScene"); }