wangguan
2020-12-15 0d6a2e6d4b9de57a13c2bcb32148e1eb97ef1b1f
Assets/Scripts/TowerDefense/UI/EndlessBossSkill/EndlessBossSkillManager.cs
@@ -1,4 +1,3 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Core.Utilities;
@@ -69,7 +68,18 @@
        // Update is called once per frame
        private void Update()
        {
            if (isPaused || EndlessGameUI.instance.state == EndlessGameUI.State.GameOver) return;
            if (isPaused || EndlessGameUI.instance.state == EndlessGameUI.State.GameOver || !EndlessUIStart.instance.IsGameRunning) return;
            for (int i = 0; i < skillList.Count; ++i)
            {
                skillList[i].Update(Time.deltaTime);
            }
            for (int i = 0; i < waitList.Count; ++i)
            {
                if (waitList[i].IsCDCompleted)
                    AddSkill(waitList[i]);
            }
            switch (skillState)
            {
@@ -114,21 +124,13 @@
        private void HandleWait(float deltaTime)
        {
            for (int i = 0; i < skillList.Count; ++i)
            {
                skillList[i].Update(Time.deltaTime);
                if (skillList[i].IsCDCompleted)
                    AddSkill(skillList[i]);
            }
            for (int i = 0; i < cdList.Count; ++i)
            {
                if (cdList[i].IsConditionOK)
                {
                    currentSkill = cdList[i];
                    EventCenter.Ins.Add((int)KTGMGemClient.EventType.EndlessBossSkillGlintTitleCompleted, OnGlintTitleCompleted);
                    EventCenter.Ins.BroadCast((int)KTGMGemClient.EventType.EndlessBossSkillGlintTitle);
                    EventCenter.Ins.BroadCast((int)KTGMGemClient.EventType.EndlessBossSkillGlintTitle, (int)cdList[i].SkillType);
                    isFloatWordCompleted = false;
                    ChangeState(EndlessBossSkillState.FloatWord);
                    break;
@@ -136,6 +138,9 @@
            }
        }
        /// <summary>
        /// 飘字闪烁完成
        /// </summary>
        private void OnGlintTitleCompleted()
        {
            EventCenter.Ins.Remove((int)KTGMGemClient.EventType.EndlessBossSkillGlintTitleCompleted, OnGlintTitleCompleted);
@@ -155,7 +160,6 @@
        /// <param name="idList"></param>
        public void Init(List<int> idList)
        {
            Debug.Log("--------------------- 初始化boss技能列表 ---------------------");
            skillIdList = idList;
            for (int i = 0; i < idList.Count; ++i)
@@ -166,6 +170,7 @@
                {
                    skillList.Add(skill);
                    skill.Init();
                    waitList.Add(skill);
                }
            }
@@ -178,7 +183,6 @@
        /// </summary>
        public void ClearSkillList()
        {
            Debug.Log("--------------------- 关卡结束,清空技能列表 ---------------------");
            for (int i = 0; i < skillList.Count; ++i)
            {
                skillList[i].Clear();
@@ -198,14 +202,16 @@
        public void Reset()
        {
            if (isPaused) return;
            for (int i = 0; i < skillList.Count; ++i)
            {
                skillList[i].Reset();
            }
            cdList.Clear();
            waitList.Clear();
            for (int i = 0; i < skillList.Count; ++i)
            {
                skillList[i].Reset();
                waitList.Add(skillList[i]);
            }
            isPaused = true;
            ChangeState(EndlessBossSkillState.Init);
            ClearEvent();
@@ -255,6 +261,8 @@
                    return new BossSkillBubbleBomb(data);
                case EndlessBossSkillType.WoodPile:
                    return new BossSkillWoodPile(data);
                case EndlessBossSkillType.BondageBubble:
                    return new BossSkillBondageBubble(data);
            }
            return null;