少年修仙传客户端代码仓库
client_linchunjie
2018-09-26 0ced6b94425308d2a672fb93e9d245906d1d4879
System/Skill/TalentModel.cs
@@ -62,7 +62,7 @@
        public override void Init()
        {
            //ParseConfig();
            ParseConfig();
            FuncOpen.Instance.OnFuncStateChangeEvent += OnFuncStateChangeEvent;
        }
@@ -134,12 +134,22 @@
            return talentSkills.TryGetValue(talentId, out talent);
        }
        public int GetTalentTypeTotalPoint(int series, int talentType)
        public int GetTalentTypePoint(int talentType)
        {
            var point = 0;
            for (int i = 1; i <= 3; i++)
            {
                point += GetSeriesPoint(talentType, i);
            }
            return point;
        }
        public int GetSeriesPoint(int talentType,int talentSeries)
        {
            var job = (int)Math.Pow(PlayerDatas.Instance.baseData.Job, 2);
            List<int> list;
            var point = 0;
            if (TryGetTalents(job, series, talentType, out list))
            if (TryGetTalents(job, talentType, talentSeries, out list))
            {
                for (int i = 0; i < list.Count; i++)
                {
@@ -169,16 +179,16 @@
                    error = 2;
                    return false;
                }
                var talentConfig = Config.Instance.Get<TalentConfig>(talent.skillId + talent.level);
                var talentConfig = talent.GetTalentConfig(talent.level + 1);
                if (talentConfig.requireSeriesPoint != 0)
                {
                    if (GetTalentTypeTotalPoint(talentConfig.requireSeries, talentConfig.type) < talentConfig.requireSeriesPoint)
                    if (GetSeriesPoint(talentConfig.type, talentConfig.requireSeries) < talentConfig.requireSeriesPoint)
                    {
                        error = 4;
                        return false;
                    }
                }
                var skillConfig = Config.Instance.Get<SkillConfig>(talent.skillId + talent.level);
                var skillConfig = talent.GetSkillConfig(talent.level + 1);
                if (skillConfig.LearnSkillReq != 0)
                {
                    TalentSkill learnTalent;
@@ -238,6 +248,30 @@
            this.skillId = skillId;
            this.maxLevel = maxLevel;
        }
        public SkillConfig GetSkillConfig(int level = 0)
        {
            if (level > 0)
            {
                return Config.Instance.Get<SkillConfig>(skillId + level - 1);
            }
            else
            {
                return Config.Instance.Get<SkillConfig>(skillId + level);
            }
        }
        public TalentConfig GetTalentConfig(int level = 0)
        {
            if (level > 0)
            {
                return Config.Instance.Get<TalentConfig>(skillId + level - 1);
            }
            else
            {
                return Config.Instance.Get<TalentConfig>(skillId + level);
            }
        }
    }
    public class TalentSeries