Project_WL/Assets/Script/UI/Base/TabCardBase.cs

52 lines
1.7 KiB
C#

using TMPro;
using UnityEngine.UI;
public class TabCardBase : CardBase
{
public eTabType m_TabType;
public string BGImage_on, BGImage_off;
public Button m_btn;
public Image[] images; // 0 bg, 1 이미지
public TextMeshProUGUI[] texts; // 0 탭 이름
TabUIData m_Data;
public override void Set<T>(T _base)
{
m_btn.onClick.RemoveAllListeners();
m_btn.onClick.AddListener(OnClick_Tab);
base.Set(_base);
m_Data = _base as TabUIData;
texts[0].text = string.IsNullOrEmpty(m_Data.btnName) ? table_localtext.Ins.Get_Text(m_Data.n_btnName) : m_Data.btnName;
}
public override void Set_CardType(eUICardType _type)
{
if (_type == eUICardType.UI)
{
if (m_TabType == eTabType.BGColorChange)
images[0].color = m_Data.color_bg_on;
else if (m_TabType == eTabType.BGImageChange)
images[0].sprite = UIAtlasMgr.Ins.Get_Sprite(BGImage_on);
if (images.Length > 1) images[1].sprite = UIAtlasMgr.Ins.Get_Sprite(m_Data.btnImg_on);
}
else
{
if (m_TabType == eTabType.BGColorChange)
images[0].color = m_Data.color_bg_off;
else if (m_TabType == eTabType.BGImageChange)
images[0].sprite = UIAtlasMgr.Ins.Get_Sprite(BGImage_off);
if (images.Length > 1) images[1].sprite = UIAtlasMgr.Ins.Get_Sprite(m_Data.btnImg_off);
}
}
public override int Get_IntData() { return m_Data.m_Index; }
public void OnClick_Tab()
{
m_Data.onTabAction?.Invoke(m_Data.m_Index); // 먼저 실행
m_Data.onClick?.Invoke(); // 다음 실행
}
}