using System; using System.Collections.Generic; using UI.ActivityMain; using FairyGUI; using UI.CommonGame; namespace GFGGame { public class ZCJBBuyTipsView : BaseWindow { private UI_ZCJBBuyTips _ui; private string Desc; private int limitID; public override void Dispose() { if (_ui != null) { _ui.Dispose(); _ui = null; } BuyTipsController.Dispose(); base.Dispose(); } protected override void OnInit() { base.OnInit(); _ui = UI_ZCJBBuyTips.Create(); this.viewCom = _ui.target; this.viewCom.Center(); this.modal = true; _ui.m_btnRight.onClick.Add(OnClickBtnSure); _ui.m_btnLeft.onClick.Add(OnClickBtnCancel); _ui.m_graph.onClick.Add(OnClickBtnCancel); } protected override void OnShown() { base.OnShown(); Desc = (string)(this.viewData as object[])[0]; limitID = (int)(this.viewData as object[])[1]; UpdateView(); } protected override void AddEventListener() { base.AddEventListener(); EventAgent.AddEventListener(ConstMessage.NOTICE_LIMIT_CHANGED, LimitChanged); } protected override void RemoveEventListener() { base.RemoveEventListener(); EventAgent.RemoveEventListener(ConstMessage.NOTICE_LIMIT_CHANGED, LimitChanged); } private void UpdateView() { _ui.m_txtContent.text = Desc; _ui.m_txtTips.text = "(购买的次数请及时使用,次日5:00重置)"; _ui.m_txtNumTips.text = string.Format("今日购买次数:{0}/{1}", RoleLimitDataManager.GetLimitData(limitID).BuyTimes, LimitCfgArray.Instance.GetCfg(limitID).buyNum); UpdateDesc(); } private void OnClickBtnSure() { RoleLimitSProxy.ReqBuyLimitPlayTimes(limitID, 1, 1).Coroutine(); } private void LimitChanged(EventContext context = null) { if ((int)context.data != limitID) { return; } UpdateDesc(); PromptController.Instance.ShowFloatTextPrompt("次数+1"); } private void UpdateDesc() { LimitCfg limitcfg = LimitCfgArray.Instance.GetCfg(limitID); int buyCount = RoleLimitDataManager.GetLimitData(limitID).BuyTimes; int costNum = 0; if(limitcfg.moneyBuyTimesArr.Length>0) { for(int i=0;i< limitcfg.moneyBuyTimesArr.Length;i++) { int t = buyCount - limitcfg.moneyBuyTimesArr[i]; if(t<0) { costNum = limitcfg.moneyNumArr[i-1]; break; } else { if (i == limitcfg.moneyBuyTimesArr.Length - 1) { costNum = limitcfg.moneyNumArr[i]; break; } else { costNum = limitcfg.itemNum; } } } } else { costNum = LimitCfgArray.Instance.GetCfg(limitID).moneyNumArr[0]; } string name = ItemCfgArray.Instance.GetCfg(LimitCfgArray.Instance.GetCfg(limitID).moneyId).name; string desc = string.Format("是否花费{0}{1}购买{2}次过关次数?", costNum, name, 1); _ui.m_txtNumTips.text = string.Format("今日购买次数:{0}/{1}", RoleLimitDataManager.GetLimitData(limitID).BuyTimes, LimitCfgArray.Instance.GetCfg(limitID).buyNum); _ui.m_txtContent.text = desc; } private void OnClickBtnCancel() { this.Hide(); } } }