65 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
		
		
			
		
	
	
			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); | |||
|  |         } | |||
|  |     } | |||
|  | } |