#if UNITY_2021_1_OR_NEWER
// Copyright (c) Pixel Crushers. All rights reserved.
using System;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UIElements;
namespace PixelCrushers.DialogueSystem.UIToolkit
{
///
/// Manages a response menu for UIToolkitDialogueUI.
///
[Serializable]
public class UIToolkitResponseMenuElements : AbstractUIResponseMenuControls
{
// [TODO] Options to consider: Autonumber
[Tooltip("Container panel for response menu.")]
[SerializeField] private string responseMenuPanelName;
[Tooltip("Progress bar for optional timer. Value range should be 0-1.")]
[SerializeField] private string timerProgressBarName;
[Tooltip("Optional player portrait name.")]
[SerializeField] private string portraitLabelName;
[Tooltip("Optional player portrait image.")]
[SerializeField] private string portraitImageName;
[Tooltip("List of all available response buttons. The dialogue UI will use these to fill out the menu.")]
[SerializeField] private List responseButtonNames;
protected UIDocument Document { get; set; }
public override AbstractUISubtitleControls subtitleReminderControls => null;
protected VisualElement ResponseMenuPanel => UIToolkitDialogueUI.GetVisualElement(Document, responseMenuPanelName);
protected ProgressBar TimerProgressBar => UIToolkitDialogueUI.GetVisualElement(Document, timerProgressBarName);
protected Label PortraitLabel => UIToolkitDialogueUI.GetVisualElement