SkillInfo.cs 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. using System;
  2. using Core.Utility;
  3. using Excel2Json;
  4. using Fort23.UTool;
  5. namespace GameLogic.Hero
  6. {
  7. public class SkillInfo
  8. {
  9. public long qiangDu;
  10. public SkillConfig skillConfig;
  11. public SkillPowerupConfig SkillPowerupConfig;
  12. public int index;
  13. public float[] effectValue;
  14. public AccountFileInfo.SkillData SkillData;
  15. public SkillInfo(int skill ,int skillPowerup)
  16. {
  17. skillConfig = ConfigComponent.Instance.Get<SkillConfig>(skill);
  18. SkillPowerupConfig = ConfigComponent.Instance.Get<SkillPowerupConfig>(skillPowerup);
  19. effectValue = new float[skillConfig.effectValue.Length];
  20. Array.Copy(skillConfig.effectValue, effectValue, skillConfig.effectValue.Length);
  21. if (skillConfig.intensifierIndex != null)
  22. {
  23. for (int i = 0; i < skillConfig.intensifierIndex.Length; i++)
  24. {
  25. int index = skillConfig.intensifierIndex[i] - 1;
  26. if (index >= 0 && index < effectValue.Length)
  27. {
  28. effectValue[index] = effectValue[index] * SkillPowerupConfig.SkillPower1 * 0.01f;
  29. }
  30. }
  31. }
  32. qiangDu = (long)(SkillPowerupConfig.MainPower * skillConfig.power);
  33. index = 0;
  34. }
  35. public void CustomInt(AccountFileInfo.SkillData skillId)
  36. {
  37. SkillData = skillId;
  38. skillConfig = ConfigComponent.Instance.Get<SkillConfig>(skillId.id * 10 + skillId.star - 1);
  39. SkillPowerupConfig = ConfigComponent.Instance.Get<SkillPowerupConfig>(skillId.level);
  40. effectValue = new float[skillConfig.effectValue.Length];
  41. Array.Copy(skillConfig.effectValue, effectValue, skillConfig.effectValue.Length);
  42. if (skillConfig.intensifierIndex != null)
  43. {
  44. for (int i = 0; i < skillConfig.intensifierIndex.Length; i++)
  45. {
  46. int index = skillConfig.intensifierIndex[i] - 1;
  47. if (index >= 0 && index < effectValue.Length)
  48. {
  49. effectValue[index] = effectValue[index] * SkillPowerupConfig.SkillPower1 * 0.01f;
  50. }
  51. }
  52. }
  53. qiangDu = (long)(SkillPowerupConfig.MainPower * skillConfig.power);
  54. }
  55. public SkillInfo(AccountFileInfo.SkillData skillId)
  56. {
  57. CustomInt(skillId);
  58. index = 0;
  59. }
  60. }
  61. }