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; }
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; }