private void Remove()
        {
            if (IsSkillChecked)
            {
                if (SelectedPlayerSkill != null)
                {
                    Skills.Add(SelectedPlayerSkill.Skill);
                    SkillPoints = SkillPoints + SelectedPlayerSkill.Skill.Cost;
                    PlayerSkills.Remove(SelectedPlayerSkill);
                    SelectedPlayerSkill = null;
                }
            }
            else
            {
                if (SelectedPlayerFeat != null)
                {
                    Feats.Add(SelectedPlayerFeat.Feat);
                    FeatPoints = FeatPoints + SelectedPlayerFeat.Feat.Cost;
                    PlayerFeats.Remove(SelectedPlayerFeat);
                    SelectedPlayerFeat = null;
                }
            }

            Refresh();
        }
        private void Add()
        {
            if (IsSkillChecked)
            {
                if (SelectedSkill != null)
                {
                    PlayerSkills.Add(new PlayerSkillViewModel(SelectedSkill, 0));
                    SkillPoints = SkillPoints - SelectedSkill.Cost;
                    Skills.Remove(SelectedSkill);
                    SelectedSkill = null;
                }
            }
            else
            {
                if (SelectedFeat != null)
                {
                    PlayerFeats.Add(new PlayerFeatViewModel(SelectedFeat, 0));
                    FeatPoints = FeatPoints - SelectedFeat.Cost;
                    Feats.Remove(SelectedFeat);
                    SelectedFeat = null;
                }
            }

            Refresh();
        }
 private bool CanRemove()
 {
     if (IsSkillChecked)
     {
         return(PlayerSkills.Any());
     }
     return(PlayerFeats.Any());
 }
 public override void Validate()
 {
     if (!PlayerSkills.Any())
     {
         IsValid = false;
         Error   = LanguageManager.GetResourceValue("CreationSkillsView", "ErrorSkills");
     }
     else if (!PlayerFeats.Any())
     {
         IsValid = false;
         Error   = LanguageManager.GetResourceValue("CreationSkillsView", "ErrorFeats");
     }
     else
     {
         IsValid = true;
         Error   = "";
     }
     RaiseEvents();
 }