Beispiel #1
0
        public override IEnumerator Initialize()
        {
            m_CurrentMenu = ETYPEMENU.NONE;
            m_HiraganaTable.Hide();
            m_MainScrollMenu.Hide();

            // Init Hiragana data an menu
            m_HiraganaData = new HiraganaData2();
            string jsonActionsString = Utility.LoadJSONResource(m_PathData);

            if (jsonActionsString != "")
            {
                m_HiraganaData = JsonMapper.ToObject <HiraganaData2>(jsonActionsString);
            }

            List <string> lTitle = new List <string>();

            for (int i = 0; i < m_HiraganaData.Hiragana.Count; i++)
            {
                HiraganaAlphabet ha = m_HiraganaData.Hiragana[i];
                lTitle.Add(ha.Title);
            }
            m_MainScrollMenu.InitScrollMenu(lTitle);
            m_MainScrollMenu.ScrollMenu.OnButtonPress += OnButtonMenuPress;

            yield break;
        }
Beispiel #2
0
        public HiraganaDrill(HiraganaData2 data, int idData)
        {
            List <DrillUnit> listDrills = new List <DrillUnit>();
            int nUnits = m_NumberDrills / m_NumberSections;

            int startDrill = 0;

            // Hiragana symbol questions
            for (int i = startDrill; i < (startDrill + nUnits); i++)
            {
                DrillUnit drill = new DrillUnit();
                drill.TypeQuestion  = ETYPEEDRILL.H_SYMBOL;
                drill.IndexQuestion = Random.Range(0, data.Hiragana[idData].HiraganaChar.Count);
                drill.TypeAnswer    = ETYPEEDRILL.H_ROMANJI;

                listDrills.Add(drill);
            }
            startDrill += nUnits;

            // Hiragana romanji questions
            for (int i = startDrill; i < (startDrill + nUnits); i++)
            {
                DrillUnit drill = new DrillUnit();
                drill.TypeQuestion  = ETYPEEDRILL.H_ROMANJI;
                drill.IndexQuestion = Random.Range(0, data.Hiragana[idData].RomanjiChar.Count);
                drill.TypeAnswer    = ETYPEEDRILL.H_SYMBOL;

                listDrills.Add(drill);
            }
            startDrill += nUnits;

            // Words
            for (int i = startDrill; i < (startDrill + nUnits); i++)
            {
                DrillUnit drill = new DrillUnit();
                drill.TypeQuestion  = ETYPEEDRILL.H_WORD;
                drill.IndexQuestion = Random.Range(0, data.Hiragana[idData].Vocabulary.Hiragana.Count);

                // Select randomly between the other two options
                int chance = Random.Range(0, 100);
                if (chance <= 50)
                {
                    drill.TypeAnswer = ETYPEEDRILL.H_WORDMEANING;
                }
                else
                {
                    drill.TypeAnswer = ETYPEEDRILL.H_WORDROMANJI;
                }
                listDrills.Add(drill);
            }
            startDrill += nUnits;

            // Words
            for (int i = startDrill; i < (startDrill + nUnits); i++)
            {
                DrillUnit drill = new DrillUnit();
                drill.TypeQuestion  = ETYPEEDRILL.H_WORDMEANING;
                drill.IndexQuestion = Random.Range(0, data.Hiragana[idData].Vocabulary.Meaning.Count);
                drill.TypeAnswer    = ETYPEEDRILL.H_WORD;
                listDrills.Add(drill);
            }
            startDrill += nUnits;

            // Words
            for (int i = startDrill; i < (startDrill + nUnits); i++)
            {
                DrillUnit drill = new DrillUnit();
                drill.TypeQuestion  = ETYPEEDRILL.H_WORDROMANJI;
                drill.IndexQuestion = Random.Range(0, data.Hiragana[idData].Vocabulary.Romanji.Count);
                drill.TypeAnswer    = ETYPEEDRILL.H_WORD;
                listDrills.Add(drill);
            }

            // Suffle drills
            m_Drills = Utility.Shuffle(listDrills);
        }