| | |
| | | using System; |
| | | using UnityEngine; |
| | | using LitJson; |
| | | using System.Linq; |
| | | |
| | | public partial class SkillConfig : ConfigBase<int, SkillConfig> |
| | | { |
| | | //增益: 3 5 |
| | | // 减益: 4 6 14 |
| | | |
| | | public static readonly int[] GainSkillType = new int[] { 3, 5 }; // 1-普通攻击 2-被动技能 3-专属技能 |
| | | |
| | | public static readonly int[] DebuffSkillType = new int[] { 4, 6, 14 }; |
| | | |
| | | public SkillType skillType; |
| | | public SkillCastMode castMode; |
| | | |
| | |
| | | tempDic[SkillLV] = this; |
| | | } |
| | | |
| | | public bool IsGainBuff() |
| | | { |
| | | return Array.Exists(GainSkillType, type => type == (int)skillType); |
| | | } |
| | | |
| | | public bool IsDebuff() |
| | | { |
| | | return Array.Exists(DebuffSkillType, type => type == (int)skillType); |
| | | } |
| | | |
| | | public MotionName GetMotionName() |
| | | { |
| | | return Enum.Parse<MotionName>(SkillMotionName); |
| | |
| | | tempDic.TryGetValue(skillLv, out config); |
| | | return config; |
| | | } |
| | | |
| | | public List<int> GetDamageDivide(int _hitIndex) |
| | | { |
| | | List<int> damageDivide = new List<int>(); |
| | | if (_hitIndex == 0 && DamageDivide.Length <= 0) |
| | | { |
| | | damageDivide.Add(10000); |
| | | } |
| | | else |
| | | { |
| | | if (DamageDivide.Length <= _hitIndex) |
| | | { |
| | | Debug.LogError("技能伤害分布配置错误 skillId: " + SkillID + " hitIndex: " + _hitIndex); |
| | | damageDivide.Add(10000); |
| | | } |
| | | else |
| | | { |
| | | damageDivide = DamageDivide[_hitIndex].ToList(); |
| | | } |
| | | } |
| | | return damageDivide; |
| | | } |
| | | } |