#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