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;
- }
- }
- }
|