//技能解锁 public void UnlockSkill(SMsgSkillUnLock_SC sSkillInfo) { //一般不可能存在 if (sInfos.Exists(P => P.wSkillID == sSkillInfo.wSkillId)) { var targetskill = sInfos.SingleOrDefault(P => P.wSkillID == sSkillInfo.wSkillId); sInfos.Remove(targetskill); SSkillInfo newInfo = new SSkillInfo() { wSkillID = (ushort)sSkillInfo.wSkillId, wSkillLV = sSkillInfo.byUpgradeLv, byStrengthenLv = sSkillInfo.byStrengthenLv }; sInfos.Add(newInfo); } else { SSkillInfo newInfo = new SSkillInfo() { wSkillID = (ushort)sSkillInfo.wSkillId, wSkillLV = sSkillInfo.byUpgradeLv, byStrengthenLv = sSkillInfo.byStrengthenLv }; sInfos.Add(newInfo); } SkillConfigData configData = SkillDataManager.Instance.GetSkillConfigData((int)(sSkillInfo.wSkillId)); if (configData.PreSkill != 0) { UIEventManager.Instance.TriggerUIEvent(UIEventType.SkillAdvanceEvent, sSkillInfo); } SkillModel.Instance.DealSkillAdUpStrengthen(); }
void OnAdvanceSuccEvent(object obj) { SMsgSkillUnLock_SC skillInfo = (SMsgSkillUnLock_SC)obj; ShowEff((int)skillInfo.wSkillId, effList[1]); skillAdvanceEff.SetActive(false); skillAdvanceEff.SetActive(true); }
public static SMsgSkillUnLock_SC ParsePackage(byte[] dataBuffer) { SMsgSkillUnLock_SC sMsgSkillStrengthen_SC = new SMsgSkillUnLock_SC(); int of = 0; of += PackageHelper.ReadData(dataBuffer.Skip(of).ToArray(), out sMsgSkillStrengthen_SC.wSkillId); of += PackageHelper.ReadData(dataBuffer.Skip(of).ToArray(), out sMsgSkillStrengthen_SC.byUpgradeLv); of += PackageHelper.ReadData(dataBuffer.Skip(of).ToArray(), out sMsgSkillStrengthen_SC.byStrengthenLv); return(sMsgSkillStrengthen_SC); }