//--------------------------------------------------------  
 | 
//    [Author]:           第二世界  
 | 
//    [  Date ]:           Wednesday, October 25, 2017  
 | 
//--------------------------------------------------------  
 | 
using UnityEngine;  
 | 
using System.Collections;  
 | 
using UnityEngine.UI;  
 | 
  
 | 
  
 | 
namespace vnxbqy.UI  
 | 
{  
 | 
    public class DungeonDifficultySelectBehaviour : ScrollItem  
 | 
    {  
 | 
  
 | 
        [SerializeField] ToggleButton m_Select;  
 | 
        [SerializeField] ImageEx m_Icon;  
 | 
        [SerializeField] Transform m_ContainerLock;  
 | 
        [SerializeField] Text m_Index;  
 | 
        [SerializeField] Text m_UnLockTitle;  
 | 
        [SerializeField] Text m_UnLockLevel;  
 | 
        [SerializeField] Material m_MaterialNormal;  
 | 
        [SerializeField] Material m_MaterialGray;  
 | 
        [SerializeField] FontColorSizeConfig m_TitleFontColorSize;  
 | 
        [SerializeField] FontColorSizeConfig m_FontColorSize;  
 | 
  
 | 
        Dungeon dungeon;  
 | 
        DungeonModel model { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } }  
 | 
  
 | 
        public override void Display(object _data)  
 | 
        {  
 | 
            base.Display(_data);  
 | 
            dungeon = (Dungeon)_data;  
 | 
  
 | 
            var config = DungeonConfig.Get(model.GetDungeonId(dungeon.mapId, dungeon.lineId));  
 | 
            m_Select.isOn = model.selectedKylinDungeon == dungeon;  
 | 
  
 | 
            var playerLevel = PlayerDatas.Instance.baseData.LV;  
 | 
            var isUnLocked = playerLevel >= config.LVLimitMin;  
 | 
            m_Icon.material = isUnLocked ? m_MaterialNormal : m_MaterialGray;  
 | 
            m_ContainerLock.SetActive(!isUnLocked);  
 | 
  
 | 
            m_UnLockTitle.color = m_FontColorSize.GetColorSize(isUnLocked ? "Normal" : "Locked").color;  
 | 
            m_UnLockLevel.text = config.LVLimitMin.ToString();  
 | 
            m_UnLockLevel.color = m_FontColorSize.GetColorSize(isUnLocked ? "Normal" : "Locked").color;  
 | 
  
 | 
            m_Index.text = (dungeon.lineId + 1).ToString();  
 | 
            m_Index.color = m_TitleFontColorSize.GetColorSize(isUnLocked ? "Normal" : "Locked").color;  
 | 
  
 | 
            model.kylinDifficultySelectedEvent -= OnSelected;  
 | 
            model.kylinDifficultySelectedEvent += OnSelected;  
 | 
        }  
 | 
  
 | 
        public override void Dispose()  
 | 
        {  
 | 
            base.Dispose();  
 | 
  
 | 
            model.kylinDifficultySelectedEvent -= OnSelected;  
 | 
        }  
 | 
  
 | 
        private void SelectDifficulty()  
 | 
        {  
 | 
            model.selectedKylinDungeon = dungeon;  
 | 
            model.currentDungeon = dungeon;  
 | 
        }  
 | 
  
 | 
        private void OnSelected(Dungeon _dungeon)  
 | 
        {  
 | 
            m_Select.isOn = dungeon == _dungeon;  
 | 
        }  
 | 
  
 | 
        private void Awake()  
 | 
        {  
 | 
            m_Select.AddListener(SelectDifficulty);  
 | 
        }  
 | 
    }  
 | 
  
 | 
}  
 | 
  
 | 
  
 | 
  
 |