chenxin
2020-11-05 d6161eec964b2eeb23bd93c84c29f8ffd3a2d06f
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,49 @@
        /// </summary>
        public EndlessBossActionState ActionState { get; set; }
        public Image Title;
        // Start is called before the first frame update
        private void Start()
        {
            ColorVal = 0;
            EventCenter.Ins.Add((int)KTGMGemClient.EventType.EndlessBossSkillGlintTitle, Glint);
        }
        // Update is called once per frame
        private void Update()
        {
        }
        private void Glint()
        {
            //设置一个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 +78,8 @@
            if (frameName == "summonEnd")
            {
                EventCenter.Ins.BroadCast((int)EventType.EndlessBossSummonEnd);
                // 召唤动作结束后自动切换到站立状态
                ChangeState(EndlessBossActionState.Standing);
            }
        }