public WarriorViewModel(IWarrior warrior) { if (warrior == null) { throw new ArgumentNullException("Warrior is null"); } Warrior = warrior; Warrior.PropertiesChanged += Warrior_PropertiesChanged; ShowWeaponsPickerCommand = new ShowWeaponsPicker(this); BuyWarriorCommand = new BuyWarrior(this); RemoveWarriorCommand = new RemoveWarrior(this); IncreaseWarriorBuyAmountCommand = new IncreaseBuyAmount(this); DecreaseWarriorBuyAmountCommand = new DecreaseBuyAmount(this); ShowSkillSelectorCommand = new ShowSkillSelector(this); foreach (IEquipment item in warrior.Equipment) { EquippedWeapons.Add(new EquipmentSummaryViewModel(item)); } foreach (var item in warrior.AllowedSkills) { //if (!warrior.Skills.Contains(item)) //{ AllowedSkills.Add(new SkillViewModel(item)); //} } IWizard wizard = warrior as IWizard; if (wizard != null) { foreach (var item in wizard.DrawnSpells) { Spells.Add(new SpellViewModel(item)); } } IHero hero = warrior as IHero; if (hero != null) { foreach (var item in hero.Injuries) { InjuryViewModel injuryModel = new InjuryViewModel(item); Injuries.Add(injuryModel); InjuriesSimple.Add(injuryModel); } foreach (var item in hero.Skills) { Skills.Add(new SkillViewModel(item)); SkillsSimple.Add(new SkillViewModelSimple(item)); } } }
private void SetEquipment() { // EquippedWeapons.Add(new EquipmentSummaryViewModel(DummyEquipment.Dummy)); EquippedWeapons.Clear(); foreach (IEquipment item in Warrior.Equipment) { EquippedWeapons.Add(new EquipmentSummaryViewModel(item)); } //if (EquippedWeapons.Count == 0) { } }
public void AddEquipment(EquipmentSummaryViewModel equipment) { if (equipment.Equipment is ICloseCombatWeapon) { if (Warrior.MaximumCloseCombatWeaponsReached() == false) { EquippedWeapons.Add(equipment); Warrior.AddEquipment(equipment.Equipment); } return; } else if (equipment.Equipment is IMisseleWeapon) { if (Warrior.Equipment.MaximumRangedWeaponsReached() == false) { EquippedWeapons.Add(equipment); Warrior.AddEquipment(equipment.Equipment); } } EquippedWeapons.Add(equipment); Warrior.AddEquipment(equipment.Equipment); }
public void RemoveEquipment(EquipmentSummaryViewModel equipment) { EquippedWeapons.Remove(equipment); Warrior.RemoveEquipment(equipment.Equipment); }