From 6eb915c129fc90c6f4c82ae097dd6ffad5239efc Mon Sep 17 00:00:00 2001 From: chai Date: Mon, 25 Jan 2021 14:28:30 +0800 Subject: +scripts --- .../PTC/Process/Process_PtcG2C_SkillChangedNtf.cs | 82 ++++++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100644 Client/Assets/Scripts/XMainClient/PTC/Process/Process_PtcG2C_SkillChangedNtf.cs (limited to 'Client/Assets/Scripts/XMainClient/PTC/Process/Process_PtcG2C_SkillChangedNtf.cs') diff --git a/Client/Assets/Scripts/XMainClient/PTC/Process/Process_PtcG2C_SkillChangedNtf.cs b/Client/Assets/Scripts/XMainClient/PTC/Process/Process_PtcG2C_SkillChangedNtf.cs new file mode 100644 index 00000000..33318a89 --- /dev/null +++ b/Client/Assets/Scripts/XMainClient/PTC/Process/Process_PtcG2C_SkillChangedNtf.cs @@ -0,0 +1,82 @@ +using System; +using System.Collections.Generic; +using XUtliPoolLib; + +namespace XMainClient +{ + internal class Process_PtcG2C_SkillChangedNtf + { + public static void Process(PtcG2C_SkillChangedNtf roPtc) + { + XPlayerAttributes xplayerData = XSingleton.singleton.XPlayerData; + for (int i = 0; i < roPtc.Data.newSkill.Count; i++) + { + xplayerData.SkillLevelInfo.SetSkillLevel(roPtc.Data.newSkill[i], roPtc.Data.newSkillLevel[i]); + } + for (int i = 0; i < roPtc.Data.changedSkillHash.Count; i++) + { + xplayerData.SkillLevelInfo.SetSkillLevel(roPtc.Data.changedSkillHash[i], roPtc.Data.changedSkillLevel[i]); + } + for (int i = 0; i < roPtc.Data.removeSkill.Count; i++) + { + xplayerData.SkillLevelInfo.RemoveSkill(roPtc.Data.removeSkill[i]); + } + xplayerData.SkillLevelInfo.RefreshSkillFlags(); + xplayerData.SkillLevelInfo.RefreshSelfLinkedLevels(XSingleton.singleton.Player); + bool flag = roPtc.Data.skillType == 0; + if (flag) + { + bool flag2 = XSingleton.singleton.XPlayerData.SkillPageIndex == 0u; + if (flag2) + { + XSingleton.singleton.Doc.XBagDoc.SetVirtualItemCount(XFastEnumIntEqualityComparer.ToInt(ItemEnum.SKILL_POINT), (ulong)((long)roPtc.Data.skillpoint)); + XSingleton.singleton.Doc.XBagDoc.SetVirtualItemCount(XFastEnumIntEqualityComparer.ToInt(ItemEnum.SKILL_POINT_TWO), (ulong)roPtc.Data.skillpointtwo); + XSingleton.singleton.Doc.XBagDoc.SetVirtualItemCount(XFastEnumIntEqualityComparer.ToInt(ItemEnum.AWAKE_SKILL_POINT), (ulong)roPtc.Data.awakepoint); + XSingleton.singleton.Doc.XBagDoc.SetVirtualItemCount(XFastEnumIntEqualityComparer.ToInt(ItemEnum.AWAKE_SKILL_POINT_TWO), (ulong)roPtc.Data.awakepointtwo); + } + else + { + XSingleton.singleton.Doc.XBagDoc.SetVirtualItemCount(XFastEnumIntEqualityComparer.ToInt(ItemEnum.SKILL_POINT_TWO), (ulong)((long)roPtc.Data.skillpoint)); + XSingleton.singleton.Doc.XBagDoc.SetVirtualItemCount(XFastEnumIntEqualityComparer.ToInt(ItemEnum.SKILL_POINT), (ulong)roPtc.Data.skillpointtwo); + XSingleton.singleton.Doc.XBagDoc.SetVirtualItemCount(XFastEnumIntEqualityComparer.ToInt(ItemEnum.AWAKE_SKILL_POINT), (ulong)roPtc.Data.awakepointtwo); + XSingleton.singleton.Doc.XBagDoc.SetVirtualItemCount(XFastEnumIntEqualityComparer.ToInt(ItemEnum.AWAKE_SKILL_POINT_TWO), (ulong)roPtc.Data.awakepoint); + } + } + else + { + bool flag3 = roPtc.Data.skillType == 1; + if (flag3) + { + XSingleton.singleton.Doc.XBagDoc.SetVirtualItemCount(XFastEnumIntEqualityComparer.ToInt(ItemEnum.GUILD_CONTRIBUTE), (ulong)((long)roPtc.Data.skillpoint)); + } + } + XSkillTreeDocument specificDocument = XDocuments.GetSpecificDocument(XSkillTreeDocument.uuID); + bool flag4 = roPtc.Data.skillSlot != null && roPtc.Data.skillSlot.Count > 0; + if (flag4) + { + List list = new List(); + for (int i = 0; i < roPtc.Data.skillSlot.Count; i++) + { + bool flag5 = roPtc.Data.skillSlot[i] == 0u && xplayerData.skillSlot[i] > 0u; + if (flag5) + { + list.Add(i); + } + } + specificDocument.ShowEmblemTips(list); + } + for (int i = 0; i < roPtc.Data.skillSlot.Count; i++) + { + xplayerData.skillSlot[i] = roPtc.Data.skillSlot[i]; + } + bool flag6 = roPtc.Data.skillSlot != null && roPtc.Data.skillSlot.Count > 0; + if (flag6) + { + XEmblemDocument specificDocument2 = XDocuments.GetSpecificDocument(XEmblemDocument.uuID); + specificDocument2.UpdateRedPoints(); + } + specificDocument.SkillRefresh(false, false); + XSingleton.singleton.SkillLevelup = true; + } + } +} -- cgit v1.1-26-g67d0