public static StoryContainer parseStory(TextAsset storyText) { StoryContainer container = new StoryContainer(); string[] msgObjs = storyText.text.Split(msgObjSepar, System.StringSplitOptions.RemoveEmptyEntries); string[] msgData; string[] instrData; string background = null; string portrait = null; for (int i = 0; i < msgObjs.Length; i++) { msgData = msgObjs[i].Split(instSepar, System.StringSplitOptions.None); if (msgData[0] != null && msgData[0].Length > 0) { instrData = msgData[0].Split(instrDataSepar, System.StringSplitOptions.RemoveEmptyEntries); for (int j = 0; j < instrData.Length; j++) { if (instrData[j].StartsWith("prt")) { portrait = Vars.EROTIC? instrData[j].Substring(4): null; } else if (instrData[j].StartsWith("bg")) { background = instrData[j].Substring(3); } } } container.addStoryObject(new StoryContainer.StoryObject(msgData[1], background, portrait)); } return(container); }
public override void _Ready() { // Retrieve or create some Nodes we know we'll need quite often story = GetNode <InkStory>("Story"); container = GetNode <StoryContainer>("Container"); timer = new Timer(); timer.Autostart = false; timer.WaitTime = 0.3f; timer.OneShot = true; AddChild(timer); }
public void playNextChapter() { planetSurface.setVisible(false); Vars.chapter++; switch (Vars.chapter) { case Chapter.INTRODUCTION: storyContainer = StoryParser.parseStory(introduction); break; default: Debug.Log("Unknown chapter: " + Vars.chapter); break; } UserInterface.showInterface = false; gameObject.SetActive(true); forward(); }