IPackageManagerExtension.cs
1.3 KB
using UnityEngine.Experimental.UIElements;
namespace UnityEditor.PackageManager.UI
{
/// <summary>
/// Interface for Package Manager UI Extension
/// </summary>
public interface IPackageManagerExtension
{
/// <summary>
/// Creates the extension UI visual element.
/// </summary>
/// <returns>A visual element that represents the UI or null if none</returns>
VisualElement CreateExtensionUI();
/// <summary>
/// Called by the Package Manager UI when the package selection changed.
/// </summary>
/// <param name="packageInfo">The newly selected package information (can be null)</param>
void OnPackageSelectionChange(PackageManager.PackageInfo packageInfo);
/// <summary>
/// Called by the Package Manager UI when a package is added or updated.
/// </summary>
/// <param name="packageInfo">The package information</param>
void OnPackageAddedOrUpdated(PackageManager.PackageInfo packageInfo);
/// <summary>
/// Called by the Package Manager UI when a package is removed.
/// </summary>
/// <param name="packageInfo">The package information</param>
void OnPackageRemoved(PackageManager.PackageInfo packageInfo);
}
}