From 9d14caecad66a91d53049bdba76f12e35d3ff7c8 Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期一, 21 九月 2020 22:42:15 +0800
Subject: [PATCH] 0312 个人boss 世界boss 封魔坛 剩余次数显示统一
---
System/FindPrecious/WorldBossWin.cs | 1
System/FindPrecious/DemonJarWin.cs | 7 ++-
System/FindPrecious/PersonalBossModel.cs | 3 +
System/FindPrecious/PersonalBossWin.cs | 58 +++++++++++++++++++++++++++--
4 files changed, 62 insertions(+), 7 deletions(-)
diff --git a/System/FindPrecious/DemonJarWin.cs b/System/FindPrecious/DemonJarWin.cs
index 2b42eab..88e5d99 100644
--- a/System/FindPrecious/DemonJarWin.cs
+++ b/System/FindPrecious/DemonJarWin.cs
@@ -59,7 +59,7 @@
totalTimes = dungeonModel.GetTotalTimes(DemonJarModel.DATA_MAPID);
enterTimes = dungeonModel.GetEnterTimes(DemonJarModel.DATA_MAPID);
m_Times.text = StringUtility.Contact(totalTimes - enterTimes, "/", DemonJarModel.TOTALTIME_LIMIT);
-
+ m_Times.color = totalTimes - enterTimes == 0 ? UIHelper.GetUIColor(TextColType.Red) : UIHelper.GetUIColor(TextColType.DarkGreen);
OnRemaintimeUpdate(DemonJarModel.DATA_MAPID);
//mapModel.RequestQueryMapLineState(DemonJarModel.DATA_MAPID);
}
@@ -261,7 +261,7 @@
enterTimes = dungeonModel.GetEnterTimes(DemonJarModel.DATA_MAPID);
m_Times.text = StringUtility.Contact(totalTimes - enterTimes, "/", DemonJarModel.TOTALTIME_LIMIT);
-
+ m_Times.color = totalTimes - enterTimes == 0 ? UIHelper.GetUIColor(TextColType.Red) : UIHelper.GetUIColor(TextColType.DarkGreen);
if ((totalTimes - enterTimes) < DemonJarModel.TOTALTIME_LIMIT)
{
DateTime endTime;
@@ -280,7 +280,7 @@
{
m_CountRemainTime.gameObject.SetActive(false);
}
- m_CountOver.gameObject.SetActive(dungeonModel.GetCoverCount(DemonJarModel.DATA_MAPID) == 0);
+ m_CountOver.gameObject.SetActive(false);//(dungeonModel.GetCoverCount(DemonJarModel.DATA_MAPID) == 0);
}
@@ -290,6 +290,7 @@
enterTimes = dungeonModel.GetEnterTimes(DemonJarModel.DATA_MAPID);
m_Times.text = StringUtility.Contact(totalTimes - enterTimes, "/", DemonJarModel.TOTALTIME_LIMIT);
+ m_Times.color = totalTimes - enterTimes == 0 ? UIHelper.GetUIColor(TextColType.Red) : UIHelper.GetUIColor(TextColType.DarkGreen);
if (totalTimes - enterTimes >= DemonJarModel.TOTALTIME_LIMIT)
{
m_CountRemainTime.gameObject.SetActive(false);
diff --git a/System/FindPrecious/PersonalBossModel.cs b/System/FindPrecious/PersonalBossModel.cs
index aa1cd43..d1b1cc1 100644
--- a/System/FindPrecious/PersonalBossModel.cs
+++ b/System/FindPrecious/PersonalBossModel.cs
@@ -42,6 +42,7 @@
PackModel playerPack { get { return ModelCenter.Instance.GetModel<PackModel>(); } }
DungeonModel dungeonModel { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } }
+ public int maxBossTimes = 0;
public override void Init()
{
ParseConfig();
@@ -242,6 +243,8 @@
// var dungeonConfig = DungeonConfig.Get(dungeonId);
// dungeonTicket = dungeonConfig == null ? 0 : dungeonConfig.TicketID;
//}
+
+ maxBossTimes = DungeonOpenTimeConfig.Get(PERSONALBOSS_MAPID).DayTimes;
}
public void RequestGotoDungeon(int _bossId)
diff --git a/System/FindPrecious/PersonalBossWin.cs b/System/FindPrecious/PersonalBossWin.cs
index 214b62c..8f6e21b 100644
--- a/System/FindPrecious/PersonalBossWin.cs
+++ b/System/FindPrecious/PersonalBossWin.cs
@@ -18,6 +18,8 @@
[SerializeField] Text m_Times;
[SerializeField] Button m_Goto;
[SerializeField] RectTransform m_NoDamageTip;
+ [SerializeField] Text m_ButtonName;
+ [SerializeField] Button m_BuyTimes;
PersonalBossModel model { get { return ModelCenter.Instance.GetModel<PersonalBossModel>(); } }
FindPreciousModel findPreciousModel { get { return ModelCenter.Instance.GetModel<FindPreciousModel>(); } }
@@ -33,11 +35,25 @@
protected override void AddListeners()
{
m_Goto.AddListener(GotoKillBoss);
+ m_BuyTimes.AddListener(BuyTimes);
}
+ private void BuyTimes()
+ {
+ if ((totalTimes - enterTimes) >= model.maxBossTimes)
+ {
+ ServerTipDetails.DisplayNormalTip(Language.Get("DemonJar18"));
+ }
+ else
+ {
+ dungeonModel.currentDungeon = new Dungeon(PersonalBossModel.PERSONALBOSS_MAPID, 0);
+ WindowCenter.Instance.Open<DungeonBuyTimesWin>();
+ }
+ }
protected override void OnPreOpen()
{
dungeonModel.updateDungeonBuyCnt += OnTimesOk;
+ DTC0320_tagFBEnd.UpdateFBEndEvent += UpdateFBEnd;
OnTimesOk();
}
@@ -46,20 +62,29 @@
{
totalTimes = dungeonModel.GetTotalTimes(PersonalBossModel.PERSONALBOSS_MAPID);
enterTimes = dungeonModel.GetEnterTimes(PersonalBossModel.PERSONALBOSS_MAPID);
- m_Times.text = Language.Get("WorldBoss_Endurance0", totalTimes - enterTimes);
- m_Times.color = UIHelper.GetUIColor((totalTimes - enterTimes) > 0 ? TextColType.Green : TextColType.Red, true);
-
+ m_Times.text = StringUtility.Contact(totalTimes - enterTimes, "/", model.maxBossTimes);
+ m_Times.color = totalTimes - enterTimes <= 0 ? UIHelper.GetUIColor(TextColType.Red) : UIHelper.GetUIColor(TextColType.DarkGreen);
}
protected override void OnAfterOpen()
{
model.bossSelectedEvent += OnBossSelected;
+ if (model.CanFBWipeOut(model.selectedBoss))
+ {
+ m_ButtonName.text = Language.Get("RuneTower22");
+ }
+ else
+ {
+ m_ButtonName.text = Language.Get("RealmPractice108");
+ }
+
}
protected override void OnPreClose()
{
model.bossSelectedEvent -= OnBossSelected;
dungeonModel.updateDungeonBuyCnt -= OnTimesOk;
+ DTC0320_tagFBEnd.UpdateFBEndEvent -= UpdateFBEnd;
}
protected override void OnAfterClose()
@@ -72,6 +97,12 @@
ShowBosses();
}
#endregion
+
+ private void UpdateFBEnd()
+ {
+ OnTimesOk();
+ model.UpdateRedpoint();
+ }
private void ShowBosses()
{
@@ -93,7 +124,15 @@
var error = 0;
if (TestEnterDungeon(out error))
{
- model.RequestGotoDungeon(model.selectedBoss);
+ if (model.CanFBWipeOut(model.selectedBoss))
+ {
+ var config = PersonalBossConfig.Get(model.selectedBoss);
+ dungeonModel.RequestSweep(new Dungeon(PersonalBossModel.PERSONALBOSS_MAPID, config.lineId));
+ }
+ else
+ {
+ model.RequestGotoDungeon(model.selectedBoss);
+ }
}
else
{
@@ -169,6 +208,17 @@
m_BossIntroduce.Display(bossId, false);
DisplayGotoKillButton(model.selectedBoss);
DisplayTip(bossId);
+
+ if (model.CanFBWipeOut(model.selectedBoss))
+ {
+ m_ButtonName.text = Language.Get("RuneTower22");
+ }
+ else
+ {
+ m_ButtonName.text = Language.Get("RealmPractice108");
+ }
+ model.UpdateRedpoint();
+
}
private void DisplayTip(int bossId)
diff --git a/System/FindPrecious/WorldBossWin.cs b/System/FindPrecious/WorldBossWin.cs
index b7330bb..1e295e0 100644
--- a/System/FindPrecious/WorldBossWin.cs
+++ b/System/FindPrecious/WorldBossWin.cs
@@ -178,6 +178,7 @@
var remainCount = model.GetWorldBossRemainCount();
var countInfo = string.Format("{0}/{1}", remainCount, GeneralDefine.bossWearyValues[0]);
m_WearyValue.text = countInfo;
+ m_WearyValue.color = remainCount == 0 ? UIHelper.GetUIColor(TextColType.Red) : UIHelper.GetUIColor(TextColType.DarkGreen);
//m_WearyValue.text = StringUtility.Contact(model.wearyValue, "/", GeneralDefine.bossWearyValues[0] + model.extraBossWearyValue);
}
--
Gitblit v1.8.0