예제 #1
0
        public void UpdateView(JobLevels levels)
        {
            this.levels = levels;
            foreach (Control c in Controls)
            {
                if (c is NumericUpDownWithDefault)
                {
                    NumericUpDownWithDefault spinner = c as NumericUpDownWithDefault;
                    spinner.ValueChanged -= spinner_ValueChanged;
                    spinner.SetValueAndDefault(
                        ReflectionHelpers.GetFieldOrProperty <UInt16>(levels, spinner.Tag.ToString()),
                        ReflectionHelpers.GetFieldOrProperty <UInt16>(levels.Default, spinner.Tag.ToString()));
                    spinner.ValueChanged += spinner_ValueChanged;
                }
            }

            List <Requirements> reqs = new List <Requirements>(new Requirements[] {
                levels.Chemist, levels.Knight, levels.Archer, levels.Monk,
                levels.WhiteMage, levels.BlackMage, levels.TimeMage, levels.Summoner,
                levels.Thief, levels.Orator, levels.Mystic, levels.Geomancer,
                levels.Dragoon, levels.Samurai, levels.Ninja, levels.Arithmetician,
                levels.Bard, levels.Dancer, levels.Mime
            });

            if (FFTPatch.Context == Context.US_PSP)
            {
                reqs.Add(levels.DarkKnight);
                reqs.Add(levels.OnionKnight);
                reqs.Add(levels.Unknown);
            }
            IList <string> names     = FFTPatch.Context == Context.US_PSP ? PSPResources.Lists.JobNames : PSXResources.Lists.JobNames;
            IList <string> sideNames = names.Sub(0x4B, 0x5D);
            IList <string> topNames  = names.Sub(0x4A, 0x5D);

            for (int i = 0; i < sideNames.Count; i++)
            {
                labels[i].Text         = sideNames[i];
                verticalLabels[i].Text = topNames[i];
            }
            verticalLabels[topNames.Count - 1].Text = topNames[topNames.Count - 1];

            bool psp = FFTPatch.Context == Context.US_PSP;

            if (psp)
            {
                darkKnightLabel.Text          = names[0xA0];
                darkKnightVerticalLabel.Text  = names[0xA0];
                onionKnightLabel.Text         = names[0xA4];
                onionKnightVerticalLabel.Text = names[0xA4];
            }
            darkKnightLabel.Visible          = psp;
            darkKnightVerticalLabel.Visible  = psp;
            unknown1VerticalLabel.Visible    = psp;
            unknown2VerticalLabel.Visible    = psp;
            unknownLabel.Visible             = psp;
            onionKnightLabel.Visible         = psp;
            onionKnightVerticalLabel.Visible = psp;

            requirementsEditor1.Requirements = reqs;
        }
예제 #2
0
        public void UpdateView(JobLevels levels)
        {
            this.levels = levels;
            foreach (Control c in Controls)
            {
                if (c is NumericUpDownWithDefault)
                {
                    NumericUpDownWithDefault spinner = c as NumericUpDownWithDefault;
                    spinner.ValueChanged -= spinner_ValueChanged;
                    spinner.SetValueAndDefault(
                        ReflectionHelpers.GetFieldOrProperty <UInt16>(levels, spinner.Tag.ToString()),
                        ReflectionHelpers.GetFieldOrProperty <UInt16>(levels.Default, spinner.Tag.ToString()));
                    spinner.ValueChanged += spinner_ValueChanged;
                }
            }

            List <Requirements> reqs = new List <Requirements>(new Requirements[] {
                levels.Chemist, levels.Knight, levels.Archer, levels.Monk,
                levels.WhiteMage, levels.BlackMage, levels.TimeMage, levels.Summoner,
                levels.Thief, levels.Orator, levels.Mystic, levels.Geomancer,
                levels.Dragoon, levels.Samurai, levels.Ninja, levels.Arithmetician,
                levels.Bard, levels.Dancer, levels.Mime
            });

            if (FFTPatch.Context == Context.US_PSP)
            {
                reqs.Add(levels.DarkKnight);
                reqs.Add(levels.OnionKnight);
                reqs.Add(levels.Unknown);
            }
            darkKnightSideLabel.Visible  = FFTPatch.Context == Context.US_PSP;
            darkKnightTopLabel.Visible   = FFTPatch.Context == Context.US_PSP;
            unknown1TopLabel.Visible     = FFTPatch.Context == Context.US_PSP;
            unknown2TopLabel.Visible     = FFTPatch.Context == Context.US_PSP;
            unknownSideLabel.Visible     = FFTPatch.Context == Context.US_PSP;
            onionKnightSideLabel.Visible = FFTPatch.Context == Context.US_PSP;
            onionKnightTopLabel.Visible  = FFTPatch.Context == Context.US_PSP;

            requirementsEditor1.Requirements = reqs;
        }