private void ExecuteAddDamage() { AddDamageWindowViewModel addDamageWindowViewModel = new AddDamageWindowViewModel(); Model.Damage damage = addDamageWindowViewModel.GetDamage(); if (damage != null) { DamageViewModel damageViewModel = new DamageViewModel { Damage = damage }; Damages.Add(damageViewModel); } }
private void ExecuteEditDamage() { if (SelectedDamage < Damages.Count) { AddDamageWindowViewModel addDamageWindowViewModel = new AddDamageWindowViewModel(Damages[SelectedDamage].Damage); Model.Damage damage = addDamageWindowViewModel.GetDamage(); if (damage != null) { DamageViewModel damageViewModel = new DamageViewModel { Damage = damage }; Damages[SelectedDamage] = damageViewModel; } } }
public AddAttackWindowViewModel(Model.Attack attack = null) { _addDamage = new Command(ExecuteAddDamage); _editDamage = new Command(ExecuteEditDamage); _removeDamage = new Command(ExecuteRemoveDamage); _damages = new FullyObservableCollection <DamageViewModel>(); if (attack != null) { _name = attack.Name; _modifier = attack.Modifier.ToString(); _type = GetTypeIndex(attack.Type); _ability = GetAbilityIndex(attack.Ability); _selectedThreatRangeMinimum = GetThreatRangeIndex(attack.ThreatRangeMin); _selectedCritMultiplier = GetCritMultiplierIndex(attack.CritMultiplier); _twoHanded = attack.TwoHanded; foreach (Model.Damage damage in attack.Damages) { DamageViewModel damageVM = new DamageViewModel { Damage = damage, }; _damages.Add(damageVM); } } else { _name = ""; _modifier = ""; _type = 0; _ability = 0; _selectedThreatRangeMinimum = 0; _selectedCritMultiplier = 0; _twoHanded = false; } }