using UnityEngine; using UnityEngine.UI; public class ChatTabCell : MonoBehaviour { [SerializeField] ImageEx imgSelectBg; [SerializeField] ImageEx imgSelect; [SerializeField] ImageEx imgUnSelect; [SerializeField] TextEx txtTitle; [SerializeField] Button btnSelect; [SerializeField] Color selectedColor; [SerializeField] Color unSelectColor; ChatManager manager { get { return ChatManager.Instance; } } public void Display(int index, CellView cellView) { int tab = cellView.info.Value.infoInt1; if (!manager.IsValidChatTab(tab)) return; ChatTab chatTab = (ChatTab)tab; bool isSelect = manager.IsSelectChatTab(chatTab); imgSelectBg.SetActive(isSelect); imgSelect.SetActive(isSelect); imgUnSelect.SetActive(!isSelect); imgSelect.SetSprite(manager.GetChatTabSelectIcon(chatTab, true)); imgUnSelect.SetSprite(manager.GetChatTabSelectIcon(chatTab, false)); imgSelectBg.SetNativeSize(); imgSelect.SetNativeSize(); imgUnSelect.SetNativeSize(); txtTitle.text = manager.GetChatTabName(chatTab); txtTitle.color = isSelect ? selectedColor : unSelectColor; btnSelect.SetListener(() => { if (!manager.IsTabOpen(chatTab, true)) return; manager.nowChatTab = chatTab; }); } }