Exemplo n.º 1
0
        public ConditionControl(CraftingCondition condition, ItemBase itemBase, List <Affix> affixes)
        {
            _itemBase          = itemBase;
            _affixes           = affixes;
            _craftingCondition = condition;

            SubconditionControls = new ObservableCollection <SubconditionControl>();

            for (int i = condition.CraftingSubConditions.Count - 1; i >= 0; i--)
            {
                var subconditionControl = new SubconditionControl(condition.CraftingSubConditions[i], affixes, GetNextIndex(), _itemBase);
                subconditionControl.OnDeleteEvent += (x, y) => RemoveSubcondition(y.Control);
                SubconditionControls.Add(subconditionControl);
            }

            if (SubconditionControls.Count == 0)
            {
                AddSubcondition();
            }

            SelectedSubcondition = SubconditionControls[0];

            OnPropertyChanged(nameof(SelectedSubcondition));
            OnPropertyChanged(nameof(SubconditionControls));

            DataContext = this;
            InitializeComponent();
        }
Exemplo n.º 2
0
        public void AddSubcondition()
        {
            var subcondition        = new CraftingSubcondition();
            var subconditionControl = new SubconditionControl(subcondition, _affixes, GetNextIndex(), _itemBase);

            subconditionControl.OnDeleteEvent += (x, y) => RemoveSubcondition(y.Control);

            _craftingCondition.CraftingSubConditions.Add(subcondition);
            SubconditionControls.Add(subconditionControl);
            SelectedSubcondition = subconditionControl;
            OnPropertyChanged(nameof(SelectedSubcondition));
            OnPropertyChanged(nameof(SubconditionControls));
        }
Exemplo n.º 3
0
        public void RemoveSubcondition(SubconditionControl subcondition)
        {
            SubconditionControls.Remove(subcondition);
            _craftingCondition.CraftingSubConditions.Remove(subcondition.SubCondition);
            SelectedSubcondition = null;

            if (SubconditionControls.Count == 0)
            {
                AddSubcondition();
            }

            SelectedSubcondition = SubconditionControls[0];

            OnPropertyChanged(nameof(SelectedSubcondition));
            OnPropertyChanged(nameof(SubconditionControls));
        }
 public OnDeleteEventArgs(SubconditionControl c)
 {
     Control = c;
 }