| //-------------------------------------------------------- | 
| //    [Author]:           第二世界 | 
| //    [  Date ]:           Monday, January 28, 2019 | 
| //-------------------------------------------------------- | 
|   | 
| using System; | 
| using System.Collections; | 
| using System.Collections.Generic; | 
| using UnityEngine; | 
| using UnityEngine.UI; | 
|   | 
| namespace vnxbqy.UI | 
| { | 
|      | 
|     public class CollectWordsWin : Window | 
|     { | 
|         ScrollerController collectScroll; | 
|         Text m_OpenTime; | 
|         Text m_Info; | 
|   | 
|         CollectWordsModel model | 
|         { | 
|             get { return ModelCenter.Instance.GetModel<CollectWordsModel>(); } | 
|         } | 
|   | 
|   | 
|         #region Built-in | 
|         protected override void BindController() | 
|         { | 
|             collectScroll = GetWidgt<ScrollerController>("CollectScroll"); | 
|             m_OpenTime = GetWidgt<Text>("CoolDownTxt"); | 
|             m_Info = GetWidgt<Text>("Info"); | 
|         } | 
|   | 
|         protected override void AddListeners() | 
|         { | 
|             collectScroll.OnRefreshCell += OnRefreshCell; | 
|              | 
|         } | 
|   | 
|         protected override void OnPreOpen() | 
|         { | 
|             model.ExChangeInfoUpdate += OnRefresh; | 
|             Display(); | 
|         } | 
|   | 
|         protected override void OnAfterOpen() | 
|         { | 
|             if (!DayRemind.Instance.GetDayRemind(DayRemind.WORD_YY_REDPOINT)) | 
|             {  | 
|                 DayRemind.Instance.SetDayRemind(DayRemind.WORD_YY_REDPOINT, true); | 
|                 model.UpdateRedpoint(); | 
|             } | 
|         } | 
|   | 
|         protected override void OnPreClose() | 
|         { | 
|             model.ExChangeInfoUpdate -= OnRefresh; | 
|         } | 
|   | 
|         protected override void OnAfterClose() | 
|         { | 
|         } | 
|         #endregion | 
|   | 
|         void Display() | 
|         { | 
|             DisplayOpenTime(); | 
|             DisplayCollect(); | 
|         } | 
|   | 
|         void OnRefresh() | 
|         { | 
|             collectScroll.m_Scorller.RefreshActiveCellViews(); | 
|         } | 
|         void DisplayCollect() | 
|         { | 
|             OperationCollectWords operation; | 
|             if (!OperationTimeHepler.Instance.TryGetOperation(Operation.CollectWords, out operation)) | 
|             { | 
|                 return; | 
|             } | 
|              | 
|             collectScroll.Refresh(); | 
|             for (int i = 0; i< operation.exchangeWords.Count; i++) | 
|             { | 
|                 collectScroll.AddCell(ScrollerDataType.Header, i); | 
|             } | 
|             collectScroll.Restart(); | 
|             collectScroll.JumpIndex(model.jumpIndex); | 
|         } | 
|         | 
|   | 
|         void DisplayOpenTime() | 
|         { | 
|             m_Info.SetActive(false); | 
|             OperationCollectWords operation; | 
|             if (OperationTimeHepler.Instance.TryGetOperation(Operation.CollectWords, out operation)) | 
|             { | 
|                 m_OpenTime.text = StringUtility.Contact(Language.Get("ExpActivity_Text1"), operation.ToDisplayTime()); | 
|   | 
|                 //最后一天特殊说明 | 
|                 if (operation.LastDayOnlyExchange > 0) | 
|                 { | 
|                     m_Info.SetActive(true); | 
|                 } | 
|             } | 
|         } | 
|   | 
|   | 
|         private void OnRefreshCell(ScrollerDataType type, CellView cell) | 
|         { | 
|   | 
|             var collectWordCell = cell as CollectWordsCell; | 
|             collectWordCell.Display(cell.index); | 
|         } | 
|   | 
|     } | 
|   | 
| } |