diff options
Diffstat (limited to 'Assets/AmplifyShaderEditor/Plugins/Editor/Templates/TemplatePassSelectorHelper.cs')
-rw-r--r-- | Assets/AmplifyShaderEditor/Plugins/Editor/Templates/TemplatePassSelectorHelper.cs | 167 |
1 files changed, 0 insertions, 167 deletions
diff --git a/Assets/AmplifyShaderEditor/Plugins/Editor/Templates/TemplatePassSelectorHelper.cs b/Assets/AmplifyShaderEditor/Plugins/Editor/Templates/TemplatePassSelectorHelper.cs deleted file mode 100644 index e85a92d3..00000000 --- a/Assets/AmplifyShaderEditor/Plugins/Editor/Templates/TemplatePassSelectorHelper.cs +++ /dev/null @@ -1,167 +0,0 @@ -using UnityEditor; -using UnityEngine; -using System; -using System.Collections.Generic; - -namespace AmplifyShaderEditor -{ - [Serializable] - public class PassVisibleOptionsItems - { - public bool Visible; - public string Name; - public int Idx = -1; - } - - [Serializable] - public class TemplatePassSelectorHelper - { - private const string Label = " Available Passes"; - - [SerializeField] - private bool m_foldout; - - [SerializeField] - private PassVisibleOptionsItems[] m_currentPasses; - - [NonSerialized] - private Dictionary<string, PassVisibleOptionsItems> m_currentPassesDict; - - [SerializeField] - private int m_mainPassId; - - public void CopyFrom( TemplatePassSelectorHelper from ) - { - for( int i = 0; i < from.AvailablePasses.Length; i++ ) - { - SetPassVisible( from.AvailablePasses[ i ].Name, from.AvailablePasses[ i ].Visible ); - } - } - - public void Setup( TemplateSubShader subShader ) - { - if( m_currentPasses == null ) - { - m_currentPassesDict = new Dictionary<string, PassVisibleOptionsItems>(); - m_currentPasses = new PassVisibleOptionsItems[ subShader.Passes.Count ]; - for( int i = 0; i < m_currentPasses.Length; i++ ) - { - if( subShader.Passes[ i ].IsMainPass ) - m_mainPassId = i; - - m_currentPasses[ i ] = new PassVisibleOptionsItems() { Name = subShader.Passes[ i ].PassNameContainer.Data, Visible = true, Idx = i }; - m_currentPassesDict.Add( m_currentPasses[ i ].Name, m_currentPasses[ i ] ); - } - } - } - - public void Clear() - { - m_currentPasses = null; - - if( m_currentPassesDict != null ) - m_currentPassesDict.Clear(); - - m_currentPassesDict = null; - } - - public void Destroy() - { - m_currentPasses = null; - - if( m_currentPassesDict != null ) - m_currentPassesDict.Clear(); - - m_currentPassesDict = null; - } - - public void Draw( TemplateMultiPassMasterNode owner ) - { - if( m_currentPasses.Length < 2 ) - return; - - NodeUtils.DrawNestedPropertyGroup( ref m_foldout, Label, () => - { - for( int i = 0; i < m_currentPasses.Length; i++ ) - { - EditorGUI.BeginChangeCheck(); - m_currentPasses[ i ].Visible = owner.EditorGUILayoutToggleLeft( m_currentPasses[ i ].Name, m_currentPasses[ i ].Visible ); - if( EditorGUI.EndChangeCheck() ) - { - owner.ContainerGraph.GetMultiPassMasterNodes( owner.LODIndex)[ m_currentPasses[ i ].Idx ].IsInvisible = !m_currentPasses[ i ].Visible; - } - - } - EditorGUILayout.Space(); - } ); - } - - public void ReadFromString( ref uint index, ref string[] nodeParams ) - { - int passAmount = Convert.ToInt32( nodeParams[ index++ ] ); - for( int i = 0; i < passAmount; i++ ) - { - bool value = Convert.ToBoolean( nodeParams[ index++ ] ); - if( i < m_currentPasses.Length ) - { - m_currentPasses[ i ].Visible = value; - } - } - } - - public void WriteToString( ref string nodeInfo ) - { - IOUtils.AddFieldValueToString( ref nodeInfo, m_currentPasses.Length ); - for( int i = 0; i < m_currentPasses.Length; i++ ) - { - IOUtils.AddFieldValueToString( ref nodeInfo, m_currentPasses[ i ].Visible ); - } - } - - public void SetPassVisible( string passName, bool visible ) - { - bool refresh = false; - if( m_currentPassesDict == null ) - { - m_currentPassesDict = new Dictionary<string, PassVisibleOptionsItems>(); - refresh = true; - } - else if( m_currentPassesDict.Count != m_currentPasses.Length ) - { - refresh = true; - } - - if( refresh ) - { - for( int i = 0; i < m_currentPasses.Length; i++ ) - { - m_currentPassesDict.Add( m_currentPasses[ i ].Name, m_currentPasses[ i ] ); - } - } - - if( m_currentPassesDict.ContainsKey( passName ) ) - { - m_currentPassesDict[ passName ].Visible = visible; - } - } - - public int LastActivePass - { - get - { - if( m_currentPasses != null ) - { - for( int i = m_currentPasses.Length - 1; i > -1; i-- ) - { - if( m_currentPasses[ i ].Visible ) - return i; - } - } - m_currentPasses[ m_mainPassId ].Visible = true; - return m_mainPassId; - } - } - public bool IsVisible( int passId ) { return m_currentPasses[ passId ].Visible; } - private PassVisibleOptionsItems[] AvailablePasses { get { return m_currentPasses; } } - } -} |