From fb0345c8f9815f1b9f655d6363da3a9cedd3944f Mon Sep 17 00:00:00 2001
From: client_Hale <339726288@qq.com>
Date: 星期一, 10 九月 2018 11:25:07 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts

---
 System/MainInterfacePanel/InGamePushContainer.cs |   32 +++++++++++++++++++++++++++++---
 1 files changed, 29 insertions(+), 3 deletions(-)

diff --git a/System/MainInterfacePanel/InGamePushContainer.cs b/System/MainInterfacePanel/InGamePushContainer.cs
index c9b4bc9..cacebaa 100644
--- a/System/MainInterfacePanel/InGamePushContainer.cs
+++ b/System/MainInterfacePanel/InGamePushContainer.cs
@@ -25,6 +25,14 @@
         [SerializeField] DungeonGuardCheckBehaviour m_DungeonGuardBehaviour;
         [SerializeField] FirstChargeTrialBehaviour m_FirstChargeTrialBehaviour;
 
+        WorldBossModel worldBossModel { get { return ModelCenter.Instance.GetModel<WorldBossModel>(); } }
+        BossHomeModel bossHomeModel { get { return ModelCenter.Instance.GetModel<BossHomeModel>(); } }
+        ElderGodAreaModel elderGodAreaModel { get { return ModelCenter.Instance.GetModel<ElderGodAreaModel>(); } }
+        DemonJarModel demonJarModel { get { return ModelCenter.Instance.GetModel<DemonJarModel>(); } }
+        DogzDungeonModel dogzDungeonModel { get { return ModelCenter.Instance.GetModel<DogzDungeonModel>(); } }
+        VipModel vipModel { get { return ModelCenter.Instance.GetModel<VipModel>(); } }
+        DungeonModel dungeonModel { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } }
+
         FindPreciousModel findPreciousModel { get { return ModelCenter.Instance.GetModel<FindPreciousModel>(); } }
         BetterEquipGetModel betterEquipGetModel { get { return ModelCenter.Instance.GetModel<BetterEquipGetModel>(); } }
         RealmBetterEquipModel realmEquipModel { get { return ModelCenter.Instance.GetModel<RealmBetterEquipModel>(); } }
@@ -202,30 +210,48 @@
                 {
                     var findPreciousType = findPreciousModel.GetBossFindPreciousType(findPreciousModel.currentBossNotify);
 
+                    var killable = false;
                     var show = true;
                     var mapId = PlayerDatas.Instance.baseData.MapID;
                     switch (findPreciousType)
                     {
                         case FindPreciousType.WorldBoss:
+                            killable = worldBossModel.wearyValue < GeneralConfig.Instance.bossWearyValues[0] + worldBossModel.extraBossWearyValue;
                             show = !GeneralConfig.Instance.worldBossNoRebornRemindMaps.Contains(mapId);
                             break;
                         case FindPreciousType.BossHome:
+                            killable = bossHomeModel.wearyValue < vipModel.GetVipPrivilegeCnt(VipPrivilegeType.BossHomeAwardLimit);
                             show = !GeneralConfig.Instance.bossHomeNoRebornRemindMaps.Contains(mapId);
                             break;
                         case FindPreciousType.ElderGodArea:
+                            var elderGodEnterTimes = dungeonModel.GetDungeonEnterTimes(ElderGodAreaModel.ELDERGODAREA_MAPID);
+                            var elderGodTotalTimes = dungeonModel.GetDungeonTotalTimes(ElderGodAreaModel.ELDERGODAREA_MAPID);
+                            killable = elderGodTotalTimes > elderGodEnterTimes;
                             show = !GeneralConfig.Instance.elderGodNoRebornRemindMaps.Contains(mapId);
                             break;
                         case FindPreciousType.DemonJar:
+                            var totalTimes = dungeonModel.GetDungeonTotalTimes(DemonJarModel.DEMONJAR_MAPID);
+                            var enterTimes = dungeonModel.GetDungeonEnterTimes(DemonJarModel.DEMONJAR_MAPID);
+                            killable = totalTimes > enterTimes;
                             show = !GeneralConfig.Instance.demonJarNoRebornRemindMaps.Contains(mapId);
                             break;
                         case FindPreciousType.DogzDungeon:
+                            killable = dogzDungeonModel.wearyValue < GeneralConfig.Instance.bossWearyValues[2];
+                            show = !GeneralConfig.Instance.dogzNoRebornRemindMaps.Contains(mapId);
                             break;
                     }
 
-                    if (show)
+                    if (killable)
                     {
-                        m_BossRebornPusher.DisplayRebornBoss();
-                        m_BossRebornPusher.gameObject.SetActive(true);
+                        if (show)
+                        {
+                            m_BossRebornPusher.DisplayRebornBoss();
+                            m_BossRebornPusher.gameObject.SetActive(true);
+                        }
+                    }
+                    else
+                    {
+                        findPreciousModel.ReportConfirmBossRebornNotify(findPreciousModel.currentBossNotify);
                     }
                 }
                 else

--
Gitblit v1.8.0