public void InitializeSyllables(string [] list, Syllable.Types type) { foreach (string s in list) { syllables.Add(new Syllable(s, type)); } }
public Syllable findBasedOnSyllable(Syllable prev, System.Random rnd, bool isFinal, int fix) { Syllable.Types[] afterV = new Syllable.Types[] { Syllable.Types.C, Syllable.Types.CC, Syllable.Types.CV }; if (isFinal) { // Do not allow for ending in consonant clusters afterV = new Syllable.Types[] { Syllable.Types.C, Syllable.Types.CV, Syllable.Types.VC }; } // Debug.Log("prev: " + prev.type); if (prev == null) { return(null); } if (prev.type == Syllable.Types.C) { return(findRandomTypes(new Syllable.Types[] { Syllable.Types.VC, Syllable.Types.V, Syllable.Types.CV }, rnd, fix)); } if (prev.type == Syllable.Types.V || prev.type == Syllable.Types.CV) { return(findRandomTypes(afterV, rnd, fix)); } if (prev.type == Syllable.Types.CC) { return(findRandomType(Syllable.Types.V, rnd, fix)); } if (prev.type == Syllable.Types.VC) { return(findRandomType(Syllable.Types.V, rnd, fix)); } return(null); }
public Syllable findRandomType(Syllable.Types t, System.Random rnd, int fix) { List <Syllable> lst = findType(t, fix); if (lst.Count == 0) { return(null); } return(lst[rnd.Next() % lst.Count]); }
public List <Syllable> findType(Syllable.Types type, int fix) { List <Syllable> lst = new List <Syllable>(); foreach (Syllable s in syllables) { if (s.type == type && ((s.fix & fix) == fix)) { lst.Add(s); } } return(lst); }
public void setSyllableString(List <Syllable> orglst, string str, int fix, Syllable.Types t) { // first delete all originals foreach (Syllable syll in orglst) { syllables.Remove(syll); } string[] lst = str.Split(','); foreach (string s in lst) { if (s.Trim() != "") { Syllable syll = new Syllable(s.Trim(), fix, t); syllables.Add(syll); } } }
public void UpdateData() { int value = GameObject.Find("ddSelectType").GetComponent <Dropdown>().value; Syllable.Types t = (Syllable.Types)Enum.GetValues(typeof(Syllable.Types)).GetValue(value); string list = GameObject.Find("inputList").GetComponent <InputField>().text; currentLanguage.setSyllableString(currentSyllables, list, getCurrentFix(), t); currentLanguage.name = GameObject.Find("inputName").GetComponent <InputField>().text; currentLanguage.exceptDoubles = GameObject.Find("inputExceptDoubleC").GetComponent <InputField>().text; currentLanguage.exceptDoubleEndings = GameObject.Find("inputExceptDoubleCEnd").GetComponent <InputField>().text; currentLanguage.minSyllables = int.Parse(GameObject.Find("inputMinSyll").GetComponent <InputField>().text); currentLanguage.maxSyllables = int.Parse(GameObject.Find("inputMaxSyll").GetComponent <InputField>().text); currentLanguage.maxDoubleC = int.Parse(GameObject.Find("inputNoDoubleC").GetComponent <InputField>().text); currentLanguage.allowDoubleCEnd = GameObject.Find("toggleAllowDCEnd").GetComponent <Toggle>().isOn; PopulateLanguageCombobox("ddSelectLanguage"); }
public void UpdateGUI() { // if (currentLanguage == null) // return; int value = GameObject.Find("ddSelectType").GetComponent <Dropdown>().value; Syllable.Types t = (Syllable.Types)(Enum.GetValues(typeof(Syllable.Types))).GetValue(value); string txt = currentLanguage.getSyllableString(t, getCurrentFix(), out currentSyllables); GameObject.Find("inputList").GetComponent <InputField>().text = txt; GameObject.Find("inputName").GetComponent <InputField>().text = currentLanguage.name; GameObject.Find("inputExceptDoubleC").GetComponent <InputField>().text = currentLanguage.exceptDoubles; GameObject.Find("inputExceptDoubleCEnd").GetComponent <InputField>().text = currentLanguage.exceptDoubleEndings; GameObject.Find("inputMinSyll").GetComponent <InputField>().text = "" + currentLanguage.minSyllables; GameObject.Find("inputMaxSyll").GetComponent <InputField>().text = "" + currentLanguage.maxSyllables; GameObject.Find("inputNoDoubleC").GetComponent <InputField>().text = "" + currentLanguage.maxDoubleC; GameObject.Find("toggleAllowDCEnd").GetComponent <Toggle>().isOn = currentLanguage.allowDoubleCEnd; }
public string getSyllableString(Syllable.Types t, int fix, out List <Syllable> lst) { lst = findType(t, fix); string str = ""; int idx = 0; foreach (Syllable s in lst) { string add = ", "; if (idx == lst.Count - 1) { add = ""; } str += s.syllable + add; idx++; } return(str); }
public Syllable findRandomTypes(Syllable.Types[] tlst, System.Random rnd, int fix) { bool ok = false; int cnt = 0; List <Syllable> lst = null; while (!ok) { Syllable.Types t = tlst[rnd.Next() % tlst.Length]; lst = findType(t, fix); if (lst.Count != 0) { ok = true; } cnt++; if (cnt >= 1000) { Debug.Log("LANGUAGE ERROR NO USABLE SYLLABLE FOUND"); return(null); } } return(lst[rnd.Next() % lst.Count]); }