#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