少年修仙传客户端代码仓库
Client_PangDeRong
2018-11-02 4d13d089c1dd262499502263c8c627fd19047678
4464 【前端】【1.2.0】N级前,获得的蓝白好装备在倒计时X秒后自动穿戴
2个文件已修改
60 ■■■■■ 已修改文件
System/BetterItemGet/BetterEquipGetModel.cs 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/KnapSack/BetterItemGetBehaviour.cs 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/BetterItemGet/BetterEquipGetModel.cs
@@ -27,6 +27,8 @@
            modelInterface.RefreshGetBetterEquipEvent += OnGetBetterEquip;
            playerPack.RefreshPackAct += OnPackageRefresh;
            playerPack.RefreshItemCountAct += OnPackageItemRefresh;
            KnapsackTimeCDMgr.Instance.RefresCoolTimeAct += UpdateCoolTime;
            ParseConfig();
        }
        public override void UnInit()
@@ -34,6 +36,7 @@
            modelInterface.RefreshGetBetterEquipEvent -= OnGetBetterEquip;
            playerPack.RefreshPackAct -= OnPackageRefresh;
            playerPack.RefreshItemCountAct -= OnPackageItemRefresh;
            KnapsackTimeCDMgr.Instance.RefresCoolTimeAct -= UpdateCoolTime;
        }
        public void OnBeforePlayerDataInitialize()
@@ -57,6 +60,22 @@
        }
        #endregion
        private void UpdateCoolTime(string guid)
        {
            ItemModel _equip = null;
            if (TryGetBetterEquip(guid,out _equip))
            {
                var coolData = KnapsackTimeCDMgr.Instance.GetItemCoolById(guid);
                bool isCoolEnd = coolData == null || coolData.GetRemainTime() <= 0 ? true : false;
                if(isCoolEnd)
                {
                    PackSendQuestMgr.Instance.SendPutOnQuest(ItemWinBtnType.putOn,guid);
                    ReportConfirmBetterEquip(guid);
                }
            }
        }
        public bool TryGetBetterEquip(string _guid, out ItemModel _equip)
        {
            return betterEquipModels.TryGetValue(_guid, out _equip);
@@ -147,9 +166,10 @@
                        {
                            showEquipRefreshEvent();
                        }
                        if(betterModel.chinItemModel.ItemColor < 3)
                        if(CheckIsAutoEquip(betterModel))
                        {
                            KnapsackTimeCDMgr.Instance.Register(betterModel.itemInfo.ItemGUID, betterModel.itemId, autoEquipCoolTime);
                        }
                    }
                }
@@ -162,8 +182,18 @@
                    }
                }
            }
        }
        private bool CheckIsAutoEquip(ItemModel itemModel)
        {
            int playerLv = PlayerDatas.Instance.baseData.LV;
            if (playerLv > autoEquipLvLimit) return false;
            if (itemModel.chinItemModel.ItemColor < 3)
            {
                return true;
            }
            return false;
        }
        IEnumerator Co_DelayRefreshBetterEquip(string _guid)
System/KnapSack/BetterItemGetBehaviour.cs
@@ -21,6 +21,8 @@
        [SerializeField] Text m_EquipName;
        [SerializeField] Button m_Close;
        [SerializeField] Text m_FunctionTitle;
        [SerializeField] GameObject coolObj;
        [SerializeField] Text coolTimeText;
        [SerializeField] Button m_Puton;
        [SerializeField] Button m_BetterEquipDetail;
        ItemTipsModel itemTipsModel { get { return ModelCenter.Instance.GetModel<ItemTipsModel>(); } }
@@ -32,6 +34,7 @@
            m_Close.AddListener(CloseBetterEquip);
            m_Puton.AddListener(PutOnBetterEquip);
            m_BetterEquipDetail.AddListener(ShowBetterEquipDetails);
            KnapsackTimeCDMgr.Instance.RefresCoolTimeAct += UpdateCoolTime;
        }
        private void OnDisable()
@@ -39,6 +42,27 @@
            m_Close.RemoveAllListeners();
            m_Puton.RemoveAllListeners();
            m_BetterEquipDetail.RemoveAllListeners();
            KnapsackTimeCDMgr.Instance.RefresCoolTimeAct -= UpdateCoolTime;
        }
        private void UpdateCoolTime(string guid)
        {
            if (!string.IsNullOrEmpty(model.currentEquipGuid))
            {
                ItemModel betterEquip;
                if (model.TryGetBetterEquip(model.currentEquipGuid, out betterEquip))
                {
                    var coolData = KnapsackTimeCDMgr.Instance.GetItemCoolById(model.currentEquipGuid);
                    bool isCoolEnd = coolData == null || coolData.GetRemainTime() <= 0 ? true : false;
                    coolObj.SetActive(!isCoolEnd);
                    m_FunctionTitle.gameObject.SetActive(isCoolEnd);
                    if (!isCoolEnd)
                    {
                        int remainTime = (int)coolData.GetRemainTime();
                        coolTimeText.text = StringUtility.Contact("(",remainTime,")");
                    }
                }
            }
        }
        public void ShowBetterEquip()
@@ -119,8 +143,8 @@
            m_EquipName.text = itemConfig.ItemName;
            m_EquipName.color = UIHelper.GetUIColor(itemConfig.ItemColor, true);
            m_FunctionTitle.text = Language.Get(itemConfig.ItemColor >= 3 ? "GoodEquip_See" : "GoodEquip_FitUp");
            m_EquipBehaviour.Init(betterModel, true);
            UpdateCoolTime(betterModel.itemInfo.ItemGUID);
        }
        IEnumerator Co_Delay(string _guid)