using UnityEngine; public class TimingGiftTabCell : MonoBehaviour { [SerializeField] Color selectColor; [SerializeField] Color unSelectColor; [SerializeField] TextEx tabNameText; [SerializeField] ButtonEx tabButton; [SerializeField] ImageEx tabIcon; [SerializeField] Transform line; TimingGiftManager manager { get { return TimingGiftManager.Instance; } } public void Display(int index) { var currectTimingGiftIdList = manager.GetCurrectTimingGiftIdList(); if (currectTimingGiftIdList == null || index < 0 || index >= currectTimingGiftIdList.Count) return; int id = currectTimingGiftIdList[index]; if (!TimingGiftConfig.HasKey(id)) return; line.SetActive(currectTimingGiftIdList.Count > 1 && index < currectTimingGiftIdList.Count - 1); TimingGiftConfig config = TimingGiftConfig.Get(id); tabNameText.text = config.GiftName; bool isChoose = manager.selectTabIndex == index; tabIcon.SetSprite(isChoose ? "TimingGiftTab1_Select" : "TimingGiftTab1_UnSelect"); tabIcon.SetNativeSize(); tabNameText.color = isChoose ? selectColor : unSelectColor; tabButton.SetListener(() => { manager.selectTabGiftId = id; manager.selectTabIndex = index; }); } }