/// <summary> /// Retrieves the script for the given file path /// </summary> /// <param name="filePath">string filepath to a vaild file</param> /// <returns>DialogPrinter if the script is found and processed, null otherwise</returns> public IDialogPrinter GetForScript(string filePath) { IDialogPrinter printer = null; try { DialogGenerator gen = new DialogGenerator(filePath); switch (gen.GetPrinterType()) { case GENERAL: printer = new DialogPrinter(gen.GetLines()); break; case REPEATING: printer = new RepeatingPrinter(gen.GetLines()); break; case BATTLE: printer = new CustomPrinter(gen.GetLines()); break; } } catch (ScriptNotFoundException e) { Console.Out.WriteLine(e.Message); } return(printer); }
private void DrawMenu(DialogPanel panel) { CurrentPanel = panel; panel.panel.SetActive(true); //als dit de eerste text menu van de reeks is if (LastEvent == null) { if (panel.panelType == PanelType.Narrative) { Vector3 oldPos = Vector3.zero + CurrentPanel.panel.transform.position; CurrentPanel.panel.transform.position = oldPos + Vector3.down * 250; CurrentPanel.panel.transform.DOMove(oldPos, .3f); } } panel.HideAllButtons(); if (panel.title != null) { panel.title.text = CurrentEvent.title ?? LastEvent?.title ?? ""; } if (CurrentEvent.TextPrintInterval > 0) { TextPrinter = new DialogPrinter(CurrentEvent.description, CurrentEvent.TextPrintInterval, this); panel.Description.text = ""; TextPrinter.OnTextUpdate += UpdateDescription; TextPrinter.OnPrinterFinished += AssignOptions; TextPrinter.OnPrinterFinished += UpdateSecodnDescription; } else { panel.Description.text = CurrentEvent.description; AssignOptions(); } if (panel.panelType == PanelType.Narrative) { if (panel.image != null) { if (CurrentEvent.image != null) { panel.image.gameObject.SetActive(true); panel.image.sprite = CurrentEvent.image ?? LastEvent?.image; } else { panel.image.gameObject.SetActive(false); } } } else if (panel.panelType == PanelType.CutScene) { if (panel.image != null) { if (CurrentEvent.FadeOutTime != 0) { Debug.Log("test"); panel.image.sprite = CurrentEvent.image; panel.image.color = new Color(1, 1, 1, 1); panel.image.DOKill(false); panel.image.DOColor(new Color(1, 1, 1, 0), CurrentEvent.FadeOutTime); } else if (CurrentEvent.FadeInTime != 0) { panel.image.sprite = CurrentEvent.image; panel.image.color = new Color(1, 1, 1, 0); panel.image.DOKill(false); panel.image.DOColor(new Color(1, 1, 1, 1), CurrentEvent.FadeInTime); } else { panel.image.sprite = CurrentEvent.image; panel.image.color = new Color(1, 1, 1, 1); } } } if (panel.SecondDescription != null) { panel.SecondDescription.text = TextPrinter != null && TextPrinter.IsPrinting() ? "..." : "PRESS TO CONTINUE >"; panel.SecondDescription.gameObject.SetActive(true); } }
// Start is called before the first frame update void Start() { dialogPrinter = new DialogPrinter(testText, interval, this); dialogPrinter.OnTextUpdate += UpdateText; }