示例#1
0
 public void Save()
 {
     _craftingCondition.CraftingSubConditions.Clear();
     foreach (var subcondition in SubconditionControls.Select(x => (SubconditionControlViewModel)x.ViewModel).Select(x => x.Save()))
     {
         _craftingCondition.CraftingSubConditions.Add(subcondition);
     }
 }
示例#2
0
        private int GetNextIndex()
        {
            if (!SubconditionControls.Any())
            {
                return(1);
            }

            return(SubconditionControls.Select(x => (SubconditionControlViewModel)x.ViewModel).Max(x => x.Index) + 1);
        }
示例#3
0
        private int GetNextIndex()
        {
            if (!SubconditionControls.Any())
            {
                return(1);
            }

            return(SubconditionControls.Max(x => x.Index) + 1);
        }
示例#4
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));
        }
示例#5
0
        public void RemoveSubcondition(SubconditionControlViewModel model)
        {
            SubconditionControls.Remove(SubconditionControls.First(x => x.ViewModel == model));
            _craftingCondition.CraftingSubConditions.Remove(model.SubCondition);
            SelectedSubcondition = null;

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

            SelectedSubcondition = SubconditionControls[0];

            OnPropertyChanged(nameof(SelectedSubcondition));
            OnPropertyChanged(nameof(SubconditionControls));
        }
示例#6
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));
        }