Example #1
0
    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);
    }
Example #2
0
    //技能解锁
    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();
    }
Example #3
0
        void OnUpgradeSuccEvent(object obj)
        {
            SSkillInfo skillInfo = (SSkillInfo)obj;

            ShowEff(skillInfo.wSkillID, effList[0]);
            skillUpgradeEff.SetActive(false);
            skillUpgradeEff.SetActive(true);
        }
Example #4
0
    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);
    }
Example #5
0
 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;
     }
 }
Example #6
0
 //技能升级
 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();
 }
Example #7
0
    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);
        }
    }
Example #8
0
 public SingleSkillInfo(SSkillInfo sSkill)
 {
     this.localSkillData = SkillDataManager.Instance.GetSkillConfigData(sSkill.wSkillID);
     this.SkillLevel     = sSkill.wSkillLV;
 }