From 41a6e87783d042bf3e0ecebfa772443f2b5ed95d Mon Sep 17 00:00:00 2001
From: client_Wu Xijin <364452445@qq.com>
Date: 星期四, 06 六月 2019 17:22:55 +0800
Subject: [PATCH] 7132 【2.0】【开发】打宝界面优化2

---
 System/FindPrecious/FindPreciousModel.cs |   66 ++++++++++++++++++++++++++++----
 1 files changed, 57 insertions(+), 9 deletions(-)

diff --git a/System/FindPrecious/FindPreciousModel.cs b/System/FindPrecious/FindPreciousModel.cs
index 6f543ce..75c33d4 100644
--- a/System/FindPrecious/FindPreciousModel.cs
+++ b/System/FindPrecious/FindPreciousModel.cs
@@ -55,8 +55,8 @@
         WorldBossModel worldBossModel { get { return ModelCenter.Instance.GetModel<WorldBossModel>(); } }
         BossHomeModel bossHomeModel { get { return ModelCenter.Instance.GetModel<BossHomeModel>(); } }
         PersonalBossModel personalBossModel { get { return ModelCenter.Instance.GetModel<PersonalBossModel>(); } }
-        DogzDungeonModel dogzDungeonModel { get { return ModelCenter.Instance.GetModel<DogzDungeonModel>(); } }
         JadeDynastyBossModel jadeDynastyBossModel { get { return ModelCenter.Instance.GetModel<JadeDynastyBossModel>(); } }
+        RealmModel realmModel { get { return ModelCenter.Instance.GetModel<RealmModel>(); } }
 
         public override void Init()
         {
@@ -259,6 +259,60 @@
             return bossInfos.TryGetValue(_bossId, out _bossInfo);
         }
 
+        public bool IsBossUnlock(int bossId)
+        {
+            var myRealmLevel = PlayerDatas.Instance.baseData.realmLevel;
+            var myRealmStage = realmModel.GetRealmStage(myRealmLevel);
+
+            var config = NPCConfig.Get(bossId);
+            var bossRealmStage = realmModel.GetRealmStage(config.Realm);
+
+            return myRealmStage >= bossRealmStage;
+        }
+
+        public bool IsBossUnlockOrUnlockSoon(int bossId)
+        {
+            var myRealmLevel = PlayerDatas.Instance.baseData.realmLevel;
+            var myRealmStage = realmModel.GetRealmStage(myRealmLevel);
+
+            var config = NPCConfig.Get(bossId);
+            var bossRealmStage = realmModel.GetRealmStage(config.Realm);
+
+            if (myRealmStage >= bossRealmStage)
+            {
+                return true;
+            }
+
+            if (myRealmStage + 1 >= bossRealmStage)
+            {
+                return true;
+            }
+
+            return false;
+        }
+
+        public bool IsRealmEnoughToKillBoss(int bossId)
+        {
+            var myRealmLevel = PlayerDatas.Instance.baseData.realmLevel;
+            var config = NPCConfig.Get(bossId);
+            return myRealmLevel >= config.Realm;
+        }
+
+        public int GetBossUnLockRealm(int bossId)
+        {
+            var config = NPCConfig.Get(bossId);
+            var realmStage = realmModel.GetRealmStage(config.Realm);
+            var realms = new List<int>();
+            if (realmModel.TryGetRealmStages(realmStage, out realms))
+            {
+                return realms[0];
+            }
+            else
+            {
+                return 0;
+            }
+        }
+
         public bool IsBossAlive(int _bossId)
         {
             if (demonJarModel.IsPersonalBoss(_bossId))
@@ -435,12 +489,10 @@
                 findPreciousRedpoint.count = totalCount;
             }
 
-            if (_redpointId == DogzDungeonModel.DOGZDUNGEON_REDPOINT ||
-                _redpointId == JadeDynastyBossModel.JADEDYNASTY_REDPOINTID)
+            if (_redpointId == JadeDynastyBossModel.JADEDYNASTY_REDPOINTID)
             {
-                var dogzDungeonRedpointCount = dogzDungeonModel.redpoint.count;
                 var jadeDynastyBossRedpointCount = jadeDynastyBossModel.redpoint.count;
-                var totalCount = dogzDungeonRedpointCount + jadeDynastyBossRedpointCount;
+                var totalCount = jadeDynastyBossRedpointCount;
 
                 lootPreciousRedpoint.count = totalCount;
                 lootPreciousRedpoint.state = totalCount > 0 ? RedPointState.Quantity : RedPointState.None;
@@ -468,10 +520,6 @@
             else if (PersonalBossConfig.Has(_bossId))
             {
                 return FindPreciousType.PersonalBoss;
-            }
-            else if (DogzDungeonConfig.Has(_bossId))
-            {
-                return FindPreciousType.DogzDungeon;
             }
             else if (CrossServerBossConfig.Has(_bossId))
             {

--
Gitblit v1.8.0