示例#1
0
        public void SetupButtons()
        {
            //advanced button
            advancedPopover = new ButtonStringPopover(AdvancedButton);
            advancedPopover.Items.Add(new ButtonStringPopoverItem()
            {
                Text = "None", Tag = 0
            });
            for (int i = 1; i < 4; i++)
            {
                advancedPopover.Items.Add(new ButtonStringPopoverItem()
                {
                    Text = "Advanced x" + i, Tag = i
                });
            }
            advancedPopover.ItemClicked += HandleAdvancedPopoverItemClicked;

            //simple size button
            simpleSizePopover = new ButtonStringPopover(SimpleSizeButton);
            for (int i = -3; i < 0; i++)
            {
                simpleSizePopover.Items.Add(new ButtonStringPopoverItem()
                {
                    Text = "Young x" + (-i), Tag = i
                });
            }
            simpleSizePopover.Items.Add(new ButtonStringPopoverItem()
            {
                Text = "None", Tag = 0
            });
            for (int i = 1; i < 4; i++)
            {
                simpleSizePopover.Items.Add(new ButtonStringPopoverItem()
                {
                    Text = "Giant x" + i, Tag = i
                });
            }
            simpleSizePopover.ItemClicked += HandleSimpleSizePopoverItemClicked;

            //simple outsider button
            simpleOutsiderPopover = new ButtonStringPopover(OutsiderButton);
            simpleOutsiderPopover.Items.Add(new ButtonStringPopoverItem()
            {
                Text = "None", Tag = null
            });
            foreach (Monster.HalfOutsiderType t in Enum.GetValues(typeof(Monster.HalfOutsiderType)))
            {
                simpleOutsiderPopover.Items.Add(new ButtonStringPopoverItem()
                {
                    Text = Monster.GetOutsiderTypeName(t).Capitalize(),
                    Tag  = new Monster.HalfOutsiderType ?(t)
                });
            }
            simpleOutsiderPopover.ItemClicked += HandleSimpleOutsiderPopoverItemClicked;

            //simple outsider button
            augmentSummoningPopover = new ButtonStringPopover(AugmentSummoningButton);
            augmentSummoningPopover.Items.Add(new ButtonStringPopoverItem()
            {
                Text = "On", Tag = true
            });
            augmentSummoningPopover.Items.Add(new ButtonStringPopoverItem()
            {
                Text = "Off", Tag = false
            });

            augmentSummoningPopover.ItemClicked += HandleAugmentSummoningPopoverItemClicked;


            racialHitDiePopover = new ButtonStringPopover(RacialHitDieButton);

            for (int i = -20; i < 21; i++)
            {
                if (i == 0)
                {
                    racialHitDiePopover.Items.Add(new ButtonStringPopoverItem()
                    {
                        Text = "None", Tag = 0
                    });
                }
                else
                {
                    racialHitDiePopover.Items.Add(new ButtonStringPopoverItem()
                    {
                        Text = i.PlusFormat(), Tag = i
                    });
                }
            }
            racialHitDiePopover.ItemClicked += HandleRacialHitDiePopoverItemClicked;
            UpdateButtonState();


            racialBonusPopover = new ButtonStringPopover(RacialBonusButton);
            foreach (Stat t in Enum.GetValues(typeof(Stat)))
            {
                racialBonusPopover.Items.Add(new ButtonStringPopoverItem()
                {
                    Text = Monster.StatText(t).Capitalize(),
                    Tag  = t
                });
            }
            racialBonusPopover.ItemClicked += HandleRacialBonusPopoverItemClicked;


            racialSizePopover = new ButtonStringPopover(RacialSizeButton);
            racialSizePopover.Items.Add(new ButtonStringPopoverItem()
            {
                Text = "50% HD", Tag = true
            });
            racialSizePopover.Items.Add(new ButtonStringPopoverItem()
            {
                Text = "No Size Change", Tag = false
            });

            racialSizePopover.ItemClicked += HandleRacialSizePopoverItemClicked;

            ResetButton.SetImage(UIExtensions.GetSmallIcon("reset"), UIControlState.Normal);

            AdvancerHeaderView.Gradient    = new GradientHelper(CMUIColors.SecondaryColorBDarker);
            AdvancerHeaderView.BorderColor = UIExtensions.RGBColor(0xFFFFFF);

            AddMonsterButton.SetSmallIcon("sword");

            otherTemplatePopover = new ButtonStringPopover(OtherTemplateButton);
            otherTemplatePopover.Items.Add(new ButtonStringPopoverItem()
            {
                Text = "None", Tag = AdvancerTemplate.None
            });
            otherTemplatePopover.Items.Add(new ButtonStringPopoverItem()
            {
                Text = "Half-Celestial", Tag = AdvancerTemplate.HalfCelestial
            });
            otherTemplatePopover.Items.Add(new ButtonStringPopoverItem()
            {
                Text = "Half-Dragon", Tag = AdvancerTemplate.HalfDragon
            });
            otherTemplatePopover.Items.Add(new ButtonStringPopoverItem()
            {
                Text = "Half-Fiend", Tag = AdvancerTemplate.HalfFiend
            });
            otherTemplatePopover.Items.Add(new ButtonStringPopoverItem()
            {
                Text = "Skeleton", Tag = AdvancerTemplate.Skeleton
            });
            otherTemplatePopover.Items.Add(new ButtonStringPopoverItem()
            {
                Text = "Vampire", Tag = AdvancerTemplate.Vampire
            });
            otherTemplatePopover.Items.Add(new ButtonStringPopoverItem()
            {
                Text = "Zombie", Tag = AdvancerTemplate.Zombie
            });
            otherTemplatePopover.ItemClicked += HandleOtherTemplateItemClicked;
            _OtherPopovers = new List <ButtonStringPopover>();
            for (int i = 0; i < _OtherButtons.Length; i++)
            {
                _OtherPopovers.Add(new ButtonStringPopover(_OtherButtons[i]));
                _OtherPopovers[i].Data             = i;
                _OtherPopovers[i].WillShowPopover += HandleWillShowOtherPopover;
                _OtherPopovers[i].ItemClicked     += HandleOtherPopoverItemClicked;
            }
        }