using System; using System.Collections.Generic; using UnityEngine; public enum eTabType { BGColorChange, BGImageChange, OnOff } public class TabUIData { /// /// (자동설정) 탭 순서 0~ /// public int m_Index; public string btnImg_on, btnImg_off; public string btnNameImage_on, btnNameImage_off; public int n_btnName = 0; public string btnName; public Color color_bg_on = Color.white; public Color color_bg_off = Color.gray; public int n_Update = 0; public bool CanTouch = true; public Action onClick; /// /// (자동설정) 선택된 탭 설정, 탭 UI 상태 갱신 /// public Action onTabAction; } public class TabUIBase : uScrollViewMgr { int m_Index = 0; List list_tabData; public void Set(List lst) { if (go_card.activeSelf) go_card.SetActive(false); for (int i = 0; i < lst.Count; i++) { lst[i].m_Index = i; lst[i].onTabAction = OnClick_Tab; } list_tabData = lst; Set_ScrollView(lst); Set_UI(); } public override void Set_UI() { for (int i = 0; i < list_CardBase.Count; i++) { if (list_CardBase[i].Get_IntData() == m_Index) list_CardBase[i].Set_CardType(eUICardType.UI); else list_CardBase[i].Set_CardType(eUICardType.NoTouch); } } public void Set_Index(int index) { m_Index = index; } public int Get_Index() { return m_Index; } public void OnClick_Tab_byScript(int index) { for (int i = 0; i < list_CardBase.Count; i++) { if (list_CardBase[i].Get_IntData() == index) { (list_CardBase[i] as TabCardBase).OnClickTab_Force(); break; } } } void OnClick_Tab(int index) { if (list_tabData[index].n_Update > 0) Popup.Ins.Set(ePopupType.One, list_tabData[index].n_Update); else { m_Index = index; Set_UI(); } } }