From a0ede150686a218c92b901b1f20aef12a9913890 Mon Sep 17 00:00:00 2001
From: client_linchunjie <461730578@qq.com>
Date: 星期五, 14 九月 2018 09:36:59 +0800
Subject: [PATCH] 1930【1.0.15】【主干】功能预告跳转八卦炉激活,功能预告界面未关闭
---
System/MainInterfacePanel/InGamePushContainer.cs | 70 +++++++++++++++++++++++++++++++----
1 files changed, 62 insertions(+), 8 deletions(-)
diff --git a/System/MainInterfacePanel/InGamePushContainer.cs b/System/MainInterfacePanel/InGamePushContainer.cs
index c5e07a6..d98d594 100644
--- a/System/MainInterfacePanel/InGamePushContainer.cs
+++ b/System/MainInterfacePanel/InGamePushContainer.cs
@@ -14,6 +14,7 @@
public class InGamePushContainer : MonoBehaviour
{
[SerializeField] BetterItemGetBehaviour m_BetterEquipPusher;
+ [SerializeField] RealmBetterEquipBehaviour m_RealmBetterEquipPusher;
[SerializeField] PreciousItemGetBehaviour m_PreciousItemPusher;
[SerializeField] FindPreciousBossRebornBehaviour m_BossRebornPusher;
[SerializeField] ItemUseBehaviour m_itemUsePusher;
@@ -24,8 +25,17 @@
[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>(); } }
PreciousItemGetModel preciousItemGetModel { get { return ModelCenter.Instance.GetModel<PreciousItemGetModel>(); } }
ItemUseModel itemUseModel { get { return ModelCenter.Instance.GetModel<ItemUseModel>(); } }
ItemOverdueModel itemOverdue { get { return ModelCenter.Instance.GetModel<ItemOverdueModel>(); } }
@@ -38,6 +48,7 @@
public void Init()
{
CheckBetterEquip();
+ CheckRealmBetterEquip();
CheckPreciousItem();
CheckBossReborn();
CheckItemUse();
@@ -49,6 +60,7 @@
FirstChargeTrialShow();
playerPack.RefreshDecomAttrAct += CheckEquipDecompose;
betterEquipGetModel.showEquipRefreshEvent += CheckBetterEquip;
+ realmEquipModel.showEquipRefreshEvent += CheckRealmBetterEquip;
preciousItemGetModel.showItemRefreshEvent += CheckPreciousItem;
findPreciousModel.bossRebornNotifyChangeEvent += CheckBossReborn;
itemUseModel.showItemRefreshEvent += CheckItemUse;
@@ -68,6 +80,28 @@
NewBieCenter.Instance.guideBeginEvent -= OnNewBieGuideBegin;
guardModel.onDungeonEquipGuardEvent -= CheckDungeonGuard;
firstTimeRechargeModel.IsTipShowEvent -= FirstChargeTrialShow;
+ realmEquipModel.showEquipRefreshEvent -= CheckRealmBetterEquip;
+ }
+
+
+ private void CheckRealmBetterEquip()
+ {
+ if (string.IsNullOrEmpty(realmEquipModel.currentEquipGuid))
+ {
+ m_RealmBetterEquipPusher.gameObject.SetActive(false);
+ }
+ else
+ {
+ if (betterEquipGetModel.ShowBetterEquipAble())
+ {
+ m_RealmBetterEquipPusher.gameObject.SetActive(true);
+ m_RealmBetterEquipPusher.ShowBetterEquip();
+ }
+ else
+ {
+ m_RealmBetterEquipPusher.gameObject.SetActive(false);
+ }
+ }
}
private void CheckBetterEquip()
@@ -176,28 +210,48 @@
{
var findPreciousType = findPreciousModel.GetBossFindPreciousType(findPreciousModel.currentBossNotify);
+ var killable = false;
var show = true;
var mapId = PlayerDatas.Instance.baseData.MapID;
switch (findPreciousType)
{
- case FindPreciousModel.FindPreciousType.WorldBoss:
+ case FindPreciousType.WorldBoss:
+ killable = worldBossModel.wearyValue < GeneralConfig.Instance.bossWearyValues[0] + worldBossModel.extraBossWearyValue;
show = !GeneralConfig.Instance.worldBossNoRebornRemindMaps.Contains(mapId);
break;
- case FindPreciousModel.FindPreciousType.BossHome:
+ case FindPreciousType.BossHome:
+ killable = bossHomeModel.wearyValue < vipModel.GetVipPrivilegeCnt(VipPrivilegeType.BossHomeAwardLimit);
show = !GeneralConfig.Instance.bossHomeNoRebornRemindMaps.Contains(mapId);
break;
- case FindPreciousModel.FindPreciousType.ElderGodArea:
+ case FindPreciousType.ElderGodArea:
+ var elderGodEnterTimes = dungeonModel.GetEnterTimes(ElderGodAreaModel.ELDERGODAREA_MAPID);
+ var elderGodTotalTimes = dungeonModel.GetTotalTimes(ElderGodAreaModel.ELDERGODAREA_MAPID);
+ killable = elderGodTotalTimes > elderGodEnterTimes;
show = !GeneralConfig.Instance.elderGodNoRebornRemindMaps.Contains(mapId);
break;
- case FindPreciousModel.FindPreciousType.DemonJar:
+ case FindPreciousType.DemonJar:
+ var totalTimes = dungeonModel.GetTotalTimes(DemonJarModel.DEMONJAR_MAPID);
+ var enterTimes = dungeonModel.GetEnterTimes(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
@@ -236,7 +290,7 @@
private void OnNewBieGuideBegin()
{
- var guideConfig = ConfigManager.Instance.GetTemplate<GuideConfig>(NewBieCenter.Instance.currentGuide);
+ var guideConfig = Config.Instance.Get<GuideConfig>(NewBieCenter.Instance.currentGuide);
switch ((GuideTriggerType)guideConfig.TriggerType)
{
case GuideTriggerType.EquipQuality:
--
Gitblit v1.8.0