少年修仙传客户端代码仓库
client_linchunjie
2019-05-17 2cd92d2416e247d164f90dd2fa8bcb89c33469d8
3335 炼丹功能开启后重新弹出使用丹药弹窗
1个文件已修改
33 ■■■■■ 已修改文件
System/BetterItemGet/PreciousItemGetModel.cs 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/BetterItemGet/PreciousItemGetModel.cs
@@ -22,11 +22,14 @@
        public PreciousItem currentShowItem { get; private set; }
        public event Action showItemRefreshEvent;
        public bool isGetNewItem { get;set; }
        bool isServerPrepare { get; set; }
        public override void Init()
        {
            ItemLogicUtility.Instance.GetPreciousItemEvent += OnGetPreciousItem;
            playerPack.refrechPackEvent += OnPackageRefresh;
            playerPack.refreshItemCountEvent += OnPackageItemRefresh;
            FuncOpen.Instance.OnFuncStateChangeEvent += OnFuncStateChangeEvent;
        }
        public override void UnInit()
@@ -34,11 +37,13 @@
            ItemLogicUtility.Instance.GetPreciousItemEvent -= OnGetPreciousItem;
            playerPack.refrechPackEvent -= OnPackageRefresh;
            playerPack.refreshItemCountEvent -= OnPackageItemRefresh;
            FuncOpen.Instance.OnFuncStateChangeEvent -= OnFuncStateChangeEvent;
        }
        public void OnBeforePlayerDataInitialize()
        {
            isGetNewItem = false;
            isServerPrepare = false;
            PlayerDatas.Instance.playerDataRefreshEvent -= RefreshRealm;
            CrossServerOneVsOnePlayerInfo.Instance.UpdateMatchNumEvent -= UpdateCrossOneVsOneMatchNum;
        }
@@ -51,6 +56,7 @@
        public void OnPlayerLoginOk()
        {
            isServerPrepare = true;
            PlayerDatas.Instance.playerDataRefreshEvent += RefreshRealm;
            CrossServerOneVsOnePlayerInfo.Instance.UpdateMatchNumEvent += UpdateCrossOneVsOneMatchNum;
        }
@@ -158,6 +164,17 @@
            OnPackageRefresh(_type);
        }
        private void OnFuncStateChangeEvent(int id)
        {
            if (id == (int)FuncOpenEnum.BlastFurnace && FuncOpen.Instance.IsFuncOpen(id))
            {
                if (isServerPrepare)
                {
                    RecommandAlchemyDrugs();
                }
            }
        }
        private bool FindLatestItem(out PreciousItem _item)
        {
            if (itemGuids.Count == 0)
@@ -171,6 +188,22 @@
            return true;
        }
        private void RecommandAlchemyDrugs()
        {
            var items = playerPack.GetItems(PackType.Item, new SinglePack.FilterParams());
            if (items != null)
            {
                foreach (var item in items)
                {
                    var config = AttrFruitConfig.Get(item.itemId);
                    if (config != null && config.FuncID == 2)
                    {
                        ItemLogicUtility.Instance.RecommendItem(item);
                    }
                }
            }
        }
        private void Trim()
        {
            for (int i = itemGuids.Count - 1; i >= 0; i--)