public DialogueScriptObject(DialogueScriptAction act, string dat) { action = act; data = dat; }
private IEnumerator ProcessDialogue(string hint) { yield return(StartCoroutine(FadeIn())); string[] lines = dialogueScript.Split(';'); string[] hints = hint.Split(';'); for (int i = 0; i < lines.Length - 1; i++) { string[] data = lines[i].Split(':'); bool isLeft = true; if (data[0].ToLower().Contains("r")) { isLeft = false; } Queue <DialogueScriptObject> dialogueQueue = new Queue <DialogueScriptObject>(); string txt = ""; for (int j = 0; j < data[1].Length; j++) { if (data[1][j] == '<') { if (txt.Length > 0) { dialogueQueue.Enqueue(new DialogueScriptObject(DialogueScriptAction.dialogue, txt)); txt = ""; } int len = data[1].IndexOf('>', j) - j - 1; string action = data[1].Substring(j + 1, len); string[] split = action.Split('='); DialogueScriptAction act = DialogueScriptAction.dialogue; switch (split[0].ToLower()) { case "sprite": act = DialogueScriptAction.sprite; break; case "name": act = DialogueScriptAction.name; break; case "animation": act = DialogueScriptAction.animation; break; default: break; } dialogueQueue.Enqueue(new DialogueScriptObject(act, split[1])); j += len + 1; } else { txt += data[1][j]; } if (j == data[1].Length - 1 && txt.Length > 0) { dialogueQueue.Enqueue(new DialogueScriptObject(DialogueScriptAction.dialogue, txt)); txt = ""; } } yield return(StartCoroutine(PlayLine(dialogueQueue, isLeft))); } //hint Queue <DialogueScriptObject> q = new Queue <DialogueScriptObject>(); if (0 < hints.Length) { print("here"); q.Enqueue(new DialogueScriptObject(DialogueScriptAction.name, "hint")); //q.Enqueue(new DialogueScriptObject(DialogueScriptAction.sprite,"hint")); foreach (string text in hints) { q.Enqueue(new DialogueScriptObject(DialogueScriptAction.dialogue, text)); } } charL.sprite = null; charR.sprite = null; yield return(StartCoroutine(PlayLine(q, true))); //unload scene yield return(StartCoroutine(FadeOut())); songPlay.Invoke(-3); //Playing Saved Song LoadManager.instance.UnloadSceneAsync("Dialogue"); }