From c7b8b789a4ef38bbd7bdbfd86b0aa73bf9334b1d Mon Sep 17 00:00:00 2001
From: client_linchunjie <461730578@qq.com>
Date: 星期五, 26 十月 2018 10:41:18 +0800
Subject: [PATCH] 4218【1.2】仙盟宴会传功
---
System/Dungeon/DungeonFairyFeastHintWin.cs | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 54 insertions(+), 4 deletions(-)
diff --git a/System/Dungeon/DungeonFairyFeastHintWin.cs b/System/Dungeon/DungeonFairyFeastHintWin.cs
index 4e61b33..c2d1986 100644
--- a/System/Dungeon/DungeonFairyFeastHintWin.cs
+++ b/System/Dungeon/DungeonFairyFeastHintWin.cs
@@ -23,12 +23,20 @@
[SerializeField] FairyFeastRankBehaviour[] m_RankBehaviours;
[SerializeField] FairyFeastRankBehaviour m_TopRank;
[SerializeField] DungeonMultipleTaskWin.SelectEffect m_SelectEffect;
+ [SerializeField] Button m_Transmit;
+ [SerializeField] SmoothSlider m_TransmitSlider;
+ [SerializeField] Text m_TransmitProgress;
DungeonModel model { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } }
+ FairyFeastModel fairyFeastModel { get { return ModelCenter.Instance.GetModel<FairyFeastModel>(); } }
int currentSelect = 0;
#region Built-in
protected override void BindController()
+ {
+ }
+
+ protected override void AddListeners()
{
m_FairyFeast.onClick.AddListener(() =>
{
@@ -38,17 +46,19 @@
{
Select(1);
});
- }
-
- protected override void AddListeners()
- {
+ m_Transmit.onClick.AddListener(Transmit);
}
protected override void OnPreOpen()
{
Select(0);
+ m_TransmitSlider.ResetValue(0);
model.updateMissionEvent += UpdateMissionEvent;
+ fairyFeastModel.selectTransmit += SelectTransmit;
+ fairyFeastModel.transmitStateUpdate += TransmitStateUpdate;
+ SelectTransmit();
}
+
protected override void OnAfterOpen()
{
@@ -57,10 +67,34 @@
protected override void OnPreClose()
{
model.updateMissionEvent -= UpdateMissionEvent;
+ fairyFeastModel.selectTransmit -= SelectTransmit;
+ fairyFeastModel.transmitStateUpdate -= TransmitStateUpdate;
}
protected override void OnAfterClose()
{
+ }
+
+ protected override void LateUpdate()
+ {
+ if (fairyFeastModel.transmiting)
+ {
+ if (!m_TransmitSlider.gameObject.activeSelf)
+ {
+ m_TransmitSlider.gameObject.SetActive(true);
+ }
+ var surplusTime = (fairyFeastModel.transmitCompleteTime - DateTime.Now).TotalSeconds;
+ var progress = Mathf.Clamp01(1 - (float)surplusTime / fairyFeastModel.transmitCostSeconds);
+ m_TransmitSlider.value = progress;
+ m_TransmitProgress.text = StringUtility.Contact((int)(progress * 100), "%");
+ }
+ else
+ {
+ if (m_TransmitSlider.gameObject.activeSelf)
+ {
+ m_TransmitSlider.gameObject.SetActive(false);
+ }
+ }
}
#endregion
@@ -128,6 +162,22 @@
{
return x.rank.CompareTo(y.rank);
}
+
+ private void SelectTransmit()
+ {
+ m_Transmit.gameObject.SetActive(fairyFeastModel.selectPlayer != 0 && fairyFeastModel.allowTransmit
+ && !fairyFeastModel.transmiting);
+ }
+
+ private void Transmit()
+ {
+ fairyFeastModel.Transmit();
+ }
+
+ private void TransmitStateUpdate()
+ {
+ SelectTransmit();
+ }
}
}
--
Gitblit v1.8.0