//-------------------------------------------------------- // [Author]: 第二世界 // [ Date ]: Thursday, April 18, 2019 //-------------------------------------------------------- using UnityEngine; using UnityEngine.UI; namespace vnxbqy.UI { public class CustomizedGiftWin : Window { [SerializeField] ScrollerController m_Controller; [SerializeField] Button CloseBtn; [SerializeField] TextEx actTime; CustomizedGiftModel model { get { return ModelCenter.Instance.GetModel(); } } VipModel vipModel { get { return ModelCenter.Instance.GetModel(); } } protected override void BindController() { } protected override void AddListeners() { CloseBtn.SetListener(CloseClick); } protected override void OnPreOpen() { m_Controller.OnRefreshCell += OnRefreshCell; vipModel.rechargeCountEvent += VipModel_rechargeCountEvent; model.UpdateRechargeGiftActEvent += OnUpdateRechargeGiftActEvent; GlobalTimeEvent.Instance.secondEvent += secondEvent; secondEvent(); DisplayScroll(); } void VipModel_rechargeCountEvent(int obj) { m_Controller.m_Scorller.RefreshActiveCellViews(); } protected override void OnAfterOpen() { } protected override void OnPreClose() { m_Controller.OnRefreshCell -= OnRefreshCell; vipModel.rechargeCountEvent -= VipModel_rechargeCountEvent; model.UpdateRechargeGiftActEvent -= OnUpdateRechargeGiftActEvent; GlobalTimeEvent.Instance.secondEvent -= secondEvent; } void secondEvent() { OperationBase holiday; if (!OperationTimeHepler.Instance.TryGetOperation(CustomizedGiftModel.operaType, out holiday)) { return; } actTime.text = Language.Get("BossFHLanguage2", TimeUtility.SecondsToHMS(holiday.GetResetSurplusTime())); } void OnUpdateRechargeGiftActEvent() { m_Controller.m_Scorller.RefreshActiveCellViews(); } protected override void OnAfterClose() { } void DisplayScroll() { m_Controller.Refresh(); OperationRechargeGiftAct act; OperationTimeHepler.Instance.TryGetOperation(CustomizedGiftModel.operaType, out act); for (int i = 0; i <= act.ctgIDs.Count; i++) { m_Controller.AddCell(ScrollerDataType.Header, i); } m_Controller.Restart(); } private void OnRefreshCell(ScrollerDataType type, CellView cell) { var _cell = cell as CustomizedGiftCell; _cell.Display(_cell.index); } } }