public static LineScript interpret(string rowText) { string mainText; int indentLevel = 0; mainText = rowText; while (mainText.StartsWith(" ") || mainText.StartsWith("\t")) { indentLevel++; if (mainText.StartsWith(" ")) { mainText = mainText.Remove(0, 2); } else { mainText = mainText.Remove(0, 1); } } mainText.Trim(); if (Label.isMatch(mainText)) { Debug.Log("la " + mainText); return(new Label(rowText, "", indentLevel, mainText)); } else if (Speaker.isMatch(mainText)) { Debug.Log("spe " + mainText); return(new Speaker(rowText, "", indentLevel, mainText)); } else if (Material.isMatch(mainText)) { Debug.Log("mat " + mainText); return(new Material(rowText, "", indentLevel, mainText)); } else if (Assignment.isMatch(mainText)) { Debug.Log("ass " + mainText); return(new Assignment(rowText, "", indentLevel, mainText)); } else if (Order.isMatch(mainText)) { Debug.Log("ode " + mainText); return(new Order(rowText, "", indentLevel, mainText)); } else if (Selection.isMatch(mainText)) { Debug.Log("sel " + mainText); return(new Selection(rowText, "", indentLevel, mainText)); } else if (FormatText.isMatch(mainText)) { Debug.Log("sel " + mainText); return(new FormatText(rowText, mainText, indentLevel, "")); } return(new LineScript(rowText, mainText, indentLevel, "")); }