public MainViewModel(IMonsterManualViewModel monsterManualViewModel, IEquipmentViewModel equipmentViewModel) { _monsterManualViewModel = monsterManualViewModel; _equipmentViewModel = equipmentViewModel; CurrentViewModel = (ObservableObject)_equipmentViewModel; }
private void InitializeEquipmentAndConsumableViewModels() { this.ModificationContext = new ModificationContext(); this.LoadedEquipments = new ObservableCollection <IEquipmentViewModel>(); this.LoadedConsumables = new ObservableCollection <IConsumableViewModel>(); this.AvailableEquipments = this.Tank.AvailableEquipments.ToDictionary(p => p.Value, p => (IEquipmentViewModel) new EquipmentViewModel(this.CommandBindings, p.Value, this)); this.AvailableConsumables = this.Tank.AvailableConsumables.ToDictionary(p => p.Value, p => (IConsumableViewModel) new ConsumableViewModel(this.CommandBindings, p.Value, this)); _removeEquipmentViewModel = new RemoveEquipmentViewModel(this.CommandBindings, this); _removeConsumableViewModel = new RemoveConsumableViewModel(this.CommandBindings, this); _emptyEquipmentViewModel = new EmptyEquipmentViewModel(this.CommandBindings, this); _emptyConsumableViewModel = new EmptyConsumableViewModel(this.CommandBindings, this); for (int i = 0; i < MaxEquipmentCount; ++i) { this.LoadedEquipments.Add(_emptyEquipmentViewModel); } for (int i = 0; i < MaxConsumableCount; ++i) { this.LoadedConsumables.Add(_emptyConsumableViewModel); } this.HandleEquipmentsChangeEvents(); this.HandleConsumablesChangeEvents(); }
internal void EquipEquipment(IEquipmentViewModel equipment) { if (this.CurrentEquipmentSlotIndex.HasValue) { this.EquipEquipment(this.CurrentEquipmentSlotIndex.Value, equipment); this.CurrentEquipmentSlotIndex = null; } }
internal void RemoveEquipment(IEquipmentViewModel equipment) { if (equipment == _emptyEquipmentViewModel) { return; } var index = this.LoadedEquipments.IndexOf(equipment); if (index >= 0) { this.RemoveEquipment(index); } }
internal void EquipEquipment(int index, IEquipmentViewModel equipment) { this.LoadedEquipments[index] = equipment; this.NotifyWeightChanged(); }