Unity 6.3
0 онлайн 13 гостей 3 в системе
Вход

Client.Search

Declaration

public static PackageManager.Requests.SearchRequest Search(string packageIdOrName);
public static PackageManager.Requests.SearchRequest Search(string packageIdOrName, bool offlineMode);

Параметры

Параметр Описание
packageIdOrName имя или ID пакета. ArgumentException возвращается, если packageIdOrName является null или пустым.
offlineMode Указывает, запрашивает ли Package Manager последнюю информацию о пакетах проекта из удаленного реестра пакетов Unity. Когда offlineMode является true, объект PackageInfo, возвращенный Package Manager, содержит информацию, полученную из локального кэша пакетов, которая может быть устаревшей.

Возвращаемое значение

SearchRequest Экземпляр SearchRequest, который можно использовать для получения массива объектов PackageInfo, представляющих пакеты, соответствующие критериям поиска из свойства SearchRequest.Result.

Описание

Поиск пакетов в реестре пакетов Unity. Возвращает объект SearchRequest, предоставляющий доступ к соответствующим пакетам.

Эта операция отправляет запрос в главный реестр пакета Unity.

Search() является асинхронной операцией. Перед завершением операции вы можете использовать SearchRequest экземпляр для мониторинга асинхронной операции.


Примечание: Перед вызовом этого метода убедитесь, что все другие операции Клиента завершены. Дополнительные сведения см. в примечании к Client справочная страница класса.

using UnityEngine;
using UnityEditor.PackageManager;
using UnityEditor.PackageManager.Requests;
[ExecuteInEditMode]
public class PackageManagerClientSearchExample : MonoBehaviour
{
    SearchRequest m_SearchRequest;
    
    void Start()
    {
        Debug.Log("Client.Search example...");
        m_SearchRequest = Client.Search("com.unity.textmeshpro");
    }
    void Update()
    {
        if (m_SearchRequest != null && m_SearchRequest.IsCompleted)
        {
            if (m_SearchRequest.Status == StatusCode.Success)
            {
                var packages = m_SearchRequest.Result;
                
                if (packages.Length > 0)
                {
                    var package = packages[0];
                    Debug.Log($"Found package: {package.name}" +
                        $"\nVersion: {package.version}" +
                        $"\nDescription: {package.description}");
                }
                else
                {
                    Debug.Log("No packages found");
                }
            }
            else
            {
                Debug.LogError($"Search failed: {m_SearchRequest.Error.message}");
            }
            m_SearchRequest = null;
        }
    }
}

Соответствующая информация