Ejemplo n.º 1
0
        void HandleDeleteClicked(object sender, AttackEventArgs e)
        {
            AttackItemView view = (AttackItemView)sender;

            RemoveSetItem(view.WeaponItem);
            PrepareAttackItems();
            UpdateAttackStrings();
        }
Ejemplo n.º 2
0
        void PrepareAttackItems()
        {
            foreach (var v in _AttackItems)
            {
                v.View.RemoveFromSuperview();
                v.WeaponItem.PropertyChanged -= HandleWeaponItemChanged;
            }
            _AttackItems.Clear();

            foreach (var v in _NaturalAttackItems)
            {
                v.View.RemoveFromSuperview();
                v.DeleteClicked -= HandleNaturalDeleteClicked;
                v.ItemChanged   -= HandledNaturalItemChanged;
            }
            _NaturalAttackItems.Clear();


            float y = _AttackMargin;

            if (_SelectedTab != TypeTab.NaturalTab)
            {
                if (EnumerableSet() != null)
                {
                    foreach (WeaponItem a in EnumerableSet())
                    {
                        AttackItemView v = new AttackItemView(a);
                        _ScrollView.Add(v.View);
                        v.View.SetLocation(_AttackMargin, y);
                        float height = (float)v.View.Bounds.Height;
                        y += height + _AttackMargin;
                        v.DeleteClicked += HandleDeleteClicked;
                        _AttackItems.Add(v);

                        a.PropertyChanged += HandleWeaponItemChanged;
                    }
                }



                if (_SelectedTab == TypeTab.MeleeTab)
                {
                    _SetLabel.Text = Math.Max(_SelectedSet + 1, 0) + "/" + _Attacks.MeleeWeaponSets.Count;
                }
            }
            else
            {
                foreach (WeaponItem w in _Attacks.NaturalAttacks)
                {
                    NaturalAttackItemView v = new NaturalAttackItemView(w, _Monster);
                    _ScrollView.Add(v.View);
                    v.View.SetLocation(_AttackMargin, y);
                    float height = (float)v.View.Bounds.Height;
                    y += height + _AttackMargin;
                    v.DeleteClicked += HandleNaturalDeleteClicked;
                    v.ItemChanged   += HandledNaturalItemChanged;
                    _NaturalAttackItems.Add(v);
                }
            }


            _ScrollView.ContentSize = new CGSize(_ScrollView.Bounds.Width, y);

            EnableButtons();
        }