コード例 #1
0
        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;
            }
        }