少年修仙传客户端代码仓库
client_Hale
2018-08-31 41a1125a99649ea17356d395ff6d657e20a3a8f2
Fixed #3126 【优化】掉落特效新增在某些地图的某些物品才会有特效显示。
2个文件已修改
40 ■■■■■ 已修改文件
System/GeneralConfig/GeneralConfig.cs 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/ItemDrop/DropItem.cs 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/GeneralConfig/GeneralConfig.cs
@@ -131,6 +131,8 @@
    public int[] CompareEquipPlaces { get; private set;}
    public Dictionary<int,int> fairyGrabBossMapLines { get; private set; }
    public Dictionary<int, List<int>> DropItemEffectMapID { get; private set; }
    public void Init()
    {
        try
@@ -443,6 +445,36 @@
            {
                fairyGrabBossMapLines[_key] = fairyGrabBossMapLines[_key] - 1;
            }
            if (DropItemEffectMapID == null)
            {
                DropItemEffectMapID = new Dictionary<int, List<int>>();
            }
            DropItemEffectMapID.Clear();
            func = Config.Instance.Get<FuncConfigConfig>("DropItemEffectMapID");
            _data = LitJson.JsonMapper.ToObject(func.Numerical1);
            int _itemID;
            _keys.Clear();
            _keys.AddRange(_data.Keys);
            for (int j = 0; j < _keys.Count; ++j)
            {
                if (int.TryParse(_keys[j].ToString(), out _itemID))
                {
                    if (!DropItemEffectMapID.ContainsKey(_itemID))
                    {
                        DropItemEffectMapID.Add(_itemID, new List<int>());
                    }
                    var _jsonMapIDs = _data[_keys[j]];
                    foreach (var _jsonMapID in _jsonMapIDs)
                    {
                        var _mapID = ((LitJson.IJsonWrapper)_jsonMapID).GetInt();
                        if (!DropItemEffectMapID[_itemID].Contains(_mapID))
                        {
                            DropItemEffectMapID[_itemID].Add(_mapID);
                        }
                    }
                }
            }
        }
        catch (Exception ex)
        {
System/ItemDrop/DropItem.cs
@@ -155,6 +155,14 @@
    SFXController _itemDropEffect = null;
    private void CheckPlayEffect(int id)
    {
        if (GeneralConfig.Instance.DropItemEffectMapID.ContainsKey(id))
        {
            if (!GeneralConfig.Instance.DropItemEffectMapID[id].Contains(PlayerDatas.Instance.baseData.MapID))
            {
                return;
            }
        }
        if (hasAppearCount < GeneralConfig.Instance.maxItemDropEffectCount)
        {
            var _itemConfig = Config.Instance.Get<ItemConfig>(id);