public static SMsgSkillInit_SC ParsePackage(byte[] data) { SMsgSkillInit_SC sMsgSkillInit_SC = new SMsgSkillInit_SC(); List <SSkillInfo> sSkillInfoList = new List <SSkillInfo>(); int off = 0; ushort skill; sMsgSkillInit_SC.wSkillEquipList = new ushort[10]; for (int i = 0; i < 10; i++) { off += PackageHelper.ReadData(data.Skip(off).ToArray(), out skill); sMsgSkillInit_SC.wSkillEquipList[i] = skill; } for (int b = 0; b < 15; b++) { ushort skillID = 0; off += PackageHelper.ReadData(data.Skip(off).ToArray(), out skillID); if (skillID == 0) { break; } SSkillInfo sSkillInfo = new SSkillInfo(); sSkillInfo.wSkillID = skillID; off += PackageHelper.ReadData(data.Skip(off).ToArray(), out sSkillInfo.wSkillLV); off += PackageHelper.ReadData(data.Skip(off).ToArray(), out sSkillInfo.byStrengthenLv); sSkillInfoList.Add(sSkillInfo); } sMsgSkillInit_SC.sInfos = sSkillInfoList; return(sMsgSkillInit_SC); }
//技能解锁 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 OnUpgradeSuccEvent(object obj) { SSkillInfo skillInfo = (SSkillInfo)obj; ShowEff(skillInfo.wSkillID, effList[0]); skillUpgradeEff.SetActive(false); skillUpgradeEff.SetActive(true); }
private void SkillUpgrade(object obj) { SoundManager.Instance.PlaySoundEffect("Sound_UIEff_SkillUpgrade"); SSkillInfo sSkillInfo = (SSkillInfo)obj; var upgradeSkillInfo = SingleSkillInfoList.singleSkillInfoList.Single(P => P.localSkillData.m_skillId == sSkillInfo.wSkillID); upgradeSkillInfo.SkillLevel = sSkillInfo.wSkillLV; AssemblySkill.UpgradeSkillItem(upgradeSkillInfo); SkillList.UpgradeSkillItem(upgradeSkillInfo); ViewSkill.InitViewInfo(upgradeSkillInfo); }
public UpgradeSkillInfo(SSkillInfo sSkill) { this.localSkillConfigData = SkillDataManager.Instance.GetSkillConfigData(sSkill.wSkillID); this.SkillLevel = sSkill.wSkillLV; if (SkillLevel < 10) { this.CanUpgrade = true; } else { this.CanUpgrade = false; } }
//技能升级 public void UpgradeSkill(SSkillInfo sSkillInfo) { if (sInfos.Exists(P => P.wSkillID == sSkillInfo.wSkillID)) { var targetskill = sInfos.SingleOrDefault(P => P.wSkillID == sSkillInfo.wSkillID); sInfos.Remove(targetskill); targetskill.wSkillLV = sSkillInfo.wSkillLV; //targetskill.byStrengthenLv = sSkillInfo.byStrengthenLv;//升级时,这个字段不能动,保持原值 sInfos.Add(targetskill); } else { //不可能在这里 sInfos.Add(sSkillInfo); } SkillModel.Instance.DealSkillAdUpStrengthen(); }
public void UpgradeSkill(object obj) { LoadingUI.Instance.Close(); //技能升级 if (typeof(SSkillInfo) == obj.GetType()) { SSkillInfo sSkillInfo = (SSkillInfo)obj; //TraceUtil.Log("收到技能更新:ID"+sSkillInfo.wSkillID+",Lv:"+sSkillInfo.wSkillLV); var upgradeSkillInfo = m_playerSkillList.singleSkillInfoList.Single(P => P.localSkillData.m_skillId == sSkillInfo.wSkillID); upgradeSkillInfo.SkillLevel = sSkillInfo.wSkillLV; // if (m_skillItemList.ContainsKey(upgradeSkillInfo.localSkillData.m_skillId)) // m_skillItemList[upgradeSkillInfo.localSkillData.m_skillId].UpdateSkillItem(upgradeSkillInfo); //m_assemblyPanel.UpgradeEquipedSkill(upgradeSkillInfo); m_upgradePanel.UpgradeSkillData(upgradeSkillInfo); } }
public SingleSkillInfo(SSkillInfo sSkill) { this.localSkillData = SkillDataManager.Instance.GetSkillConfigData(sSkill.wSkillID); this.SkillLevel = sSkill.wSkillLV; }