1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- using Core.Utility;
- using Excel2Json;
- using Fort23.UTool;
- namespace GameLogic.Hero
- {
- public class SkillInfo
- {
- public CombatHeroInfo heroInfo;
- public SkillConfig skillConfig;
- /// <summary>
- /// 是否解锁
- /// </summary>
- public bool isUnLock;
- public SkillUpConfig upConfig;
- // private SkillData _skillData;
- public void UpdateInfo()
- {
- isUnLock = PlayerManager.Instance.heroController.IsUnLockSkill(heroInfo.level.Value, heroInfo.star.Value, skillConfig.ID);
- }
-
- public void Init(SkillData skillData, SkillConfig skillConfig)
- {
- // this._skillData = skillData;
- this.skillConfig = skillConfig;
- heroInfo = skillData.heroInfo;
-
- isUnLock = PlayerManager.Instance.heroController.IsUnLockSkill(heroInfo.level.Value, heroInfo.star.Value, skillConfig.ID);
-
- int skillUpID = skillConfig.ID % 100;
- upConfig = ConfigComponent.Instance.Get<SkillUpConfig>(skillUpID);
-
- // isUnLock = false;
- // if (skillConfig.ID == GlobalParam.Normal_Attack_Skill_Group_ID)
- // {
- // isUnLock = true;
- // }
- // else
- // {
- // //整体可能有点绕,后面再看优化不
- //
- // //取技能ID的后两位,后两位是技能解锁表SkillUpConfig的ID, 取这个ID来判断,这个技能是否解锁,以及还差多少差解锁
- // int skillUpID = skillConfig.ID % 100;
- // skillUpConfig = ConfigComponent.Instance.Get<SkillUpConfig>(skillUpID);
- //
- // //取个位
- // int gw = skillUpID % 10;
- //
- // int skillUpID1 = -1;
- // //当个位>1时,需要额外判断一下,技能的1级是否已经解锁(可能1级是星级解锁),比如 21,31,,41。
- // //避免出现,技能是5星解锁解锁1级,200级解锁2级,但玩家现在4星,201级,就不该解锁2级,因为星级不够
- // if (gw > 1)
- // {
- // //技能1级的解锁ID,例如: 33 - 3 + 1 = 31, 31就是技能1级的解锁条件id
- // skillUpID1 = skillUpID - gw + 1;
- // }
- //
- // //等级解锁
- // if (skillUpConfig.upType == 1)
- // {
- // SkillUpConfig skillUpConfig1 = new SkillUpConfig();
- // if (skillUpID1 > 0)
- // {
- // skillUpConfig1 = ConfigComponent.Instance.Get<SkillUpConfig>(skillUpID1);
- // }
- //
- // //如果技能的第一级需要星级解锁,需额外判断一下星级是否达到
- // bool isStarOk = skillUpConfig1.upType != 2 || heroInfo.star.Value > skillUpConfig1.upValue;
- //
- //
- // if (heroInfo.level.Value >= skillUpConfig.upValue && isStarOk)
- // {
- // isUnLock = true;
- // }
- // }
- // //星级解锁
- // else if (skillUpConfig.upType == 2)
- // {
- // if (heroInfo.star.Value >= skillUpConfig.upValue)
- // {
- // isUnLock = true;
- // }
- // }
- // }
- }
-
-
- }
- }
|