PackageCollection
класс в UnityEditor.PackageManager
Описание
Класс-коллекция, представляющий все пакеты в проекте Unity и обеспечивающий перечисление и обработку ошибок для операций управления пакетами.
Инструменты IEnumerable <PackageInfo> interface.
Класс PackageCollection служит контейнером для PackageInfo объектов, представляющих все пакеты в проекте Unity. Информация PackageCollection обычно получается в результате Client.ListИспользуйте PackageCollection для итерации пакетов и проверки на ошибки на уровне коллекции, которые могут возникнуть во время разрешения пакетов.
using UnityEditor.PackageManager; using UnityEditor.PackageManager.Requests; using UnityEngine;
public class PackageExample { void ListAllPackages() { ListRequest request = Client.List(); while(!request.IsCompleted) {}
if (request.Status == StatusCode.Success) { PackageCollection packages = request.Result; // Check for collection-level errors if (packages.error != null) { Debug.LogError($"Collection error: {packages.error}"); return; }
// Enumerate through packages foreach (PackageInfo package in packages) { Debug.Log($"Found package: {package.name} @ {package.version}"); } } } }
Замечания
- После того, как PackageCollection создан, он неизменен.
- Порядок перечисления пакетов не гарантируется.
- Ошибки на уровне коллекции указывают на проблемы с общим разрешением пакетов, а не с отдельными пакетами.
- Коллекция может содержать прямые зависимости и транзитивные зависимости.
- Используйте в сочетании с Client.List() для получения обновленного представления пакетов проекта.
Соответствующая информация
Свойства
| Свойство | Описание |
|---|---|
| error | Ошибка, связанная с коллекцией пакетов. |