#nullable enable using System; using UnityEngine; namespace UVC.UI.Tab { /// /// 단일 탭에 대한 데이터를 보관하는 클래스입니다. /// [Serializable] public class TabData { public string tabID; // 탭 고유 식별자 public string tabName; // 탭 표시 이름 public string contentPath; // 탭 내용을 담고 있는 Prefab 경로 (Resources 폴더 기준) public string tabIconPath; // 탭 아이콘 (선택사항, null 가능) public object? contentData; // 탭 콘텐츠에 전달할 데이터 객체 (null 가능) // 프리팹 경로로 초기화하는 생성자 /// /// 탭 데이터를 초기화합니다. /// /// 탭의 고유 식별자 (예: "inventory", "settings") /// 탭의 표시 이름 (예: "인벤토리", "설정") /// 탭 컨텐츠 프리팹의 리소스 경로 (예: "Prefabs/UI/InventoryTab") /// 탭 아이콘 이미지 리소스 경로(선택사항) /// 탭 컨텐츠에 전달할 초기 데이터 (선택사항) public TabData(string id, string name, string path, string iconPath = "", object? data = null) { tabID = id; tabName = name; contentPath = path; tabIconPath = iconPath; contentData = data; } } }