void ReleaseDesignerOutlets()
        {
            if (OtherButton6 != null)
            {
                OtherButton6.Dispose();
                OtherButton6 = null;
            }

            if (OtherButton5 != null)
            {
                OtherButton5.Dispose();
                OtherButton5 = null;
            }

            if (AddMonsterButton != null)
            {
                AddMonsterButton.Dispose();
                AddMonsterButton = null;
            }

            if (RacialView != null)
            {
                RacialView.Dispose();
                RacialView = null;
            }

            if (SimpleView != null)
            {
                SimpleView.Dispose();
                SimpleView = null;
            }

            if (OtherView != null)
            {
                OtherView.Dispose();
                OtherView = null;
            }

            if (SimpleHeaderView != null)
            {
                SimpleHeaderView.Dispose();
                SimpleHeaderView = null;
            }

            if (RacialHeaderView != null)
            {
                RacialHeaderView.Dispose();
                RacialHeaderView = null;
            }

            if (OtherHeaderView != null)
            {
                OtherHeaderView.Dispose();
                OtherHeaderView = null;
            }

            if (AdvancedButton != null)
            {
                AdvancedButton.Dispose();
                AdvancedButton = null;
            }

            if (SimpleSizeButton != null)
            {
                SimpleSizeButton.Dispose();
                SimpleSizeButton = null;
            }

            if (OutsiderButton != null)
            {
                OutsiderButton.Dispose();
                OutsiderButton = null;
            }

            if (AugmentSummoningButton != null)
            {
                AugmentSummoningButton.Dispose();
                AugmentSummoningButton = null;
            }

            if (RacialHitDieButton != null)
            {
                RacialHitDieButton.Dispose();
                RacialHitDieButton = null;
            }

            if (RacialBonusButton != null)
            {
                RacialBonusButton.Dispose();
                RacialBonusButton = null;
            }

            if (RacialSizeButton != null)
            {
                RacialSizeButton.Dispose();
                RacialSizeButton = null;
            }

            if (OtherTemplateButton != null)
            {
                OtherTemplateButton.Dispose();
                OtherTemplateButton = null;
            }

            if (AdvancerHeaderView != null)
            {
                AdvancerHeaderView.Dispose();
                AdvancerHeaderView = null;
            }

            if (ResetButton != null)
            {
                ResetButton.Dispose();
                ResetButton = null;
            }

            if (OtherTemplateOptionView != null)
            {
                OtherTemplateOptionView.Dispose();
                OtherTemplateOptionView = null;
            }

            if (OtherButton1 != null)
            {
                OtherButton1.Dispose();
                OtherButton1 = null;
            }

            if (OtherButton2 != null)
            {
                OtherButton2.Dispose();
                OtherButton2 = null;
            }

            if (OtherButton3 != null)
            {
                OtherButton3.Dispose();
                OtherButton3 = null;
            }

            if (OtherButton4 != null)
            {
                OtherButton4.Dispose();
                OtherButton4 = null;
            }
        }
        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;
            }
        }