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

PackOperationResult

класс в UnityEditor.PackageManager

Описание

Информация, содержащая результат операции пакета пакета. Эта информация включает путь к созданному файлу tarball.

Примечания::

  • PackOperationResult является результатом операций Client.Pack.
  • Tarball — это архив tar с gzip, который содержит пакет.
  • Используйте архив для локальной установки или распространения.
using UnityEditor;
using UnityEditor.PackageManager;
using UnityEngine;
using UnityEditor.PackageManager.Requests;

public class PackagePackerExample : EditorWindow { [MenuItem("Window/Package Packer")] public static void ShowWindow() { GetWindow<PackagePackerExample>("Package Packer"); }

string m_PackageFolder = ""; string m_OutputFolder = ""; PackRequest m_PackRequest;

void OnGUI() { GUILayout.Label("Package Packer", EditorStyles.boldLabel);

// Package folder selection EditorGUILayout.BeginHorizontal(); m_PackageFolder = EditorGUILayout.TextField("Package Folder", m_PackageFolder); if (GUILayout.Button("Browse", GUILayout.Width(60))) { m_PackageFolder = EditorUtility.OpenFolderPanel("Select Package Folder", "", ""); } EditorGUILayout.EndHorizontal();

// Output folder selection EditorGUILayout.BeginHorizontal(); m_OutputFolder = EditorGUILayout.TextField("Output Folder", m_OutputFolder); if (GUILayout.Button("Browse", GUILayout.Width(60))) { m_OutputFolder = EditorUtility.OpenFolderPanel("Select Output Folder", "", ""); } EditorGUILayout.EndHorizontal();

if (GUILayout.Button("Pack Package")) { // Validating paths is good practice, but skipped in this example PackPackage(); } }

void PackPackage() { EditorUtility.DisplayProgressBar("Package Packer", "Creating package tarball...", 0.5f);

m_PackRequest = Client.Pack(m_PackageFolder, m_OutputFolder); EditorApplication.update += TrackPackOperationProgress; }

void TrackPackOperationProgress() { try { if (m_PackRequest.IsCompleted) { EditorApplication.update -= TrackPackOperationProgress; EditorUtility.ClearProgressBar();

if (m_PackRequest.Status == StatusCode.Success) { // The Result property on the next line is the PackOperationResult var tarballPath = m_PackRequest.Result.tarballPath; Debug.Log($"Package created successfully at: {tarballPath}");

// Show in file browser EditorUtility.RevealInFinder(tarballPath); } else { Debug.LogError($"Failed to create package: {m_PackRequest.Error.message}"); } } } catch { Debug.LogError("Pack operation failed."); EditorApplication.update -= TrackPackOperationProgress; } } }

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

Свойства

Свойство Описание
tarballPathПуть к файлу, созданному операцией Client.Pack.