少年修仙传客户端代码仓库
10384 福地老鼠管家支持玩家如果没有配置,就勾上所有可勾选项,等级按默认配置
1个文件已修改
39 ■■■■■ 已修改文件
System/BlessedLand/BlessedLandManageMouseModel.cs 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/BlessedLand/BlessedLandManageMouseModel.cs
@@ -74,8 +74,10 @@
            {
                string res = LocalSave.GetString(key);
                if (res == null)
                {
                    DefaultMultiSelectCheck();
                    return;
                }
                Dictionary<int, int> tempDict = new Dictionary<int, int>();
                var jsonData = JsonMapper.ToObject(res);
@@ -85,7 +87,10 @@
                    tempDict.Add(int.Parse(keyList[i]), int.Parse(jsonData[keyList[i]].ToJson()));
                }
                if (tempDict.IsNullOrEmpty())
                {
                    DefaultMultiSelectCheck();
                    return;
                }
                bool isCheckLocalOk = CheckLocal(tempDict);
                if (isCheckLocalOk)
                {
@@ -100,8 +105,40 @@
                else
                {
                    LocalSave.DeleteKey(key);
                    DefaultMultiSelectCheck();
                }
            }
        }
        //如果没有配置,就勾上所有可勾选项,等级按默认配置
        void DefaultMultiSelectCheck()
        {
            if (nowChooseDict.Count == 0)
            {
                var itemIDToItemLVListDict = MineAreaItemConfig.GetItemIDToItemLVListDict();
                var itemIDToItemLVList = itemIDToItemLVListDict.Keys.ToList();
                for (int i = 0; i < itemIDToItemLVList.Count; i++)
                {
                    int itemId = itemIDToItemLVList[i];
                    if (!itemIDToItemLVListDict.TryGetValue(itemId, out var list) || list.IsNullOrEmpty())
                        continue;
                    int itemLv = list[0];
                    //福地物品表没这项
                    if (!MineAreaItemConfig.TryGetMineID(itemId, itemLv, out int mineId))
                        continue;
                    //这项现在是未解锁的
                    MineAreaItemConfig mineAreaItemConfig = MineAreaItemConfig.Get(mineId);
                    int limitLV = mineAreaItemConfig.LimitLV;
                    int lv = PlayerDatas.Instance.baseData.LV;
                    bool isLock = lv < limitLV;
                    if (isLock)
                        continue;
                    nowChooseDict[itemId] = itemLv;
                }
            }
        }
        public void SaveLocal(bool isChoose, int itemId, int itemLV)