From 0280fc61bca1f0419e81eab56f1abb287dc090de Mon Sep 17 00:00:00 2001
From: client_Wu Xijin <364452445@qq.com>
Date: 星期六, 25 八月 2018 10:37:02 +0800
Subject: [PATCH] 更新vipboss红点逻辑。

---
 System/FindPrecious/PersonalBossModel.cs |   31 +++++++++++++++++++++++++++----
 1 files changed, 27 insertions(+), 4 deletions(-)

diff --git a/System/FindPrecious/PersonalBossModel.cs b/System/FindPrecious/PersonalBossModel.cs
index 4abb36a..5c036ad 100644
--- a/System/FindPrecious/PersonalBossModel.cs
+++ b/System/FindPrecious/PersonalBossModel.cs
@@ -39,17 +39,22 @@
         FindPreciousModel findPreciousModel { get { return ModelCenter.Instance.GetModel<FindPreciousModel>(); } }
         PlayerPackModel playerPack { get { return ModelCenter.Instance.GetModel<PlayerPackModel>(); } }
         DungeonModel dungeonModel { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } }
+        VipModel vipModel { get { return ModelCenter.Instance.GetModel<VipModel>(); } }
 
         public override void Init()
         {
             ParseConfig();
-            UpdateRedpoint();
-            playerPack.RefreshItemCountAct += RefreshItemCnt;
+            playerPack.RefreshItemCountAct += RefreshItemCount;
+            PlayerDatas.Instance.PlayerDataRefreshEvent += OnPlayerDataChange;
+            dungeonModel.dungeonRecordChangeEvent += OnDungeonRecordChange;
+
         }
 
         public override void UnInit()
         {
-            playerPack.RefreshItemCountAct -= RefreshItemCnt;
+            playerPack.RefreshItemCountAct -= RefreshItemCount;
+            PlayerDatas.Instance.PlayerDataRefreshEvent -= OnPlayerDataChange;
+            dungeonModel.dungeonRecordChangeEvent -= OnDungeonRecordChange;
         }
 
         public void RequestSetDungeonAction()
@@ -90,7 +95,16 @@
             return sortedBossIds[0];
         }
 
-        private void RefreshItemCnt(PackType type, int index, int id)
+
+        private void OnPlayerDataChange(PlayerDataRefresh _type, int _value)
+        {
+            if (_type == PlayerDataRefresh.VIPLv)
+            {
+                UpdateRedpoint();
+            }
+        }
+
+        private void RefreshItemCount(PackType type, int index, int id)
         {
             if (type == PackType.rptItem && id == dungeonTicket)
             {
@@ -98,6 +112,15 @@
             }
         }
 
+        private void OnDungeonRecordChange(int _id)
+        {
+            if (_id == PERSONALBOSS_MAPID)
+            {
+                UpdateRedpoint();
+            }
+        }
+
+
         public void UpdateRedpoint()
         {
             if (!FuncOpen.Instance.IsFuncOpen(76))

--
Gitblit v1.8.0