Ejemplo n.º 1
0
        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));
                }
            }
        }
Ejemplo n.º 2
0
        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) { }
        }
Ejemplo n.º 3
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);
        }
Ejemplo n.º 4
0
 public void RemoveEquipment(EquipmentSummaryViewModel equipment)
 {
     EquippedWeapons.Remove(equipment);
     Warrior.RemoveEquipment(equipment.Equipment);
 }