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

Client.Add

Declaration

public static PackageManager.Requests.AddRequest Add(string identifier);

Параметры

Параметр Описание
идентификатор Строка, представляющая пакет, который будет добавлен:

- Чтобы установить конкретную версию пакета, используйте идентификатор пакета ("name@version"). Это единственный способ установки пакета. предварительный выпуск версия.
- Чтобы установить последний совместимый (выпущены) версия пакета, указать только пакет имя.
- Чтобы установить пакет git, укажите git адрес.
- Установить местный персонал пакета, укажите значение в формате "file:/path/to/package/folder".
- Установить локальный архив пакета, укажите значение в формате "file:/path/to/package-file.tgz".

ArgumentException бросается, если identifier является null или пустой.

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

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

Описание

Добавление зависимости пакета к проекту. Запрос новой или другой зависимости часто приводит к изменению установленных пакетов, но только после того, как Package Manager построит график зависимости для разрешения любых конфликтов версий.

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

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

Более подробную информацию см. Зависимость и разрешение.

using System;
using UnityEngine;
using UnityEditor.PackageManager;
using UnityEditor.PackageManager.Requests;
[ExecuteInEditMode]
public class PackageManagerClientAddExample : MonoBehaviour
{
    AddRequest m_AddRequest;
    const string k_ValidPackageName = "com.unity.textmeshpro";
    
    void Start()
    {
        Debug.Log("Adding a package via Client.Add...");
        m_AddRequest = Client.Add(k_ValidPackageName);
    }
    void Update()
    {
        if (m_AddRequest != null)
        {
            switch (m_AddRequest.Status)
            {
                case StatusCode.InProgress:
                    Debug.Log("Operation in progress...");
                    return;
                    
                case StatusCode.Success:
                    Debug.Log($"Successfully installed {k_ValidPackageName}");
                    m_AddRequest = null;
                    break;
                    
                case StatusCode.Failure:
                    Debug.LogError($"Operation failed: {m_AddRequest.Error.message}");
                    m_AddRequest = null;
                    break;
            }
        }
    }
}