From 95e0544aa36854c34c433c46dc4fb34b15b3a528 Mon Sep 17 00:00:00 2001
From: client_linchunjie <461730578@qq.com>
Date: 星期二, 28 八月 2018 12:00:18 +0800
Subject: [PATCH] 2960 抢Boss活动(提交封包代码)

---
 System/FairyAu/FairyGrabBossWin.cs |   70 +++++++++++++++++++++++++++++++++++
 1 files changed, 70 insertions(+), 0 deletions(-)

diff --git a/System/FairyAu/FairyGrabBossWin.cs b/System/FairyAu/FairyGrabBossWin.cs
index 0ff8187..b75b005 100644
--- a/System/FairyAu/FairyGrabBossWin.cs
+++ b/System/FairyAu/FairyGrabBossWin.cs
@@ -14,6 +14,11 @@
     public class FairyGrabBossWin : Window
     {
         [SerializeField] CyclicScroll m_Bosses;
+        [SerializeField] Text m_FairyName;
+        [SerializeField] ItemCell[] m_DropItems;
+        [SerializeField] Button m_KillRecord;
+        [SerializeField] Button m_Goto;
+        [SerializeField] Text m_SurplusTime;
 
         FairyGrabBossModel model { get { return ModelCenter.Instance.GetModel<FairyGrabBossModel>(); } }
         #region Built-in
@@ -23,10 +28,16 @@
 
         protected override void AddListeners()
         {
+            m_KillRecord.onClick.AddListener(KillRecord);
+            m_Goto.onClick.AddListener(Goto);
         }
 
         protected override void OnPreOpen()
         {
+            DisplaySurplusTime();
+            DisplayBossInfo();
+            GlobalTimeEvent.Instance.secondEvent += SecondEvent;
+            model.bossSelectedEvent += BossSelectedEvent;
         }
 
         protected override void OnActived()
@@ -41,6 +52,8 @@
 
         protected override void OnPreClose()
         {
+            GlobalTimeEvent.Instance.secondEvent -= SecondEvent;
+            model.bossSelectedEvent -= BossSelectedEvent;
         }
 
         protected override void OnAfterClose()
@@ -57,10 +70,67 @@
             m_Bosses.MoveToCenter(bosses.IndexOf(model.selectBoss));
         }
 
+        void DisplayBossInfo()
+        {
+            List<Item> dropItems;
+            model.TryGetDropItems(model.selectBoss, out dropItems);
+            for (int i = 0; i < m_DropItems.Length; i++)
+            {
+                m_DropItems[i].cellBtn.RemoveAllListeners();
+                if (dropItems != null && i < dropItems.Count)
+                {
+                    m_DropItems[i].gameObject.SetActive(true);
+                    var item = dropItems[i];
+                    ItemCellModel itemCellModel = new ItemCellModel(item.id, true, (ulong)item.count, item.bind ? 1 : 0);
+                    m_DropItems[i].Init(itemCellModel);
+                    m_DropItems[i].cellBtn.AddListener(() =>
+                    {
+                        ItemAttrData itemAttrData = new ItemAttrData(item.id, true, (ulong)item.count, -1, item.bind ? 1 : 0);
+                        ModelCenter.Instance.GetModel<ItemTipsModel>().SetItemTipsModel(itemAttrData);
+                    });
+                }
+                else
+                {
+                    m_DropItems[i].gameObject.SetActive(false);
+                }
+            }
+        }
+
         int DefaultSelect()
         {
             return model.bosses[0];
         }
+
+        void DisplaySurplusTime()
+        {
+            var seconds = model.surplusSeconds;
+            if (seconds > 0)
+            {
+                m_SurplusTime.text = TimeUtility.SecondsToDHMSCHS(seconds);
+            }
+            else
+            {
+                m_SurplusTime.text = Language.Get("ActivityEnd");
+            }
+        }
+
+        private void Goto()
+        {
+        }
+
+        private void KillRecord()
+        {
+        }
+
+        private void SecondEvent()
+        {
+            DisplaySurplusTime();
+        }
+
+        private void BossSelectedEvent(int bossId)
+        {
+            DisplayBossInfo();
+        }
     }
 
 }

--
Gitblit v1.8.0