| | |
| | | using System.Collections; |
| | | using System.Collections.Generic; |
| | | using UnityEngine; |
| | | using Core.Utilities; |
| | |
| | | // 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) |
| | | { |
| | |
| | | |
| | | 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; |
| | |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 飘字闪烁完成 |
| | | /// </summary> |
| | | private void OnGlintTitleCompleted() |
| | | { |
| | | EventCenter.Ins.Remove((int)KTGMGemClient.EventType.EndlessBossSkillGlintTitleCompleted, OnGlintTitleCompleted); |
| | |
| | | /// <param name="idList"></param> |
| | | public void Init(List<int> idList) |
| | | { |
| | | Debug.Log("--------------------- 初始化boss技能列表 ---------------------"); |
| | | skillIdList = idList; |
| | | |
| | | for (int i = 0; i < idList.Count; ++i) |
| | |
| | | { |
| | | skillList.Add(skill); |
| | | skill.Init(); |
| | | waitList.Add(skill); |
| | | } |
| | | } |
| | | |
| | |
| | | /// </summary> |
| | | public void ClearSkillList() |
| | | { |
| | | Debug.Log("--------------------- 关卡结束,清空技能列表 ---------------------"); |
| | | for (int i = 0; i < skillList.Count; ++i) |
| | | { |
| | | skillList[i].Clear(); |
| | |
| | | /// </summary> |
| | | public void Reset() |
| | | { |
| | | for (int i = 0; i < skillList.Count; ++i) |
| | | { |
| | | skillList[i].Reset(); |
| | | } |
| | | if (isPaused) return; |
| | | |
| | | 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(); |
| | |
| | | return new BossSkillBubbleBomb(data); |
| | | case EndlessBossSkillType.WoodPile: |
| | | return new BossSkillWoodPile(data); |
| | | case EndlessBossSkillType.BondageBubble: |
| | | return new BossSkillBondageBubble(data); |
| | | } |
| | | |
| | | return null; |