少年修仙传客户端代码仓库
hch
2024-11-12 76dcf6e656fdebe595cbfcb8ab9e7973e5ad2772
Merge branch 'hyyngame' of http://mobile.secondworld.net.cn:10010/r/snxxz_scripts into hyyngame
3个文件已修改
94 ■■■■■ 已修改文件
Core/GameEngine/Model/Config/PlayerFaceConfig.cs 55 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/FairyEmblem/FairyEmblemModel.cs 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/PhantasmPavilion/PhantasmPavilionModel.cs 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/Model/Config/PlayerFaceConfig.cs
@@ -1,6 +1,6 @@
//--------------------------------------------------------
//    [Author]:           Fish
//    [  Date ]:           2024年11月6日
//    [  Date ]:           2024年11月12日
//--------------------------------------------------------
using System.Collections.Generic;
@@ -15,6 +15,7 @@
    public readonly int FaceID;
    public readonly string Name;
    public readonly int[] JobShowList;
    public readonly int UnlockDefault;
    public readonly int ExpireMinutes;
    public readonly string Image;
@@ -39,25 +40,39 @@
            Name = tables[1];
            int.TryParse(tables[2],out UnlockDefault);
            int.TryParse(tables[3],out ExpireMinutes);
            Image = tables[4];
            int.TryParse(tables[5],out BgColor);
            int.TryParse(tables[6],out EffectID);
            UnlockNeedItemList = JsonMapper.ToObject<int[][]>(tables[7].Replace("(", "[").Replace(")", "]"));
            if (tables[8].Contains("["))
            if (tables[2].Contains("["))
            {
                LightAttrType = JsonMapper.ToObject<int[]>(tables[8]);
                JobShowList = JsonMapper.ToObject<int[]>(tables[2]);
            }
            else
            {
                string[] LightAttrTypeStringArray = tables[8].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
                string[] JobShowListStringArray = tables[2].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
                JobShowList = new int[JobShowListStringArray.Length];
                for (int i=0;i<JobShowListStringArray.Length;i++)
                {
                     int.TryParse(JobShowListStringArray[i],out JobShowList[i]);
                }
            }
            int.TryParse(tables[3],out UnlockDefault);
            int.TryParse(tables[4],out ExpireMinutes);
            Image = tables[5];
            int.TryParse(tables[6],out BgColor);
            int.TryParse(tables[7],out EffectID);
            UnlockNeedItemList = JsonMapper.ToObject<int[][]>(tables[8].Replace("(", "[").Replace(")", "]"));
            if (tables[9].Contains("["))
            {
                LightAttrType = JsonMapper.ToObject<int[]>(tables[9]);
            }
            else
            {
                string[] LightAttrTypeStringArray = tables[9].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
                LightAttrType = new int[LightAttrTypeStringArray.Length];
                for (int i=0;i<LightAttrTypeStringArray.Length;i++)
                {
@@ -65,13 +80,13 @@
                }
            }
            if (tables[9].Contains("["))
            if (tables[10].Contains("["))
            {
                LightAttrValue = JsonMapper.ToObject<int[]>(tables[9]);
                LightAttrValue = JsonMapper.ToObject<int[]>(tables[10]);
            }
            else
            {
                string[] LightAttrValueStringArray = tables[9].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
                string[] LightAttrValueStringArray = tables[10].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
                LightAttrValue = new int[LightAttrValueStringArray.Length];
                for (int i=0;i<LightAttrValueStringArray.Length;i++)
                {
@@ -79,7 +94,7 @@
                }
            }
            int.TryParse(tables[10],out LightFightPower);
            int.TryParse(tables[11],out LightFightPower);
        }
        catch (Exception ex)
        {
System/FairyEmblem/FairyEmblemModel.cs
@@ -31,8 +31,8 @@
            }
        }
        //<FamilyID,<ActionType,<EmblemId,FamilyAction>>>
        public Dictionary<int, Dictionary<int, Dictionary<int, HA403_tagGCFamilyActionInfo.tagGCFamilyAction>>> familyActions = new Dictionary<int, Dictionary<int, Dictionary<int, HA403_tagGCFamilyActionInfo.tagGCFamilyAction>>>();
        //<EmblemId,FamilyAction>
        Dictionary<int, HA403_tagGCFamilyActionInfo.tagGCFamilyAction> familyActions = new Dictionary<int, HA403_tagGCFamilyActionInfo.tagGCFamilyAction>();
        public event Action ChooseEmblemIdChangeEvent;      //切换标签页
        public event Action<int, int> UpdateFamilyActionEvent;
@@ -244,12 +244,7 @@
        private bool TryGetfamilyAction(int emblemId, out HA403_tagGCFamilyActionInfo.tagGCFamilyAction familyAction)
        {
            familyAction = new HA403_tagGCFamilyActionInfo.tagGCFamilyAction();
            int familyId = (int)PlayerDatas.Instance.baseData.FamilyId;
            if (!familyActions.TryGetValue((int)PlayerDatas.Instance.baseData.FamilyId, out var familyActionDict) || familyActionDict == null)
                return false;
            if (!familyActionDict.TryGetValue(FamilyActionsType, out var infoDict) || infoDict == null)
                return false;
            if (!infoDict.TryGetValue(emblemId, out var info) || info == null)
            if (!familyActions.TryGetValue(emblemId, out var info) || info == null)
                return false;
            familyAction = info;
            return true;
@@ -281,20 +276,14 @@
            return true;
        }
        internal void UpdateFamilyAction(HA403_tagGCFamilyActionInfo vNetData)
        public void UpdateFamilyAction(HA403_tagGCFamilyActionInfo vNetData)
        {
            if (!familyActions.ContainsKey((int)vNetData.FamilyID))
            {
                familyActions[(int)vNetData.FamilyID] = new Dictionary<int, Dictionary<int, HA403_tagGCFamilyActionInfo.tagGCFamilyAction>>();
            }
            if (!familyActions[(int)vNetData.FamilyID].ContainsKey(vNetData.ActionType))
            {
                familyActions[(int)vNetData.FamilyID][vNetData.ActionType] = new Dictionary<int, HA403_tagGCFamilyActionInfo.tagGCFamilyAction>();
            }
            if (vNetData.ActionType != FamilyActionsType || PlayerDatas.Instance.baseData == null || (int)vNetData.FamilyID != (int)PlayerDatas.Instance.baseData.FamilyId)
                return;
            for (int i = 0; i < vNetData.FamilyActionList.Length; i++)
            {
                HA403_tagGCFamilyActionInfo.tagGCFamilyAction familyAction = vNetData.FamilyActionList[i];
                familyActions[(int)vNetData.FamilyID][vNetData.ActionType][(int)familyAction.Value1] = familyAction;
                familyActions[(int)familyAction.Value1] = familyAction;
            }
            UpdateFamilyActionEvent?.Invoke((int)vNetData.FamilyID, vNetData.ActionType);
        }
System/PhantasmPavilion/PhantasmPavilionModel.cs
@@ -343,6 +343,20 @@
            var resList = handler.GetTableKeys();
            resList.Sort((int a, int b) => Cmp(a, b, tab));
            if (tab == PhantasmPavilionTab.Avatar)
            {
                for (int i = resList.Count - 1; i >= 0; i--)
                {
                    int id = resList[i];
                    int[] JobShowList = PlayerFaceConfig.Get(id).JobShowList;
                    if (JobShowList != null && !JobShowList.Contains(PlayerDatas.Instance.baseData.Job) && resList.Contains(id))
                    {
                        resList.Remove(id);
                    }
                }
            }
            fristIndex = resList.First();
            return resList;
        }