#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;
}
}
}