| | |
| | | using System.Collections.Generic; |
| | | using Core.Utilities; |
| | | |
| | | /** |
| | |
| | | SkillData = param; |
| | | SkillType = (EndlessBossSkillType)param.skill_class; |
| | | SkillAI = GetSkillAI(param); |
| | | random = new System.Random(); |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | /// 技能cd的计时器 |
| | | /// </summary> |
| | | protected Timer cdTimer; |
| | | |
| | | protected System.Random random; |
| | | |
| | | /// <summary> |
| | | /// 帧刷新 |
| | |
| | | cdTimer.SetTime(SkillData.cool_down / 1000f); |
| | | cdTimer.Reset(); |
| | | } |
| | | |
| | | |
| | | public virtual void Reset() |
| | | { |
| | | if (cdTimer != null) |
| | |
| | | |
| | | protected virtual void AddEvent() |
| | | { |
| | | |
| | | |
| | | } |
| | | |
| | | protected virtual void RemoveEvent() |
| | | { |
| | | |
| | | |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 获取赛道列表 |
| | | /// </summary> |
| | | protected List<int> GetTunelList() |
| | | { |
| | | List<int> tunelIdList = new List<int>(); |
| | | int count = 0; |
| | | // 剩余没有用到的赛道 |
| | | List<int> remainList = new List<int>() { 1, 2, 3, 4, 5 }; |
| | | |
| | | for (int i = 0; i < SkillData.tunnel.Count; ++i) |
| | | { |
| | | // 统计6这种类型的数量 |
| | | if (SkillData.tunnel[i] == 6) |
| | | { |
| | | ++count; |
| | | continue; |
| | | } |
| | | |
| | | tunelIdList.Add(SkillData.tunnel[i]); |
| | | remainList.Remove(SkillData.tunnel[i]); |
| | | } |
| | | |
| | | for (int i = 0; i < count; ++i) |
| | | { |
| | | int num = random.Next(remainList.Count); |
| | | tunelIdList.Add(remainList[num]); |
| | | remainList.Remove(remainList[num]); |
| | | } |
| | | |
| | | return tunelIdList; |
| | | } |
| | | } |
| | | } |