Net-Game/Library/PackageCache/com.unity.collab-proxy@50ac96531b63/Editor/AssetMenu/AssetCopyPathOperation.cs
2025-03-28 08:33:16 -04:00

43 lines
1.4 KiB
C#

using System.Collections.Generic;
using UnityEditor;
using PlasticGui.WorkspaceWindow;
using Unity.PlasticSCM.Editor.AssetsOverlays.Cache;
using Unity.PlasticSCM.Editor.AssetUtils;
namespace Unity.PlasticSCM.Editor.AssetMenu
{
internal class AssetCopyPathOperation : IAssetMenuCopyPathOperation
{
internal AssetCopyPathOperation(
string workspacePath,
IAssetStatusCache assetStatusCache,
AssetVcsOperations.IAssetSelection assetSelection)
{
mWorkspacePath = workspacePath;
mAssetStatusCache = assetStatusCache;
mAssetSelection = assetSelection;
}
void IAssetMenuCopyPathOperation.CopyFilePath(bool relativePath)
{
List<string> selectedPaths = GetSelectedPaths.ForOperation(
mWorkspacePath,
mAssetSelection.GetSelectedAssets(),
mAssetStatusCache,
AssetMenuOperations.CopyFilePath,
includeMetaFiles: false);
EditorGUIUtility.systemCopyBuffer = GetFilePathList.FromSelectedPaths(
selectedPaths,
relativePath,
mWorkspacePath);
}
readonly string mWorkspacePath;
readonly IAssetStatusCache mAssetStatusCache;
readonly AssetVcsOperations.IAssetSelection mAssetSelection;
}
}