38 lines
1.5 KiB
C#
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;
|
|
}
|
|
}
|
|
}
|