#nullable enable using System; using TMPro; using UnityEngine; using UnityEngine.UI; namespace UVC.UI.Tab { /// /// 단일 탭 버튼의 UI를 관리하는 컴포넌트입니다. /// public class TabButtonView : MonoBehaviour { [Tooltip("탭 버튼 컴포넌트")] [SerializeField] private Button? button; [Tooltip("탭 이름을 표시할 Text 컴포넌트")] [SerializeField] private TextMeshProUGUI? tabText; [Tooltip("탭 아이콘을 표시할 Image 컴포넌트")] [SerializeField] private Image? tabIcon; [Tooltip("탭 배경 이미지 컴포넌트")] [SerializeField] private Image? background; [Tooltip("탭이 활성화되었을 때의 색상")] [SerializeField] private Color? activeColor;// = Color.white; [Tooltip("탭이 비활성화되었을 때의 색상")] [SerializeField] private Color? inactiveColor;// = new Color(0.8f, 0.8f, 0.8f); private int _tabIndex; private Action? _onTabSelected; private void Awake() { // Button 컴포넌트가 할당되지 않은 경우 자동으로 찾기 if (button == null) button = GetComponent