Events
класс в UnityEditor.PackageManager
Описание
Интерфейс для доступа к событиям диспетчера пакетов. Используйте эти события, чтобы отслеживать изменения пакетов в проекте Unity.
Событие registeringPackages возбуждается перед любыми изменениями пакета. Событие registeredPackages возбуждается после завершения всех изменений. Оба события предоставляют параметры PackageRegistrationEventArgs, которые содержат подробности об изменениях. События обычно сбрасываются во время перезагрузки домена, так что регистрируйте ваши обработчики с помощью [InitializeOnLoad].
using UnityEditor; using UnityEditor.PackageManager; using UnityEngine;
[InitializeOnLoad] public class PackageChangeMonitor { static PackageChangeMonitor() { // Register for package change events Events.registeringPackages += OnPackagesRegistering; Events.registeredPackages += OnPackagesRegistered; }
private static void OnPackagesRegistering(PackageRegistrationEventArgs args) { // Called before packages are changed if (args.added.Count > 0) Debug.Log($"About to add {args.added.Count} packages"); if (args.removed.Count > 0) Debug.Log($"About to remove {args.removed.Count} packages"); }
private static void OnPackagesRegistered(PackageRegistrationEventArgs args) { // Called after packages have changed foreach (var package in args.added) Debug.Log($"Added package: {package.name} ({package.version})"); foreach (var package in args.removed) Debug.Log($"Removed package: {package.name}"); } }
Соответствующая информация
Мероприятия
| Мероприятие | Описание |
|---|---|
| registeredPackages | Событие возникает после применения изменений в списке зарегистрированных пакетов. |
| registeringPackages | Событие возникает перед применением изменений в списке зарегистрированных пакетов. |