#if UNITY_2021_1_OR_NEWER
// Copyright (c) Pixel Crushers. All rights reserved.
using System;
using UnityEngine;
using UnityEngine.UIElements;
namespace PixelCrushers.DialogueSystem.UIToolkit
{
///
/// Manages a subtitle panel for UIToolkitDialogueUI.
///
[Serializable]
public class UIToolkitSubtitleElements : AbstractUISubtitleControls
{
[Tooltip("Container panel for subtitle.")]
[SerializeField] private string subtitlePanelName;
[Tooltip("Subtitle text.")]
[SerializeField] private string subtitleLabelName;
[Tooltip("Optional speaker portrait name.")]
[SerializeField] private string portraitLabelName;
[Tooltip("Optional speaker portrait image.")]
[SerializeField] private string portraitImageName;
[Tooltip("Continue button to advance conversation (if mode requires continue button click).")]
[SerializeField] private string continueButtonName;
[Tooltip("Specifies when panel should be visible/hidden.")]
[SerializeField] private UIVisibility visibility;
public bool IsSamePanel(UIToolkitSubtitleElements panel) => panel.subtitlePanelName == this.subtitlePanelName;
public string SubtitlePanelName => subtitlePanelName;
public UIVisibility Visibility => visibility;
protected UIDocument Document { get; set; }
protected VisualElement SubtitlePanel => UIToolkitDialogueUI.GetVisualElement(Document, subtitlePanelName);
protected Label SubtitleLabel => UIToolkitDialogueUI.GetVisualElement