예제 #1
0
        private void GetEntry(int index)
        {
            var entry = Indexes[index].Entry;

            if (entry.DexType == Zukan8Type.None)
            {
                return;
            }

            var species = Indexes[index].Species;
            var forms   = GetFormList(species);

            if (forms[0].Length == 0)
            {
                forms[0] = GameInfo.Strings.Types[0];
            }

            for (int i = 0; i < CHK.Length; i++)
            {
                var c = CHK[i];
                for (int j = 0; j < 64; j++)
                {
                    if (j < 63)
                    {
                        c.Items[j] = $"{j:00} - {(j < forms.Length ? forms[j] : "N/A")}";
                    }
                    var val = Dex.GetSeenRegion(entry, j, i);
                    c.SetItemChecked(j, val);
                }

                if (species == (int)Species.Urshifu)
                {
                    c.Items[62] = $"Gmax-{forms[1]}";
                    c.Items[63] = $"Gmax-{forms[0]}";
                }
                else
                {
                    c.Items[63] = "Gigantamax";
                }
            }

            for (int i = 0; i < CL.Length; i++)
            {
                CL[i].Checked = Dex.GetIsLanguageIndexObtained(entry, i);
            }

            NUD_Form.Value = Dex.GetFormDisplayed(entry);

            CHK_Caught.Checked       = Dex.GetCaught(entry);
            CHK_Gigantamaxed.Checked = Dex.GetCaughtGigantamaxed(entry);
            CHK_G.Checked            = Dex.GetDisplayDynamaxInstead(entry);
            CHK_S.Checked            = Dex.GetDisplayShiny(entry);
            CB_Gender.SelectedIndex  = (int)Dex.GetGenderDisplayed(entry);

            if (species == (int)Species.Urshifu)
            {
                CHK_Gigantamaxed1.Visible = true;
                CHK_Gigantamaxed1.Checked = Dex.GetCaughtGigantamax1(entry);
            }
            else
            {
                CHK_Gigantamaxed1.Visible = false;
            }

            NUD_Battled.Value = Dex.GetBattledCount(entry);
        }