Singularity/Library/PackageCache/com.unity.collab-proxy@2.0.3/Editor/PlasticSCM/Views/FileSystemOperation.cs
2024-05-06 11:45:45 -07:00

65 lines
1.6 KiB
C#

using System;
using System.Collections.Generic;
using UnityEditor;
using Codice.Client.Common.Threading;
using PlasticGui;
using PlasticGui.WorkspaceWindow.Items;
namespace Unity.PlasticSCM.Editor.Views
{
internal static class FileSystemOperation
{
internal static string GetExePath()
{
string title = PlasticLocalization.GetString(
PlasticLocalization.Name.BrowseForExecutableFile);
string directory = Environment.GetFolderPath(
Environment.SpecialFolder.ProgramFiles);
string path = EditorUtility.OpenFilePanel(title, directory, null);
if (path.Length != 0)
return path;
return null;
}
internal static void Open(List<string> files)
{
try
{
foreach (string file in files)
OpenFile(file);
}
catch (Exception ex)
{
ExceptionsHandler.DisplayException(ex);
}
}
internal static void OpenInExplorer(string path)
{
EditorUtility.RevealInFinder(path);
}
static void OpenFile(string path)
{
if (path == null)
return;
string relativePath = GetRelativePath.ToApplication(path);
bool result = AssetDatabase.OpenAsset(
AssetDatabase.LoadMainAssetAtPath(relativePath));
if (result)
return;
OpenOperation.OpenFile(path);
}
}
}