#if UNITY_2019_4_OR_NEWER
using System;
using System.Collections.Generic;
using UnityEditor;
using UnityEngine;
using UnityEngine.UIElements;
using com.zibra.liquid.Foundation.Editor;
using com.zibra.liquid.Foundation.UIElements;
using UnityEditor.UIElements;
namespace com.zibra.liquid.Plugins.Editor
{
///
/// Base class for Plugin Settings Window
///
///
public abstract class PackageSettingsWindow : EditorWindow
where TWindow : EditorWindow
{
internal abstract IPackageInfo GetPackageInfo();
protected abstract void OnWindowEnable(VisualElement root);
internal ButtonStrip m_TabsButtons;
protected ScrollView m_TabsContainer;
protected readonly Dictionary m_Tabs = new Dictionary();
readonly string m_WindowUIFilesRootPath = $"{ZibraAIPackage.UIToolkitPath}/SettingsWindow";
void OnEnable()
{
var root = rootVisualElement;
UIToolkitEditorUtility.CloneTreeAndApplyStyle(root, $"{m_WindowUIFilesRootPath}/PackageSettingsWindow");
var documentationButton = root.Q("toolbar-button");
documentationButton.clicked += () => Application.OpenURL(ZibraAIPackage.ZibraAiWebsiteRootUrl);
m_TabsContainer = root.Q("tabs-container");
var packageInfo = GetPackageInfo();
root.Q