少年修仙传客户端代码仓库
lcy
2024-11-12 b7940595402bf5a897b4be834e325223c8a51dc9
10271 支持每个头像配置在哪个job显示
2个文件已修改
69 ■■■■■ 已修改文件
Core/GameEngine/Model/Config/PlayerFaceConfig.cs 55 ●●●●● 补丁 | 查看 | 原始文档 | 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/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;
        }