//-------------------------------------------------------- // [Author]: 第二世界 // [ Date ]: Tuesday, December 12, 2017 //-------------------------------------------------------- using System; using System.Collections; using System.Collections.Generic; using TableConfig; using UnityEngine; using UnityEngine.UI; //关于娲皇遗迹的BOss选层面板 namespace Snxxz.UI { public class FloorChooseWin : Window { [SerializeField] ScrollerController m_ScrollerController; [SerializeField] Button m_CloseBtn; [SerializeField] Button m_FloorChooseBtn; [SerializeField] Button m_okBtn; [SerializeField] Text m_FloorChooseBtnText; [SerializeField] GameObject m_ScrollViewObj; [SerializeField] Button m_IsCloseButton; private int ruinsTranscriptMapId; DungeonModel m_Model; DungeonModel model { get { return m_Model ?? (m_Model = ModelCenter.Instance.GetModel()); } } PlayerMainDate m_MainModel; PlayerMainDate main { get { return m_MainModel ?? (m_MainModel = ModelCenter.Instance.GetModel()); } } #region Built-in protected override void BindController() { ruinsTranscriptMapId = int.Parse(ConfigManager.Instance.GetTemplate("SpRewardMapID").Numerical1); } protected override void AddListeners() { m_CloseBtn.AddListener(CloseButton); m_FloorChooseBtn.AddListener(FloorChooseButton); m_okBtn.AddListener(OkButton); m_IsCloseButton.AddListener(IsCloseButton); } protected override void OnPreOpen() { } protected override void OnActived() { base.OnActived(); m_ScrollerController.OnRefreshCell += OnRefreshGridCell; if (main.LayerNumber == -1) { main.LayerNumberNow = 0; } else { main.LayerNumberNow = main.LayerNumber; } m_ScrollViewObj.SetActive(false); string str = string.Format("Num_CHS_{0}", main.LayerNumberNow + 1); m_FloorChooseBtnText.text = string.Format(Language.Get("Z1814"), Language.Get(str)); OnCreateGridLineCell(m_ScrollerController); } protected override void OnAfterOpen() { } protected override void OnPreClose() { m_ScrollerController.OnRefreshCell -= OnRefreshGridCell; } protected override void OnAfterClose() { } void OnCreateGridLineCell(ScrollerController gridCtrl) { gridCtrl.Refresh(); for (int i = 0; i < main.LayerNumber + 1; i++) { gridCtrl.AddCell(ScrollerDataType.Header, i); } gridCtrl.Restart(); } private void OnRefreshGridCell(ScrollerDataType type, CellView cell) { int number = cell.index; FloorChooseButton floorChooseButton = cell.GetComponent(); string strA = string.Format("Num_CHS_{0}", number + 1); floorChooseButton.FloorChooseText.text = string.Format(Language.Get("Z1814"), Language.Get(strA)); floorChooseButton.FloorChooseBtn.RemoveAllListeners(); floorChooseButton.FloorChooseBtn.AddListener(() => { main.LayerNumberNow = number; string str = string.Format("Num_CHS_{0}", number + 1); m_FloorChooseBtnText.text = string.Format(Language.Get("Z1814"), Language.Get(str)); m_ScrollViewObj.SetActive(false); }); } void CloseButton() { Close(); } void FloorChooseButton() { m_ScrollViewObj.SetActive(true); } void OkButton() { if (PlayerDatas.Instance.extersion.bossState == 1) { SysNotifyMgr.Instance.ShowTip("Boss_Leave"); return; } else { model.RequestChallangeDungeon(ruinsTranscriptMapId,main.LayerNumberNow); } // Close(); } void IsCloseButton() { if (m_ScrollViewObj.activeSelf) { m_ScrollViewObj.SetActive(false); } } #endregion } }