| //--------------------------------------------------------  | 
| //    [Author]:           第二世界  | 
| //    [  Date ]:           Wednesday, September 20, 2017  | 
| //--------------------------------------------------------  | 
|   | 
| using System;  | 
| using System.Collections;  | 
| using System.Collections.Generic;  | 
| using UnityEngine;  | 
| using UnityEngine.UI;  | 
|   | 
|   | 
| namespace vnxbqy.UI  | 
| {  | 
|   | 
|     public class CommonDungeonSelectWin : Window  | 
|     {  | 
|   | 
|         [SerializeField] Button closeBtn;  | 
|         [SerializeField] Text titleText;  | 
|         [SerializeField] ScrollerController scroller;  | 
|         [SerializeField] Text info;  | 
|   | 
|         DungeonModel model { get { return  ModelCenter.Instance.GetModel<DungeonModel>(); } }  | 
|         CommonDungeonSelectModel commonDungeonSelectModel { get { return ModelCenter.Instance.GetModel<CommonDungeonSelectModel>(); } }  | 
|   | 
|         #region Built-in  | 
|   | 
|         protected override void BindController() | 
|         {  | 
|   | 
|         }  | 
|   | 
|         protected override void AddListeners()  | 
|         {  | 
|             closeBtn.AddListener(CloseClick);  | 
|         }  | 
|   | 
|         protected override void OnPreOpen()  | 
|         {  | 
|             model.dungeonRecordChangeEvent += UpdateDungeonTimes;  | 
|             model.updateDungeonBuyCnt += UpdateDungeonBuyCnt;  | 
|             scroller.OnRefreshCell += OnRefreshCell;  | 
|   | 
|   | 
|             info.text = Language.Get("CommonDungeon1", DailyQuestConfig.Get(commonDungeonSelectModel.selectDailyQuestType).RelatedType == 1 ? 0: 5);  | 
|             titleText.text = MapConfig.Get(model.currentDungeon.mapId).Name;  | 
|   | 
|             scroller.Refresh();  | 
|             int maxLine = FBGeneralTrainConfig.GetMaxLine(model.currentDungeon.mapId);  | 
|             for (int i = 1; i <= maxLine; i++)  | 
|             {  | 
|                 scroller.AddCell(ScrollerDataType.Header, i);  | 
|             }  | 
|             scroller.Restart();  | 
|   | 
|             DungeonRecord dungeonRecord;  | 
|             if (model.TryGetRecord(model.currentDungeon.mapId, out dungeonRecord))  | 
|             {  | 
|                 scroller.JumpIndex(dungeonRecord.passLineID - 1);  | 
|             }  | 
|         }  | 
|   | 
|         protected override void OnActived()  | 
|         {  | 
|         }  | 
|   | 
|         protected override void OnAfterOpen()  | 
|         {  | 
|         }  | 
|   | 
|         protected override void OnPreClose()  | 
|         {  | 
|             model.dungeonRecordChangeEvent -= UpdateDungeonTimes;  | 
|             model.updateDungeonBuyCnt -= UpdateDungeonBuyCnt;  | 
|             scroller.OnRefreshCell -= OnRefreshCell;  | 
|         }  | 
|   | 
|         protected override void OnAfterClose()  | 
|         {  | 
|         }  | 
|         #endregion  | 
|   | 
|   | 
|   | 
|         private void UpdateDungeonTimes(int mapID)  | 
|         {  | 
|             scroller.m_Scorller.RefreshActiveCellViews();  | 
|         }  | 
|   | 
|         private void UpdateDungeonBuyCnt()  | 
|         {  | 
|             scroller.m_Scorller.RefreshActiveCellViews();  | 
|         }  | 
|   | 
|         void OnRefreshCell(ScrollerDataType type, CellView cell)  | 
|         {  | 
|             var _cell = cell as CommonDungeonSelectCell;  | 
|             _cell.Display(cell.index);  | 
|         }  | 
|   | 
|   | 
|   | 
|     }  | 
|   | 
| }  | 
|   | 
|   | 
|   | 
|   |