Пример #1
0
        public List <LearnedSkill> GetLearnedSkillsFromSkillList(string skillList)
        {
            List <LearnedSkill> list = new List <LearnedSkill>();

            char[]   delimiterChars = { ',' };
            string[] skills         = skillList.Split(delimiterChars);

            foreach (string s in skills)
            {
                LearnedSkill item          = new LearnedSkill();
                int          firstBracket  = s.IndexOf("(");
                int          secondBracket = s.IndexOf(")");
                if (firstBracket > 0)
                {
                    item.LevelLearned = Convert.ToInt32(s.Substring(firstBracket + 1, (secondBracket - (firstBracket + 1))));
                    item.Skill        = GetSkillBySkillName(s.Remove(firstBracket).Trim());
                }
                else
                {
                    item.LevelLearned = 1;
                    item.Skill        = GetSkillBySkillName(s.Trim());
                }

                list.Add(item);
            }

            return(list);
        }
Пример #2
0
        private void btChoose_Click(object sender, RoutedEventArgs e)
        {
            TravellerChar character = SheetWindow.Character;

            if (tvSkillList.SelectedItem == null)
            {
                return;
            }
            ILearnable item = (ILearnable)tvSkillList.SelectedItem;

            if (!item.Learnable)
            {
                return;
            }
            if (item.GetType() == typeof(Skill))
            {
                Skill skillitem = (Skill)item;
                var   skill     = new LearnedSkill()
                {
                    SkillData = skillitem,
                    Level     = 0,
                    Skillname = skillitem.Name
                };
                character.LearnedSkills.Add(skill);
            }
            if (item.GetType() == typeof(SkillSpecialty))
            {
                SkillSpecialty skillspecitem = (SkillSpecialty)item;
                LearnedSkill   parentskill   = character.LearnedSkills.First(x => x.SkillData.Name == skillspecitem.Skill.Name);
                var            skillspec     = new LearnedSkillSpecialty()
                {
                    SkillData     = parentskill,
                    Level         = 0,
                    Name          = skillspecitem.Name,
                    SkillName     = parentskill.Skillname,
                    SpecialtyData = skillspecitem
                };
                parentskill.LearnedSkillSpecialties.Add(skillspec);
            }
            Close();
        }