| using System;  | 
| using System.Collections;  | 
| using System.Collections.Generic;  | 
| using UnityEngine;  | 
| using UnityEngine.UI;  | 
|   | 
| namespace vnxbqy.UI  | 
| {  | 
|     public class TreasureSkillCell : CellView  | 
|     {  | 
|         [SerializeField] Image m_SkillIcon;  | 
|         [SerializeField] Text m_SkillName;  | 
|         [SerializeField] Text m_SkillLevel;  | 
|         [SerializeField] Transform m_ContainerLock;  | 
|         [SerializeField] Text m_SkillCondition;  | 
|         [SerializeField] Transform m_ContainerReiki;  | 
|         [SerializeField] Text m_ReikiNone;  | 
|         [SerializeField] Image m_ReikiIcon;  | 
|         [SerializeField] Transform m_ContainerSelect;  | 
|         [SerializeField] Button m_Func;  | 
|         [SerializeField] RedpointBehaviour m_Redpoint;  | 
|   | 
|         int skillId;  | 
|   | 
|         TreasureSkillModel model  | 
|         {  | 
|             get { return ModelCenter.Instance.GetModel<TreasureSkillModel>(); }  | 
|         }  | 
|   | 
|         TreasureModel treasureModel  | 
|         {  | 
|             get { return ModelCenter.Instance.GetModel<TreasureModel>(); }  | 
|         }  | 
|   | 
|         private void Awake()  | 
|         {  | 
|             m_Func.onClick.AddListener(OnFunc);  | 
|         }  | 
|   | 
|         public void Display(int skillId)  | 
|         {  | 
|             this.skillId = skillId;  | 
|   | 
|             DisplayBase();  | 
|   | 
|             var treasureId = treasureModel.GetTreasureBySkillId(skillId);  | 
|   | 
|             var isSkillUnlock = false;  | 
|             TreasureSkill treasureSkill;  | 
|             if (model.TryGetSkill(skillId, out treasureSkill))  | 
|             {  | 
|                 isSkillUnlock = treasureSkill.level > 0;  | 
|                 m_SkillLevel.text = string.Empty;// StringUtility.Contact("LV.", treasureSkill.level);  | 
|                 m_Redpoint.redpointId = treasureSkill.redpoint.id;  | 
|             }  | 
|   | 
|             m_ContainerLock.SetActive(!isSkillUnlock);  | 
|             m_SkillIcon.material = isSkillUnlock ? MaterialUtility.GetUIDefaultGraphicMaterial() :  | 
|                 MaterialUtility.GetDefaultSpriteGrayMaterial();  | 
|             m_ContainerSelect.SetActive(skillId == model.selectSkill);  | 
|             m_SkillLevel.SetActive(isSkillUnlock);  | 
|   | 
|             m_ContainerReiki.SetActive(isSkillUnlock);  | 
|             if (isSkillUnlock)  | 
|             {  | 
|                 var expertSkill = 0;  | 
|                 if (model.TryGetExpertSkill(skillId, out expertSkill))  | 
|                 {  | 
|                     m_ReikiNone.SetActive(false);  | 
|                     m_ReikiIcon.SetActive(true);  | 
|                     var skillConfig = SkillConfig.Get(expertSkill);  | 
|                     m_ReikiIcon.SetSprite("XT_LG_" + skillConfig.RequireProperty());  | 
|                 }  | 
|                 else  | 
|                 {  | 
|                     m_ReikiNone.SetActive(true);  | 
|                     m_ReikiIcon.SetActive(false);  | 
|                 }  | 
|             }  | 
|         }  | 
|   | 
|         void DisplayBase()  | 
|         {  | 
|             var config = SkillConfig.Get(skillId);  | 
|             m_SkillIcon.SetSprite(config.IconName);  | 
|             m_SkillName.text = config.SkillName;  | 
|   | 
|             var treasureId = treasureModel.GetTreasureBySkillId(skillId);  | 
|             var treasureConfig = TreasureConfig.Get(treasureId);  | 
|             switch ((TreasureCategory)treasureConfig.Category)  | 
|             {  | 
|                 case TreasureCategory.Human:  | 
|                     m_SkillCondition.text = Language.Get("TreasureSkillUnlock", treasureConfig.Name);  | 
|                     break;  | 
|                 case TreasureCategory.Fairy:  | 
|                     if (treasureModel.fairyTreasureGetDict.ContainsKey(treasureId))  | 
|                     {  | 
|                         m_SkillCondition.text = Language.Get("FairyTreasure_1", treasureModel.fairyTreasureGetDict[treasureId]);  | 
|                     }  | 
|                     break;  | 
|             }  | 
|         }  | 
|   | 
|         private void OnFunc()  | 
|         {  | 
|             if (TreasureSkillWin.autoSelectSkill != 0)  | 
|             {  | 
|                 return;  | 
|             }  | 
|   | 
|             TreasureSkill skill;  | 
|             if (model.TryGetSkill(skillId, out skill))  | 
|             {  | 
|                 if (skill.level > 0)  | 
|                 {  | 
|                     model.selectSkill = skillId;  | 
|                 }  | 
|                 else  | 
|                 {  | 
|                     var treasureId = treasureModel.GetTreasureBySkillId(skillId);  | 
|                     var treasureConfig = TreasureConfig.Get(treasureId);  | 
|                     switch ((TreasureCategory)treasureConfig.Category)  | 
|                     {  | 
|                         case TreasureCategory.Human:  | 
|                             SysNotifyMgr.Instance.ShowTip("TreasureSkillUnlock", treasureConfig.Name);  | 
|                             break;  | 
|                         case TreasureCategory.Fairy:  | 
|                             if (treasureModel.fairyTreasureGetDict.ContainsKey(treasureId))  | 
|                             {  | 
|                                 SysNotifyMgr.Instance.ShowTip("TreasureSkillUnlock_Vip", treasureModel.fairyTreasureGetDict[treasureId]);  | 
|                             }  | 
|                             break;  | 
|                     }  | 
|                 }  | 
|             }  | 
|         }  | 
|     }  | 
| }  | 
|   |