From 52fb8c663b1e74b2a36b79bc70a452ca73db6341 Mon Sep 17 00:00:00 2001 From: weixudong <weixudong4700@ktgame.com> Date: Thu, 12 Nov 2020 17:20:08 +0800 Subject: [PATCH] Merge branch 'master' of ssh://172.16.1.52:8091/GemBattle into master --- Assets/Scripts/TowerDefense/UI/EndlessBossCtrl.cs | 52 +++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 49 insertions(+), 3 deletions(-) diff --git a/Assets/Scripts/TowerDefense/UI/EndlessBossCtrl.cs b/Assets/Scripts/TowerDefense/UI/EndlessBossCtrl.cs index b32ece1..792ca26 100644 --- a/Assets/Scripts/TowerDefense/UI/EndlessBossCtrl.cs +++ b/Assets/Scripts/TowerDefense/UI/EndlessBossCtrl.cs @@ -1,6 +1,8 @@ +using DG.Tweening; using System.Collections; using System.Collections.Generic; using UnityEngine; +using UnityEngine.UI; using Core.Utilities; /** @@ -22,16 +24,52 @@ /// </summary> public EndlessBossActionState ActionState { get; set; } + public Image Title; + + private string titlePath = "UI/Endless/SkillTitle/"; + // Start is called before the first frame update private void Start() { - + ColorVal = 0; + EventCenter.Ins.Add<int>((int)KTGMGemClient.EventType.EndlessBossSkillGlintTitle, Glint); } // Update is called once per frame private void Update() { + } + + private void Glint(int skillType) + { + Title.sprite = Resources.Load<Sprite>($"{titlePath}{skillType}"); + //设置一个DOTween队列 + Sequence flashSeq = DOTween.Sequence(); + Color c = Title.color; + c.a = 0; + Title.color = c; + Title.gameObject.SetActive(true); + + flashSeq.Append(DOTween.To(() => ColorVal, (v) => ColorVal = v, 1, 0.3f)); + flashSeq.Append(DOTween.To(() => ColorVal, (v) => ColorVal = v, 0, 0.15f)); + flashSeq.Append(DOTween.To(() => ColorVal, (v) => ColorVal = v, 1, 0.3f)); + flashSeq.Append(DOTween.To(() => ColorVal, (v) => ColorVal = v, 0, 0.15f)); + flashSeq.Append(DOTween.To(() => ColorVal, (v) => ColorVal = v, 1, 0.3f)); + flashSeq.Append(DOTween.To(() => ColorVal, (v) => ColorVal = v, 0, 0.15f)); + flashSeq.AppendCallback(() => { EventCenter.Ins.BroadCast((int)KTGMGemClient.EventType.EndlessBossSkillGlintTitleCompleted); }); + } + + private float ColorVal + { + get { return Title.color.a; } + set + { + Title.gameObject.SetActive(value != 0); + Color c = Title.color; + c.a = value; + Title.color = c; + } } /// <summary> @@ -43,6 +81,13 @@ if (frameName == "summonEnd") { EventCenter.Ins.BroadCast((int)EventType.EndlessBossSummonEnd); + // 召唤动作结束后自动切换到站立状态 + ChangeState(EndlessBossActionState.Standing); + } + else if (frameName == "death") + { + BossAnimator.speed = 0; + EventCenter.Ins.BroadCast((int)EventType.EndlessBossDeathActionEnd); } } @@ -52,9 +97,10 @@ /// <param name="newState"></param> public void ChangeState(EndlessBossActionState newState) { - if (newState == ActionState) return; - ActionState = newState; + + if (newState == EndlessBossActionState.Standing || newState == EndlessBossActionState.Summon) + BossAnimator.speed = 1; BossAnimator.SetInteger("State", (int)newState); } } -- Gitblit v1.9.1