|
|
- // Amplify Shader Editor - Visual Shader Editing Tool
- // Copyright (c) Amplify Creations, Lda <info@amplify.pt>
-
- using UnityEditor;
- using System.Collections.Generic;
- using System;
- using UnityEngine;
-
- namespace AmplifyShaderEditor
- {
- [Serializable]
- public class ShaderLibrary : EditorWindow
- {
- private const string SHADER_LIB_FILE = "/AmplifyShaderEditor/Resources/ShaderLibrary/ShaderLibrary.txt";
- private bool m_init = false;
- private Vector2 m_scrollPos = new Vector2();
- [SerializeField]
- private List<string> m_shaders = new List<string>();
- void Init()
- {
- m_init = true;
- string list = IOUtils.LoadTextFileFromDisk( Application.dataPath + SHADER_LIB_FILE );
- if ( String.IsNullOrEmpty( list ) )
- return;
-
- string[] listArr = list.Split( IOUtils.FIELD_SEPARATOR );
- for ( int i = 0; i < listArr.Length; i++ )
- {
- m_shaders.Add( listArr[ i ] );
- }
-
- UIUtils.MainSkin.customStyles[ 10 ].active.background = Texture2D.whiteTexture;
-
- UIUtils.MainSkin.customStyles[ 6 ].fixedHeight = UIUtils.MainSkin.customStyles[ 6 ].normal.background.height;
- UIUtils.MainSkin.customStyles[ 6 ].fixedWidth = UIUtils.MainSkin.customStyles[ 6 ].normal.background.width;
-
- UIUtils.MainSkin.customStyles[ 7 ].fixedHeight = UIUtils.MainSkin.customStyles[ 7 ].normal.background.height;
- UIUtils.MainSkin.customStyles[ 7 ].fixedWidth = UIUtils.MainSkin.customStyles[ 7 ].normal.background.width;
-
- UIUtils.MainSkin.customStyles[ 8 ].fixedHeight = UIUtils.MainSkin.customStyles[ 8 ].normal.background.height;
- UIUtils.MainSkin.customStyles[ 8 ].fixedWidth = UIUtils.MainSkin.customStyles[ 8 ].normal.background.width;
-
- UIUtils.MainSkin.customStyles[ 9 ].fixedHeight = UIUtils.MainSkin.customStyles[ 9 ].normal.background.height;
- UIUtils.MainSkin.customStyles[ 9 ].fixedWidth = UIUtils.MainSkin.customStyles[ 9 ].normal.background.width;
-
- }
-
- void OnGUI()
- {
- if ( !m_init )
- {
- Init();
- }
-
- Rect availableArea = position;
-
- availableArea.y = 100f;
- availableArea.x = 0.05f * availableArea.width;
- availableArea.height *= 0.5f;
- availableArea.width *= 0.9f;
- EditorGUILayout.BeginVertical();
- {
- EditorGUILayout.LabelField( "Shader Library", UIUtils.MainSkin.customStyles[ 5 ] );
- GUILayout.Space( 10 );
- EditorGUILayout.BeginHorizontal();
- {
- GUILayout.Space( 0.05f * position.width );
- GUILayout.Button( string.Empty, UIUtils.MainSkin.customStyles[ 8 ] );
- GUILayout.Button( string.Empty, UIUtils.MainSkin.customStyles[ 9 ] );
- GUILayout.Space( 0.8f*position.width );
- GUILayout.Button( string.Empty, UIUtils.MainSkin.customStyles[ 7 ] );
- GUILayout.Button( string.Empty, UIUtils.MainSkin.customStyles[ 6 ] );
- }
- EditorGUILayout.EndHorizontal();
-
- GUILayout.BeginArea( availableArea );
- m_scrollPos = EditorGUILayout.BeginScrollView( m_scrollPos, UIUtils.MainSkin.box );
- {
- for ( int i = 0; i < m_shaders.Count; i++ )
- {
- GUILayout.Button( m_shaders[ i ], UIUtils.MainSkin.customStyles[ 10 ] );
- }
- }
- EditorGUILayout.EndScrollView();
- GUILayout.EndArea();
- }
- EditorGUILayout.EndVertical();
-
- }
- }
- }
|