| | |
| | |
|
| | | public override void Init()
|
| | | {
|
| | | //ParseConfig();
|
| | | ParseConfig();
|
| | | FuncOpen.Instance.OnFuncStateChangeEvent += OnFuncStateChangeEvent;
|
| | | }
|
| | |
|
| | |
| | | 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++)
|
| | | {
|
| | |
| | | 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;
|
| | |
| | | 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
|