A game about forced loneliness, made by TACStudios
1using System.Collections.Generic;
2
3using UnityEditor;
4
5using Codice.CM.Common;
6using PlasticGui;
7using PlasticGui.WorkspaceWindow;
8using Unity.PlasticSCM.Editor.AssetsOverlays.Cache;
9using Unity.PlasticSCM.Editor.AssetUtils;
10
11namespace Unity.PlasticSCM.Editor.AssetMenu
12{
13 internal class AssetCopyPathOperation : IAssetMenuCopyPathOperation
14 {
15 internal AssetCopyPathOperation(
16 WorkspaceInfo wkInfo,
17 IPlasticAPI plasticApi,
18 IAssetStatusCache assetStatusCache,
19 AssetVcsOperations.IAssetSelection assetSelection)
20 {
21 mWkInfo = wkInfo;
22 mPlasticAPI = plasticApi;
23 mAssetStatusCache = assetStatusCache;
24 mAssetSelection = assetSelection;
25 }
26
27 void IAssetMenuCopyPathOperation.CopyFilePath(bool relativePath)
28 {
29 List<string> selectedPaths = GetSelectedPaths.ForOperation(
30 mWkInfo,
31 mAssetSelection.GetSelectedAssets(),
32 mPlasticAPI,
33 mAssetStatusCache,
34 AssetMenuOperations.CopyFilePath,
35 includeMetaFiles: false);
36
37 EditorGUIUtility.systemCopyBuffer = GetFilePathList.FromSelectedPaths(
38 selectedPaths,
39 relativePath,
40 mWkInfo.ClientPath);
41 }
42
43 readonly WorkspaceInfo mWkInfo;
44 readonly IPlasticAPI mPlasticAPI;
45 readonly IAssetStatusCache mAssetStatusCache;
46 readonly AssetVcsOperations.IAssetSelection mAssetSelection;
47 }
48}