Files

38 lines
1.5 KiB
C#

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