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