少年修仙传客户端代码仓库
hch
2024-12-09 2e56a6b6d5115ce4910171d7ed05b2d206b1b090
0312 防范查询玩家数据为空的情况
1个文件已修改
56 ■■■■ 已修改文件
System/RoleParticulars/RoleParticularModel.cs 56 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/RoleParticulars/RoleParticularModel.cs
@@ -159,12 +159,9 @@
        public void OnRevRoleEquip(HA705_tagSCQueryPlayerCacheResult package)
        {
            if (viewPlayer != package.PlayerID || viewPlayerType == -1)
            {
                return;
            }
            if (package.PropData == "")
            //需要对空数据进行防范
            if (viewPlayer != package.PlayerID || viewPlayerType == -1 ||
                (package.PropDataSize == 0 && package.ItemDataSize == 0 && package.PlusDataSize == 0))
            {
                return;
            }
@@ -178,29 +175,36 @@
            }
            viewPlayerData.getTime = DateTime.Now;
            viewPlayerData.rolePropData = JsonMapper.ToObject<RolePropData>(package.PropData);
            if (package.PropDataSize != 0)
                viewPlayerData.rolePropData = JsonMapper.ToObject<RolePropData>(package.PropData);
            viewPlayerData.rolePlusData = new RolePlusData();
            viewPlayerData.rolePlusData.AnalysisRolePlusData(package.PlusData);
            JsonData data = JsonMapper.ToObject(package.PropData);
            Dictionary<string, long> properties = new Dictionary<string, long>();
            var keyList = data.Keys.ToList();
            for (int i = 0; i < keyList.Count; i++)
            if (package.PlusDataSize != 0)
            {
                string key = keyList[i];
                JsonData valueData = data[key];
                long value = 0;
                if (long.TryParse(valueData.ToString(), out value))
                {
                    properties[key] = value;
                }
                else
                {
                    properties[key] = 0;
                }
                viewPlayerData.rolePlusData = new RolePlusData();
                viewPlayerData.rolePlusData.AnalysisRolePlusData(package.PlusData);
            }
            viewPlayerData.propertiesDict = properties;
            if (package.PropDataSize != 0)
            {
                JsonData data = JsonMapper.ToObject(package.PropData);
                Dictionary<string, long> properties = new Dictionary<string, long>();
                var keyList = data.Keys.ToList();
                for (int i = 0; i < keyList.Count; i++)
                {
                    string key = keyList[i];
                    JsonData valueData = data[key];
                    long value = 0;
                    if (long.TryParse(valueData.ToString(), out value))
                    {
                        properties[key] = value;
                    }
                    else
                    {
                        properties[key] = 0;
                    }
                }
                viewPlayerData.propertiesDict = properties;
            }
            ShowRoleParticulars(viewPlayerData);
        }