diff options
Diffstat (limited to 'Assets/AmplifyShaderEditor/Plugins/Editor/Menu/AmplifyShaderFunctionEditor.cs')
-rw-r--r-- | Assets/AmplifyShaderEditor/Plugins/Editor/Menu/AmplifyShaderFunctionEditor.cs | 152 |
1 files changed, 0 insertions, 152 deletions
diff --git a/Assets/AmplifyShaderEditor/Plugins/Editor/Menu/AmplifyShaderFunctionEditor.cs b/Assets/AmplifyShaderEditor/Plugins/Editor/Menu/AmplifyShaderFunctionEditor.cs deleted file mode 100644 index b5e3e4d4..00000000 --- a/Assets/AmplifyShaderEditor/Plugins/Editor/Menu/AmplifyShaderFunctionEditor.cs +++ /dev/null @@ -1,152 +0,0 @@ -using UnityEngine; -using UnityEditor; -using System; -using System.Text.RegularExpressions; -using System.IO; -using System.Collections.Generic; - -namespace AmplifyShaderEditor -{ - [CustomEditor( typeof( AmplifyShaderFunction ) )] - public class AmplifyShaderFunctionEditor : Editor - { - class FunctionDependency - { - public string AssetName; - public string AssetPath; - public FunctionDependency(string name, string path) - { - AssetName = name; - AssetPath = path; - } - } - - AmplifyShaderFunction m_target; - List<FunctionDependency> m_dependencies = new List<FunctionDependency>(); - - void OnEnable() - { - m_target = ( target as AmplifyShaderFunction ); - } - - public override void OnInspectorGUI() - { - //base.OnInspectorGUI(); - //base.serializedObject.Update(); - if( GUILayout.Button( "Open in Shader Editor" ) ) - { -#if UNITY_2018_3_OR_NEWER - ASEPackageManagerHelper.SetupLateShaderFunction( m_target ); -#else - AmplifyShaderEditorWindow.LoadShaderFunctionToASE( m_target, false ); -#endif - } - //EditorGUILayout.Separator(); - //m_target.FunctionInfo = EditorGUILayout.TextArea( m_target.FunctionInfo ); - - if( m_target.Description.Length > 0 ) - { - EditorGUILayout.HelpBox( m_target.Description, MessageType.Info ); - } - - EditorGUILayout.Space(); - if( GUILayout.Button( "Search Direct Dependencies" ) ) - { - m_dependencies.Clear(); - string guid = AssetDatabase.AssetPathToGUID( AssetDatabase.GetAssetPath( m_target ) ); - - string[] allSFs = AssetDatabase.FindAssets( "t:AmplifyShaderFunction", null ); - foreach( string guid1 in allSFs ) - { - string sfPath = AssetDatabase.GUIDToAssetPath( guid1 ); - bool found = SearchForGUID( guid, sfPath ); - if( found ) - { - //string n = Regex.Replace( sfPath, @"(\.\w+|[\w\d\/]+\/)", "" ); - string n = Regex.Replace( sfPath, @"[\w\d\/]+\/", "" ); - m_dependencies.Add(new FunctionDependency( n, sfPath ) ); - } - } - - string[] allSHs = AssetDatabase.FindAssets( "t:Shader", null ); - foreach( string guid1 in allSHs ) - { - string shPath = AssetDatabase.GUIDToAssetPath( guid1 ); - bool found = SearchForGUID( guid, shPath ); - if( found ) - { - string n = Regex.Replace( shPath, @"[\w\d\/]+\/", "" ); - m_dependencies.Add( new FunctionDependency( n, shPath ) ); - } - } - } - EditorGUILayout.Space(); - for( int i = 0; i < m_dependencies.Count; i++ ) - { - EditorGUILayout.BeginHorizontal(); - if( GUILayout.Button( m_dependencies[ i ].AssetName, "minibuttonleft" ) ) - { - SelectAtPath( m_dependencies[ i ].AssetPath ); - } - if( GUILayout.Button( "edit", "minibuttonright", GUILayout.Width(100) ) ) - { - if( m_dependencies[ i ].AssetName.EndsWith( ".asset" ) ) - { - var obj = AssetDatabase.LoadAssetAtPath<AmplifyShaderFunction>( m_dependencies[ i ].AssetPath ); - AmplifyShaderEditorWindow.LoadShaderFunctionToASE( obj, false ); - } - else - { - var obj = AssetDatabase.LoadAssetAtPath<Shader>( m_dependencies[ i ].AssetPath ); - AmplifyShaderEditorWindow.ConvertShaderToASE( obj ); - } - } - EditorGUILayout.EndHorizontal(); - } - } - - public void SelectAtPath( string path ) - { - var obj = AssetDatabase.LoadAssetAtPath<UnityEngine.Object>( path ); - EditorGUIUtility.PingObject( obj ); - } - - public static bool SearchForGUID( string guid, string pathName ) - { - bool result = false; - int count = 0; - if( !string.IsNullOrEmpty( pathName ) && File.Exists( pathName ) ) - { - StreamReader fileReader = null; - try - { - fileReader = new StreamReader( pathName ); - - string line; - int index = -1; - while( ( line = fileReader.ReadLine() ) != null ) - { - index = line.IndexOf( guid ); - count++; - - if( index > -1 ) - { - result = true; - break; - } - } - } - catch( Exception e ) - { - Debug.LogException( e ); - } - finally - { - if( fileReader != null ) - fileReader.Close(); - } - } - return result; - } - } -} |