using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using System; using TableConfig; namespace Snxxz.UI { public class RunePreviewCell : CellView { [SerializeField] List m_RunePreviewList; public void Display(int _index, int _id) { m_RunePreviewList[_index].SetActive(_id != 0); if (_id != 0) { m_RunePreviewList[_index].Display(_id); } } [Serializable] public class RunePreviewData { [SerializeField] Image m_RuneIcon; [SerializeField] Text m_RuneName; [SerializeField] Button m_RuneBtn; [SerializeField] RectTransform m_Rune; RuneModel model { get { return ModelCenter.Instance.GetModel(); } } public void Display(int _id) { ItemConfig _itemCfg = Config.Instance.Get(_id); m_RuneBtn.onClick.RemoveAllListeners(); if (_itemCfg != null) { m_RuneName.text = UIHelper.GetTextColorByItemColor(_itemCfg.ItemColor, _itemCfg.ItemName + "lv.1"); m_RuneIcon.SetSprite(_itemCfg.IconKey); m_RuneBtn.onClick.AddListener(()=> { ShowRunePath(_itemCfg); }); } } public void SetActive(bool _active) { m_Rune.gameObject.SetActive(_active); } private void ShowRunePath(ItemConfig itemCfg) { var _itemPathModel = ModelCenter.Instance.GetModel(); RuneConfig _runeCfg = Config.Instance.Get(itemCfg.ID); RuneTowerConfig _towerCfg = null; RuneTowerFloorConfig _runeTowerCfg = null; if (_runeCfg.TowerID != 0) { _runeTowerCfg = Config.Instance.Get(_runeCfg.TowerID); _towerCfg = Config.Instance.Get(_runeTowerCfg.TowerId); } _itemPathModel.SetRuneModel(itemCfg.ID, 1, model.GetRuneAttrStr(itemCfg.ID, 1), _runeCfg.TowerID == 0 ? Language.Get("L1062") : Language.Get("RuneItemOrigin", _towerCfg.TowerName, _runeTowerCfg.FloorName)); } } } }