| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119 | using System;using Core.Utility;using Excel2Json;using Fort23.UTool;namespace GameLogic.Hero{    public class SkillInfo    {        public long qiangDu;        public SkillConfig skillConfig;        public SkillPowerupConfig SkillPowerupConfig;        public int index;        public float[] effectValue;        public AccountFileInfo.SkillData SkillData;        public SkillInfo(int skillId, int skillPowerup)        {            InitSkill(skillId, skillPowerup);        }        public SkillInfo(int skillIdGroup, int skillPowerup, int start)        {            start--;            int skillid = skillIdGroup * 10 + start;            while (start >= 0)            {                SkillConfig skillConfig = ConfigComponent.Instance.Get<SkillConfig>(skillid);                if (skillConfig.ID > 0)                {                    break;                }                start--;                skillid = skillIdGroup * 10 + start;            }            InitSkill(skillid, skillPowerup);        }        private void InitSkill(int skillId, int skillPowerup)        {            SkillData = new AccountFileInfo.SkillData();                      skillConfig = ConfigComponent.Instance.Get<SkillConfig>(skillId);            SkillPowerupConfig = ConfigComponent.Instance.Get<SkillPowerupConfig>(skillPowerup);            if (skillConfig.ID != 0)            {                if (skillConfig.effectValue == null)                {                    skillConfig.effectValue = new float[1];                }                effectValue = new float[skillConfig.effectValue.Length];                Array.Copy(skillConfig.effectValue, effectValue, skillConfig.effectValue.Length);                if (skillConfig.intensifierIndex != null)                {                    for (int i = 0; i < skillConfig.intensifierIndex.Length; i++)                    {                        int index = skillConfig.intensifierIndex[i] - 1;                        if (index >= 0 && index < effectValue.Length)                        {                            effectValue[index] = effectValue[index] * SkillPowerupConfig.SkillPower1 * 0.01f;                        }                    }                }            }            qiangDu = (long)(SkillPowerupConfig.MainPower * skillConfig.power);            index = 0;        }        public void CustomInt(AccountFileInfo.SkillData skillId)        {            SkillData = skillId;            skillConfig = ConfigComponent.Instance.Get<SkillConfig>(skillId.id * 10 + skillId.star - 1);            SkillPowerupConfig = ConfigComponent.Instance.Get<SkillPowerupConfig>(skillId.level);            if (skillConfig.effectValue == null)            {                skillConfig.effectValue = new float[1];            }            if (skillConfig.effectValue != null)            {                effectValue = new float[skillConfig.effectValue.Length];                Array.Copy(skillConfig.effectValue, effectValue, skillConfig.effectValue.Length);            }            else            {                LogTool.Error("找不到技能id:" + (skillId.id * 10 + skillId.star - 1));            }            if (skillConfig.intensifierIndex != null)            {                for (int i = 0; i < skillConfig.intensifierIndex.Length; i++)                {                    int index = skillConfig.intensifierIndex[i] - 1;                    if (index >= 0 && index < effectValue.Length)                    {                        effectValue[index] = effectValue[index] * SkillPowerupConfig.SkillPower1 * 0.01f;                    }                }            }            qiangDu = (long)(SkillPowerupConfig.MainPower * skillConfig.power);        }        public SkillInfo(AccountFileInfo.SkillData skillId)        {            CustomInt(skillId);            index = 0;        }    }}
 |