From 653839f93f5e3b7d76bbb9732868512f33ab67a2 Mon Sep 17 00:00:00 2001
From: client_Wu Xijin <364452445@qq.com>
Date: 星期六, 25 五月 2019 14:05:10 +0800
Subject: [PATCH] 6946 印记技能表现
---
System/MainWin/SkillButton.cs | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 56 insertions(+), 0 deletions(-)
diff --git a/System/MainWin/SkillButton.cs b/System/MainWin/SkillButton.cs
index 672e8d4..1b3047e 100644
--- a/System/MainWin/SkillButton.cs
+++ b/System/MainWin/SkillButton.cs
@@ -36,6 +36,7 @@
[SerializeField] ScaleTween m_ScaleTween;
[SerializeField] Image m_Selected;
[SerializeField] LongPressShowPanel m_SkillTip;
+ [SerializeField] UIEffect m_YinjiEffect;
public Image icon { get { return m_Icon; } }
public Transform locked { get { return m_Locked; } }
@@ -52,6 +53,9 @@
public void Initialize(int skillId)
{
this.skillId = skillId;
+
+ Debug.LogFormat("杩欎釜鎶�鑳芥槸锛歿0}", this.skillId);
+
if (this.skillId == 0)
{
locked.gameObject.SetActive(true);
@@ -75,6 +79,11 @@
m_Selected.gameObject.SetActive(false);
DisplaySkillDynamicInfo(true);
HideSkillTip();
+ PlayerDatas.Instance.playerDataRefreshEvent -= OnPlayerDataRefresh;
+ if (GeneralDefine.skillYinjis.ContainsKey(this.skillId))
+ {
+ PlayerDatas.Instance.playerDataRefreshEvent += OnPlayerDataRefresh;
+ }
this.enabled = true;
}
@@ -92,6 +101,7 @@
HideSkillTip();
}
+ PlayerDatas.Instance.playerDataRefreshEvent -= OnPlayerDataRefresh;
this.enabled = false;
}
@@ -136,6 +146,7 @@
if (timer < 0f)
{
var countDown = MainWinSkillController.Instance.GetSkillCD(m_Index).value.GetCountDown();
+
if (countDown > 1)
{
m_CoolDown.text = countDown.ToString("f0");
@@ -146,6 +157,12 @@
}
timer += 1f;
+ }
+
+ inCountDown = MainWinSkillController.Instance.GetSkillCD(m_Index).value.IsCountDown();
+ if (!inCountDown)
+ {
+ PlayYinjiEffect();
}
}
else
@@ -401,6 +418,8 @@
{
m_CoolDown.text = "";
}
+
+ PlayYinjiEffect();
}
var skillForbid = MainWinSkillController.Instance.GetSkillForbid(m_Index);
@@ -410,6 +429,43 @@
}
}
+ private void OnPlayerDataRefresh(PlayerDataType type)
+ {
+ switch (type)
+ {
+ case PlayerDataType.CDBPlayerRefresh_YinjiCount:
+ PlayYinjiEffect();
+ break;
+ }
+ }
+
+ YinJiModel yinjiModel { get { return ModelCenter.Instance.GetModel<YinJiModel>(); } }
+ private void PlayYinjiEffect()
+ {
+ if (m_YinjiEffect == null)
+ {
+ return;
+ }
+
+ var skillCd = MainWinSkillController.Instance.GetSkillCD(m_Index);
+ var playYinjiEffect = yinjiModel.IsSkillYinjiEnough(this.skillId) && !skillCd.value.IsExclusiveCountDown();
+ if (playYinjiEffect)
+ {
+ if (!m_YinjiEffect.IsPlaying)
+ {
+ m_YinjiEffect.Play();
+ }
+ }
+ else
+ {
+ if (m_YinjiEffect.IsPlaying)
+ {
+ m_YinjiEffect.Stop();
+ }
+ }
+ }
+
+
}
}
--
Gitblit v1.8.0