From 3a4eb38542bf8cc2cdf7f835a559ade8a8457ea3 Mon Sep 17 00:00:00 2001
From: client_Hale <339726288@qq.com>
Date: 星期六, 29 九月 2018 03:02:47 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts

---
 System/Message/BattleHintWin.cs |   89 ++++++++++++++++++++++++++++++++++++++------
 1 files changed, 76 insertions(+), 13 deletions(-)

diff --git a/System/Message/BattleHintWin.cs b/System/Message/BattleHintWin.cs
index e284f8c..4c05f33 100644
--- a/System/Message/BattleHintWin.cs
+++ b/System/Message/BattleHintWin.cs
@@ -6,6 +6,7 @@
 using System;
 using System.Collections;
 using System.Collections.Generic;
+using TableConfig;
 using UnityEngine;
 using UnityEngine.UI;
 
@@ -14,11 +15,21 @@
 
     public class BattleHintWin : Window
     {
-        [SerializeField] Image m_BattleHint;
+        [SerializeField] RectTransform m_ContainerBattleHint;
+        [SerializeField] RectTransform m_ContainerKing;
+        [SerializeField] RectTransform m_ContainerEnemy;
+        [SerializeField] RectTransform m_ContainerAncientRemind;
         [SerializeField] ScaleTween m_BattleHintTween;
         [SerializeField, Header("淇濈暀鏃堕棿")] float m_KeepTime = 2f;
 
-        bool inBattleHint = false;
+        [SerializeField] RectTransform m_ContainerEvenKill;
+        [SerializeField] ScaleTween m_EvenKillTween;
+        [SerializeField] Text m_EvenKill;
+        [SerializeField, Header("淇濈暀鏃堕棿")] float m_EvenKillTime = 2f;
+
+        bool isBattleHint = false;
+        bool isEvenKill = false;
+
         #region Built-in
         protected override void BindController()
         {
@@ -30,15 +41,19 @@
 
         protected override void OnPreOpen()
         {
-            inBattleHint = false;
-            m_BattleHintTween.gameObject.SetActive(false);
+            m_ContainerBattleHint.gameObject.SetActive(false);
+            m_ContainerEvenKill.gameObject.SetActive(false);
+            isBattleHint = false;
+            isEvenKill = false;
         }
 
         protected override void OnActived()
         {
             base.OnActived();
             DisplayBattleHint();
+            DisplayEvenKill();
             BattleHint.Instance.battleHintUpdate += BattleHintUpdate;
+            BattleHint.Instance.evenKillUpdate += EvenKillUpdate;
         }
 
         protected override void OnAfterOpen()
@@ -48,6 +63,7 @@
         protected override void OnPreClose()
         {
             BattleHint.Instance.battleHintUpdate -= BattleHintUpdate;
+            BattleHint.Instance.evenKillUpdate -= EvenKillUpdate;
         }
 
         protected override void OnAfterClose()
@@ -57,7 +73,7 @@
 
         private void BattleHintUpdate()
         {
-            if (!inBattleHint)
+            if (!isBattleHint)
             {
                 DisplayBattleHint();
             }
@@ -65,13 +81,26 @@
 
         void DisplayBattleHint()
         {
-            string iconKey = string.Empty;
-            if (BattleHint.Instance.TryGetBattleHint(out iconKey))
+            var ancientType = 0;
+            if (BattleHint.Instance.TryGetBattleHint(out ancientType))
             {
-                inBattleHint = true;
-                m_BattleHint.SetSprite(iconKey);
-                m_BattleHint.SetNativeSize();
-                m_BattleHintTween.gameObject.SetActive(true);
+                isBattleHint = true;
+                m_ContainerKing.gameObject.SetActive(false);
+                m_ContainerEnemy.gameObject.SetActive(false);
+                m_ContainerAncientRemind.gameObject.SetActive(false);
+                switch (ancientType)
+                {
+                    case 1:
+                        m_ContainerKing.gameObject.SetActive(true);
+                        break;
+                    case 2:
+                        m_ContainerEnemy.gameObject.SetActive(true);
+                        break;
+                    case 3:
+                        m_ContainerAncientRemind.gameObject.SetActive(true);
+                        break;
+                }
+                m_ContainerBattleHint.gameObject.SetActive(true);
                 m_BattleHintTween.SetStartState();
                 m_BattleHintTween.Play(OnBattleHintTweenComplete);
             }
@@ -82,13 +111,47 @@
             StartCoroutine(Co_Complete());
         }
 
+        private void EvenKillUpdate()
+        {
+            if (!isEvenKill)
+            {
+                DisplayEvenKill();
+            }
+        }
+
+        void DisplayEvenKill()
+        {
+            string evenKill = string.Empty;
+            if (BattleHint.Instance.TryGetEvenKill(out evenKill))
+            {
+                isEvenKill = true;
+                m_EvenKill.text= evenKill;
+                m_ContainerEvenKill.gameObject.SetActive(true);
+                m_EvenKillTween.SetStartState();
+                m_EvenKillTween.Play(OnEvenKillComplete);
+            }
+        }
+
+        private void OnEvenKillComplete()
+        {
+            StartCoroutine(Co_EvenKill());
+        }
+
         IEnumerator Co_Complete()
         {
             yield return WaitingForSecondConst.GetWaitForSeconds(m_KeepTime);
-            inBattleHint = false;
-            m_BattleHintTween.gameObject.SetActive(false);
+            isBattleHint = false;
+            m_ContainerBattleHint.gameObject.SetActive(false);
             DisplayBattleHint();
         }
+
+        IEnumerator Co_EvenKill()
+        {
+            yield return WaitingForSecondConst.GetWaitForSeconds(m_EvenKillTime);
+            isEvenKill = false;
+            m_ContainerEvenKill.gameObject.SetActive(false);
+            DisplayEvenKill();
+        }
     }
 }
 

--
Gitblit v1.8.0