public void Initialize() { var baseInfo = _configRepository.GetItemConfig(); if (_baseInfo != null && _baseInfo.Equals(baseInfo)) { return; } _baseInfo = baseInfo; _equipmentFactory.Initialize(baseInfo.ItemBase, baseInfo.Category, baseInfo.ItemLevel); _itemBase = _equipmentFactory.GetBaseItem(); _affixes = new ObservableCollection <Affix>(_equipmentFactory.GetPossibleAffixes()); CraftingTree.ClearConditions(); CraftingTree.Initialize(); Condition = null; _selected = Tree.Tree[0].Value; Tree.UpdateTree(CraftingTree, _selected); OnPropertyChanged(nameof(Condition)); OnPropertyChanged(nameof(Tree)); }