| System/BetterItemGet/BetterEquipGetModel.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/KnapSack/BetterItemGetBehaviour.cs | ●●●●● 补丁 | 查看 | 原始文档 | 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)