public void UpdateButtonState() { StyleButton(AdvancedButton, advancedLevel > 0); if (advancedLevel == 0) { AdvancedButton.SetText("Advanced"); } else { AdvancedButton.SetText("Advanced x" + advancedLevel); } StyleButton(SimpleSizeButton, simpleSize != 0); if (simpleSize == 0) { SimpleSizeButton.SetText("Size"); } else if (simpleSize < 0) { SimpleSizeButton.SetText("Young x" + (-simpleSize)); } else { SimpleSizeButton.SetText("Giant x" + simpleSize); } StyleButton(OutsiderButton, simpleOutsiderType != null); if (simpleOutsiderType != null) { OutsiderButton.SetText(Monster.GetOutsiderTypeName(simpleOutsiderType.Value).Capitalize()); } else { OutsiderButton.SetText("Outsider"); } StyleButton(AugmentSummoningButton, augmentSummoning); bool racialChange = racialHDChange != 0; StyleButton(RacialHitDieButton, racialChange); StyleButton(RacialBonusButton, racialChange); StyleButton(RacialSizeButton, racialChange); if (!racialChange) { RacialHitDieButton.SetText("Racial Hit Dice"); } else { RacialHitDieButton.SetText(racialHDChange.PlusFormat() + " HD"); } RacialBonusButton.SetText("Bonus Stat " + Monster.ShortStatText(racialBonusStat)); if (racialSizeChange) { RacialSizeButton.SetText("Size Change 50% HD"); } else { RacialSizeButton.SetText("No Size Change"); } StyleButton(OtherTemplateButton, template != AdvancerTemplate.None); switch (template) { case AdvancerTemplate.None: case AdvancerTemplate.Vampire: OtherTemplateButton.SetText("Other Template"); SetOtherButtonsVisible(0); break; case AdvancerTemplate.Skeleton: OtherTemplateButton.SetText("Skeleton"); SetOtherButtonsVisible(3); for (int i = 0; i < 3; i++) { _OtherButtons[i].SetText(SkeletonText(i)); _OtherButtons[i].Tag = i; StyleButton(_OtherButtons[i], _SelectedSkeletonTypes[i]); } break; case AdvancerTemplate.Zombie: OtherTemplateButton.SetText("Zombie"); SetOtherButtonsVisible(1); _OtherButtons[0].SetText(ZombieText(_ZombieType, false)); break; case AdvancerTemplate.HalfCelestial: case AdvancerTemplate.HalfFiend: SetOtherButtonsVisible(6); OtherTemplateButton.SetText(template == AdvancerTemplate.HalfCelestial?"Half-Celestial":"Half-Fiend"); for (int i = 0; i < 6; i++) { _OtherButtons[i].SetText(Monster.StatText((Stat)i)); _OtherButtons[i].Tag = i; StyleButton(_OtherButtons[i], _SelectedStats[i]); } break; case AdvancerTemplate.HalfDragon: OtherTemplateButton.SetText("Half-Dragon"); _OtherButtons[0].SetText(_DragonColor.Capitalize()); SetOtherButtonsVisible(1); break; } }