Example #1
0
 public void InitializeSyllables(string [] list, Syllable.Types type)
 {
     foreach (string s in list)
     {
         syllables.Add(new Syllable(s, type));
     }
 }
Example #2
0
        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);
        }
Example #3
0
        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]);
        }
Example #4
0
        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);
        }
Example #5
0
 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);
         }
     }
 }
Example #6
0
        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");
        }
Example #7
0
        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;
        }
Example #8
0
        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);
        }
Example #9
0
        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]);
        }