示例#1
0
        /// <summary>
        /// Gets a skill by its ID or its name
        /// </summary>
        /// <param name="name"></param>
        /// <returns></returns>
        public static StaticSkill GetSkill(SerializablePlanEntry serial)
        {
            // Try get skill by its ID
            StaticSkill skill = StaticSkills.GetSkillById(serial.ID);

            // We failed? Try get skill by its name
            if (skill == null)
            {
                skill = StaticSkills.GetSkillByName(serial.SkillName);
            }

            return(skill);
        }
示例#2
0
        /// <summary>
        /// Gets the skills for each race.
        /// </summary>
        /// <returns></returns>
        private List <SerializableCharacterSkill> GetSkillsForRace()
        {
            var skills         = new List <SerializableCharacterSkill>();
            var startingSkills = new Dictionary <int, int>();

            switch (m_race)
            {
            case Race.Amarr:
                startingSkills = s_allRaceSkills.Concat(s_amarrRaceSkills).ToDictionary(x => x.Key, x => x.Value);
                break;

            case Race.Caldari:
                startingSkills = s_allRaceSkills.Concat(s_caldariRaceSkills).ToDictionary(x => x.Key, x => x.Value);
                break;

            case Race.Gallente:
                startingSkills = s_allRaceSkills.Concat(s_gallenteRaceSkills).ToDictionary(x => x.Key, x => x.Value);
                break;

            case Race.Minmatar:
                startingSkills = s_allRaceSkills.Concat(s_minmatarRaceSkills).ToDictionary(x => x.Key, x => x.Value);
                break;
            }

            foreach (var raceSkill in startingSkills)
            {
                var staticSkill = StaticSkills.GetSkillById(raceSkill.Key);
                if (staticSkill == null)
                {
                    continue;
                }

                var skill = new SerializableCharacterSkill()
                {
                    ID          = raceSkill.Key,
                    Level       = raceSkill.Value,
                    Name        = StaticSkills.GetSkillById(raceSkill.Key).Name,
                    Skillpoints = StaticSkills.GetSkillById(raceSkill.Key).GetPointsRequiredForLevel(raceSkill.Value),
                    IsKnown     = true,
                    OwnsBook    = false,
                };

                skills.Add(skill);
            }

            return(skills);
        }
示例#3
0
        /// <summary>
        /// Gets the skill name by its ID.
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        private static string GetSkillName(int id)
        {
            StaticSkill skill = StaticSkills.GetSkillById(id);

            return(skill != null ? skill.Name : String.Empty);
        }