少年修仙传客户端代码仓库
Client_PangDeRong
2018-09-07 a1bbc582a35b2b5d8b66fe7558345111755787c9
3339 境界提升时可使用丹药弹出快捷使用
2个文件已修改
51 ■■■■■ 已修改文件
System/BetterItemGet/PreciousItemGetModel.cs 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/KnapSack/Logic/PackModelInterface.cs 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/BetterItemGet/PreciousItemGetModel.cs
@@ -9,7 +9,7 @@
namespace Snxxz.UI
{
    public class PreciousItemGetModel : Model, IBeforePlayerDataInitialize, ISwitchAccount
    public class PreciousItemGetModel : Model, IBeforePlayerDataInitialize,ISwitchAccount,IPlayerLoginOk
    {
        Dictionary<string, PreciousItem> itemStack = new Dictionary<string, PreciousItem>();
        List<string> itemGuids = new List<string>();
@@ -38,12 +38,20 @@
        public void OnBeforePlayerDataInitialize()
        {
            isGetNewItem = false;
            PlayerDatas.Instance.PlayerDataRefreshInfoEvent -= RefreshRealm;
        }
        public void OnSwitchAccount()
        {
            currentShowItem = default(PreciousItem);
        }
        public void OnPlayerLoginOk()
        {
            PlayerDatas.Instance.PlayerDataRefreshInfoEvent += RefreshRealm;
        }
        public bool TryGetItem(string _guid, out PreciousItem _itemModel)
        {
@@ -75,6 +83,22 @@
            {
                var item = playerPack.GetItemModelByGUID(currentShowItem.guid);
                return item == null ? 0 : item.chinItemModel.ID;
            }
        }
        private void RefreshRealm(PlayerDataRefresh type)
        {
            int realmLv = PlayerDatas.Instance.baseData.realmLevel;
            if (type != PlayerDataRefresh.OfficialRank
                || NewBieCenter.Instance.inGuiding)
            {
                return;
            }
            List<ItemModel> druglist = modelInterface.GetDruglistByRealm();
            for(int i = 0; i < druglist.Count; i++)
            {
                OnGetPreciousItem(druglist[i].packType,druglist[i].itemInfo.ItemGUID);
            }
        }
@@ -171,7 +195,6 @@
                return config.ShowNewItemTip == 1;
            }
        }
        public struct PreciousItem
        {
System/KnapSack/Logic/PackModelInterface.cs
@@ -780,6 +780,30 @@
            }
            return RealmBetterDict;
        }
        List<ItemModel> RealmDruglist = new List<ItemModel>();
        public List<ItemModel> GetDruglistByRealm()
        {
            RealmDruglist.Clear();
            SinglePackModel singlePack = playerPack.GetSinglePackModel(PackType.rptItem);
            if (singlePack == null) return RealmDruglist;
            int realmLv = PlayerDatas.Instance.baseData.realmLevel;
            Dictionary<int, ItemModel> pairs = singlePack.GetPackModelIndexDict();
            foreach (var model in pairs.Values)
            {
                if(playerPack.CheckIsDrugById(model.itemId))
                {
                    AttrFruitConfig fruitConfig = Config.Instance.Get<AttrFruitConfig>(model.itemId);
                    if (!playerPack.IsReachMaxUseDrug(fruitConfig)
                        && model.chinItemModel.RealmLimit <= realmLv)
                    {
                        RealmDruglist.Add(model);
                    }
                }
            }
            return RealmDruglist;
        }
        #endregion
        #region 解锁格子