예제 #1
0
 public void Init(MeishiWindow newWindow, MeiShi data)
 {
     window     = newWindow;
     MeishiData = data;
     Word.text  = MeishiData.Word;
     Desc.text  = MeishiData.Meaning;
 }
예제 #2
0
 public void SetMainInfo(MeiShi newMeishiData)
 {
     MeishiData   = newMeishiData;
     Word.text    = MeishiData.Word;
     Reading.text = MeishiData.Reading;
     Meaning.text = MeishiData.Meaning;
     Picture.SetBool(MeishiData.ID, true);
 }
예제 #3
0
    public void createDummyData()
    {
        Kanji   TempKanji  = new Kanji();
        MeiShi  TempMeishi = new MeiShi();
        AllData DummyData  = new AllData();

        TempKanji.ID               = "1";
        TempKanji.IsLearnt         = false;
        TempKanji.Symbol           = "火";
        TempKanji.KunYomi          = "hi";
        TempKanji.OnYomi           = "ka";
        TempKanji.ShortDescription = "FIRE";
        TempKanji.FullDescription  = "hi - fire\n花火(hahabi) - fireworks\nka - fire, tuesday\n火事(kaji) - fire (as incident)\n火山(kazan) - volcano\n火曜日(kayoubi) - tuesday";
        DummyData.Kanjis.Add(TempKanji);

        TempKanji.ID               = "2";
        TempKanji.IsLearnt         = false;
        TempKanji.Symbol           = "山";
        TempKanji.KunYomi          = "yama";
        TempKanji.OnYomi           = "san";
        TempKanji.ShortDescription = "MOUNTAIN";
        TempKanji.FullDescription  = "yama, san - mountain\n火山(kazan) - volcano\n山小屋(yamagoya) - cabin in mountains\n富士山(fujisan) - Fuji Mt.";
        DummyData.Kanjis.Add(TempKanji);

        TempKanji.ID               = "3";
        TempKanji.IsLearnt         = false;
        TempKanji.Symbol           = "花";
        TempKanji.KunYomi          = "hana";
        TempKanji.OnYomi           = "ka";
        TempKanji.ShortDescription = "FLOWER";
        TempKanji.FullDescription  = "hana, ka - flower\n花見(hanami) - flower watching\n花束(hanataba) - bouquet\n花火(hahabi) - fireworks";
        DummyData.Kanjis.Add(TempKanji);

        TempMeishi.ID            = "1";
        TempMeishi.IsLearnt      = false;
        TempMeishi.CurrentWeight = 10;
        TempMeishi.Word          = "花火";
        TempMeishi.Reading       = "hanabi";
        TempMeishi.Meaning       = "fireworks";
        TempMeishi.KanjiIDs.Add("3");
        TempMeishi.KanjiIDs.Add("1");
        DummyData.Words.Add(TempMeishi);

        TempMeishi.ID            = "2";
        TempMeishi.IsLearnt      = false;
        TempMeishi.CurrentWeight = 10;
        TempMeishi.Word          = "火山";
        TempMeishi.Reading       = "kazan";
        TempMeishi.Meaning       = "volcano";
        TempMeishi.KanjiIDs.Add("1");
        TempMeishi.KanjiIDs.Add("2");
        DummyData.Words.Add(TempMeishi);

        string json = JsonUtility.ToJson(DummyData);

        SaveKanjiData(json);
    }
예제 #4
0
 bool isWordInList(List <MeiShi> L, MeiShi w)
 {
     for (int s = 0; s < L.Count; s++)
     {
         if (L[s].ID == w.ID)
         {
             return(true);
         }
     }
     return(false);
 }
예제 #5
0
    List <MeiShi> ShuffleMeishiList(List <MeiShi> L)
    {
        int c  = L.Count;
        int lt = L.Count - 1;

        for (int j = 0; j < lt; ++j)
        {
            int    r   = UnityEngine.Random.Range(j, c);
            MeiShi tmp = L[j];
            L[j] = L[r];
            L[r] = tmp;
        }
        return(L);
    }
예제 #6
0
    public void SetInfo(MeiShi newWord)
    {
        Debug.Log(newWord);
        //Clean the GUI for the word
        for (int i = 0; i < Slots.Count; i++)
        {
            Destroy(Slots[i].gameObject);
        }
        Slots.Clear();
        for (int i = 0; i < KanjiChoices.Count; i++)
        {
            Destroy(KanjiChoices[i].gameObject);
        }
        KanjiChoices.Clear();
        WordImage.gameObject.SetActive(false);
        WordText.text = "";
        //Set it for the new word
        if (MeishiData != null)
        {
            previousId = MeishiData.ID;
        }
        MeishiData = newWord;
        float StartingPosition = HintPart.rect.width / (MeishiData.Syllables.Count * 2);
        float StepWidth        = HintPart.rect.width / MeishiData.Syllables.Count;
        Slot  TSlot;

        for (int i = 0; i < MeishiData.Syllables.Count; i++)
        {
            TSlot = Instantiate(slotPrefab, Vector3.zero, HintPart.rotation, HintPart);
            TSlot.rectT.anchoredPosition = new Vector3(StartingPosition + StepWidth * i, SlotY, 0.0f);
            TSlot.SetInfo(MeishiData.Syllables[i], MeishiData.KanjiIDs[i]);
            Slots.Add(TSlot);
        }
        KanjiChoice  TKanji;
        List <Kanji> TListK = new List <Kanji>();

        foreach (string KID in MeishiData.KanjiIDs)
        {
            TListK.Add(GameController.instance.GetKanji(KID));
        }
        TListK = ShuffleKanjiList(TListK);
        for (int i = 0; i < TListK.Count; i++)
        {
            TKanji = Instantiate(kanjiPrefab, Vector3.zero, KanjiPart.rotation, KanjiPart);
            TKanji.rectTransform.anchoredPosition = new Vector3(StartingPosition + StepWidth * i, KanjiY, 0.0f);
            TKanji.SetInfo(TListK[i]);
            KanjiChoices.Add(TKanji);
        }
    }