SkillInfo.cs 3.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. using Core.Utility;
  2. using Excel2Json;
  3. using Fort23.UTool;
  4. namespace GameLogic.Hero
  5. {
  6. public class SkillInfo
  7. {
  8. public CombatHeroInfo heroInfo;
  9. public SkillConfig skillConfig;
  10. /// <summary>
  11. /// 是否解锁
  12. /// </summary>
  13. public bool isUnLock;
  14. public SkillUpConfig upConfig;
  15. // private SkillData _skillData;
  16. public void UpdateInfo()
  17. {
  18. isUnLock = PlayerManager.Instance.heroController.IsUnLockSkill(heroInfo.level.Value, heroInfo.star.Value, skillConfig.ID);
  19. }
  20. public void Init(SkillData skillData, SkillConfig skillConfig)
  21. {
  22. // this._skillData = skillData;
  23. this.skillConfig = skillConfig;
  24. heroInfo = skillData.heroInfo;
  25. isUnLock = PlayerManager.Instance.heroController.IsUnLockSkill(heroInfo.level.Value, heroInfo.star.Value, skillConfig.ID);
  26. int skillUpID = skillConfig.ID % 100;
  27. upConfig = ConfigComponent.Instance.Get<SkillUpConfig>(skillUpID);
  28. // isUnLock = false;
  29. // if (skillConfig.ID == GlobalParam.Normal_Attack_Skill_Group_ID)
  30. // {
  31. // isUnLock = true;
  32. // }
  33. // else
  34. // {
  35. // //整体可能有点绕,后面再看优化不
  36. //
  37. // //取技能ID的后两位,后两位是技能解锁表SkillUpConfig的ID, 取这个ID来判断,这个技能是否解锁,以及还差多少差解锁
  38. // int skillUpID = skillConfig.ID % 100;
  39. // skillUpConfig = ConfigComponent.Instance.Get<SkillUpConfig>(skillUpID);
  40. //
  41. // //取个位
  42. // int gw = skillUpID % 10;
  43. //
  44. // int skillUpID1 = -1;
  45. // //当个位>1时,需要额外判断一下,技能的1级是否已经解锁(可能1级是星级解锁),比如 21,31,,41。
  46. // //避免出现,技能是5星解锁解锁1级,200级解锁2级,但玩家现在4星,201级,就不该解锁2级,因为星级不够
  47. // if (gw > 1)
  48. // {
  49. // //技能1级的解锁ID,例如: 33 - 3 + 1 = 31, 31就是技能1级的解锁条件id
  50. // skillUpID1 = skillUpID - gw + 1;
  51. // }
  52. //
  53. // //等级解锁
  54. // if (skillUpConfig.upType == 1)
  55. // {
  56. // SkillUpConfig skillUpConfig1 = new SkillUpConfig();
  57. // if (skillUpID1 > 0)
  58. // {
  59. // skillUpConfig1 = ConfigComponent.Instance.Get<SkillUpConfig>(skillUpID1);
  60. // }
  61. //
  62. // //如果技能的第一级需要星级解锁,需额外判断一下星级是否达到
  63. // bool isStarOk = skillUpConfig1.upType != 2 || heroInfo.star.Value > skillUpConfig1.upValue;
  64. //
  65. //
  66. // if (heroInfo.level.Value >= skillUpConfig.upValue && isStarOk)
  67. // {
  68. // isUnLock = true;
  69. // }
  70. // }
  71. // //星级解锁
  72. // else if (skillUpConfig.upType == 2)
  73. // {
  74. // if (heroInfo.star.Value >= skillUpConfig.upValue)
  75. // {
  76. // isUnLock = true;
  77. // }
  78. // }
  79. // }
  80. }
  81. }
  82. }