using System;
using System.Collections.Generic;
using UnityEngine;

namespace UVC.Twin.MonitoringUI
{
    /// <summary>
    /// 사이드 메뉴 선택 시 활성화할 UI 패널 종류
    /// </summary>
    public enum UIViewState
    {
        None,
        CuttingOverview,
    }

    [CreateAssetMenu(fileName = "MonitoringUIConfig", menuName = "UVC/Monitoring UI Config")]
    public class MonitoringUIConfig : ScriptableObject
    {
        [Header("사이드 메뉴 목록")]
        [SerializeField] public List<SideMenuItem> SideMenuItems = new();

    }

    [Serializable]
    public class SideMenuItem
    {
        [Header("사이드 메뉴 버튼")]
        [Tooltip("원형 버튼 안의 짧은 텍스트")]
        [SerializeField] public string Label = "i";

        [Tooltip("버튼 옆에 표시되는 이름")]
        [SerializeField] public string DisplayName;

        [Header("상단 네비게이션 탭")]
        [Tooltip("이 메뉴 선택 시 표시될 탭 이름 목록")]
        [SerializeField] public List<string> NavigationTabs = new();

        [Tooltip("기본 선택 탭 (-1이면 선택 없음, 0부터 시작)")]
        [SerializeField] public int DefaultTabIndex = -1;

        [Header("UI 상태")]
        [Tooltip("이 메뉴 선택 시 활성화할 UI 패널 종류")]
        [SerializeField] public UIViewState ViewState;
    }

}
