少年修仙传客户端代码仓库
client_linchunjie
2018-09-14 a0ede150686a218c92b901b1f20aef12a9913890
System/Skill/SkillModel.cs
@@ -49,6 +49,7 @@
        public bool jumpToPass { get; set; }
        public int minTaskHole { get; private set; }
        public int maxTaskHole { get; private set; }
        public int immediatelyUnlockTask { get; private set; }
        void ParseConfig()
        {
            for (int i = 1; i <= 3; i++)
@@ -85,6 +86,8 @@
                passEquipCnt = int.Parse(funcCfg.Numerical2);
                taskHoleDict = ConfigParse.GetDic<int, int>(funcCfg.Numerical4);
            }
            funcCfg = Config.Instance.Get<FuncConfigConfig>("PassiveSkillTask");
            immediatelyUnlockTask = int.Parse(funcCfg.Numerical2);
            funcCfg = Config.Instance.Get<FuncConfigConfig>("PassSkillEquipGetWay");
            if (funcCfg != null)
            {
@@ -350,6 +353,7 @@
                    taskHoleCondition = result;
                }
            }
            UpdateTaskHoleRedpoint();
        }
        RolePromoteModel m_PromoteModel;
@@ -527,6 +531,7 @@
            }
            playerLoginOk = true;
            UpdateRedpoint();
            UpdateTaskHoleRedpoint();
        }
        public void CheckEquipPassSkill(PlayerSkillData _skill)
@@ -645,6 +650,36 @@
            DayRemind.Instance.SetDayRemind(DayRemind.PASS_SKILL_REDPOINT, true);
            UpdateRedpoint();
        }
        public Redpoint taskHoleRedpoint = new Redpoint(10302, 1030299);
        void UpdateTaskHoleRedpoint()
        {
            taskHoleRedpoint.state = RedPointState.None;
            if (DayRemind.Instance.GetDayRemind(DayRemind.TASK_SKILL_HOLE))
            {
                return;
            }
            foreach (var hole in taskHoleDict.Keys)
            {
                var taskId = taskHoleDict[hole];
                if (taskId == immediatelyUnlockTask)
                {
                    var config = Config.Instance.Get<PyTaskConfig>(taskId);
                    if (PlayerDatas.Instance.baseData.LV >= config.lv
                        && !IsTaskHoleUnlock(hole))
                    {
                        taskHoleRedpoint.state = RedPointState.Simple;
                    }
                    return;
                }
            }
        }
        public void SetTaskHoleRemind()
        {
            DayRemind.Instance.SetDayRemind(DayRemind.TASK_SKILL_HOLE, true);
            UpdateTaskHoleRedpoint();
        }
        #endregion
        private void OnFuncStateChangeEvent(int _id)
@@ -652,6 +687,7 @@
            if (_id == 109)
            {
                UpdateRedpoint();
                UpdateTaskHoleRedpoint();
            }
        }
    }