From b4d5a32a7cc9035bb1efa29ad062cd2bd70ad898 Mon Sep 17 00:00:00 2001
From: client_Zxw <826696702@qq.com>
Date: 星期二, 04 九月 2018 16:15:14 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts

---
 System/Skill/SkillModel.cs |   36 ++++++++++++++++++++++++++++++++++++
 1 files changed, 36 insertions(+), 0 deletions(-)

diff --git a/System/Skill/SkillModel.cs b/System/Skill/SkillModel.cs
index daca465..c988c69 100644
--- a/System/Skill/SkillModel.cs
+++ b/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();
             }
         }
     }

--
Gitblit v1.8.0