summaryrefslogtreecommitdiff
path: root/Assets/ThirdParty/AmplifyShaderEditor/Plugins/Editor/Utils/SamplerStateAutoGenerator.cs
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2022-03-10 14:07:40 +0800
committerchai <chaifix@163.com>2022-03-10 14:07:40 +0800
commit22891bf59032ba88262824255a706d652031384b (patch)
tree7595439ba9966c9402d37e37cee5e8cf098757d5 /Assets/ThirdParty/AmplifyShaderEditor/Plugins/Editor/Utils/SamplerStateAutoGenerator.cs
parent8b04ea73e540067f83870b61d89db4868fea5e8a (diff)
* move folder
Diffstat (limited to 'Assets/ThirdParty/AmplifyShaderEditor/Plugins/Editor/Utils/SamplerStateAutoGenerator.cs')
-rw-r--r--Assets/ThirdParty/AmplifyShaderEditor/Plugins/Editor/Utils/SamplerStateAutoGenerator.cs203
1 files changed, 0 insertions, 203 deletions
diff --git a/Assets/ThirdParty/AmplifyShaderEditor/Plugins/Editor/Utils/SamplerStateAutoGenerator.cs b/Assets/ThirdParty/AmplifyShaderEditor/Plugins/Editor/Utils/SamplerStateAutoGenerator.cs
deleted file mode 100644
index 8be253c4..00000000
--- a/Assets/ThirdParty/AmplifyShaderEditor/Plugins/Editor/Utils/SamplerStateAutoGenerator.cs
+++ /dev/null
@@ -1,203 +0,0 @@
-// Amplify Shader Editor - Visual Shader Editing Tool
-// Copyright (c) Amplify Creations, Lda <info@amplify.pt>
-
-using System;
-using System.Collections.Generic;
-using UnityEngine;
-using UnityEditor;
-
-namespace AmplifyShaderEditor
-{
- public enum InlineSamplerFilteringMode
- {
- Point,
- Linear,
- Trilinear
- };
-
- public enum InlineSamplerWrapMode
- {
- Clamp,
- Repeat,
- Mirror,
- MirrorOnce
- };
-
- public enum InlineSamplerWrapCoordinates
- {
- All,
- U,
- V,
- W
- };
-
- [Serializable]
- public class InlineSamplerWrapOptions
- {
- public InlineSamplerWrapMode WrapMode = InlineSamplerWrapMode.Clamp;
- public InlineSamplerWrapCoordinates Coordinates = InlineSamplerWrapCoordinates.All;
- public string InlineValue
- {
- get
- {
- string name = "_"+WrapMode.ToString();
- if( Coordinates != InlineSamplerWrapCoordinates.All )
- name += Coordinates.ToString();
- name += "_";
- return name;
- }
- }
- }
-
- [Serializable]
- public class SamplerStateAutoGenerator
- {
- private const int MaxCount = 3;
- private const float ButtonLayoutWidth = 15;
- private const string AdditionalWrapsStr = "Additional Wraps";
- private const string InlineSamplerStateStr = "Inline Sampler State";
-
- [SerializeField]
- private InlineSamplerFilteringMode m_filterMode = InlineSamplerFilteringMode.Point;
-
- [SerializeField]
- private InlineSamplerWrapOptions m_mainWrapMode = new InlineSamplerWrapOptions();
-
- [SerializeField]
- private List<InlineSamplerWrapOptions> m_additionalWrapOptions = new List<InlineSamplerWrapOptions>();
-
- [SerializeField]
- private bool m_visibleWrapsFoldout = false;
-
- [SerializeField]
- private bool m_visibleMainFoldout = false;
-
- [NonSerialized]
- private UndoParentNode m_owner;
-
- public void Destroy()
- {
- m_mainWrapMode = null;
- m_additionalWrapOptions.Clear();
- m_additionalWrapOptions = null;
- }
-
- public string AddToDataCollector( ref MasterNodeDataCollector dataCollector )
- {
- string inlineSampler = "sampler_";
-
- inlineSampler += m_filterMode.ToString();
- inlineSampler += m_mainWrapMode.InlineValue;
-
- int count = m_additionalWrapOptions.Count;
- for( int i = 0; i < count; i++ )
- {
- inlineSampler += m_additionalWrapOptions[ i ].InlineValue;
- }
- return inlineSampler;
- }
-
- void DrawAddRemoveButtons()
- {
- int count = m_additionalWrapOptions.Count;
- if( count < MaxCount && m_owner.GUILayoutButton( string.Empty, UIUtils.PlusStyle, GUILayout.Width( ButtonLayoutWidth ) ) )
- {
- m_additionalWrapOptions.Add( new InlineSamplerWrapOptions() );
- EditorGUI.FocusTextInControl( null );
- }
-
- if( count > 0 && m_owner.GUILayoutButton( string.Empty, UIUtils.MinusStyle, GUILayout.Width( ButtonLayoutWidth ) ) )
- {
- m_additionalWrapOptions.RemoveAt( count - 1 );
- EditorGUI.FocusTextInControl( null );
- }
- }
-
- public void Draw( UndoParentNode owner )
- {
- m_owner = owner;
- NodeUtils.DrawNestedPropertyGroup( ref m_visibleMainFoldout, InlineSamplerStateStr, DrawMain );
- }
-
- void DrawMain()
- {
- m_filterMode = (InlineSamplerFilteringMode)m_owner.EditorGUILayoutEnumPopup( m_filterMode );
-
- EditorGUILayout.BeginHorizontal();
- m_mainWrapMode.WrapMode = (InlineSamplerWrapMode)m_owner.EditorGUILayoutEnumPopup( m_mainWrapMode.WrapMode );
- m_mainWrapMode.Coordinates = (InlineSamplerWrapCoordinates)m_owner.EditorGUILayoutEnumPopup( m_mainWrapMode.Coordinates );
- EditorGUILayout.EndHorizontal();
- NodeUtils.DrawNestedPropertyGroup( ref m_visibleWrapsFoldout, AdditionalWrapsStr, DrawAdditionalWrapModes, DrawAddRemoveButtons );
- }
-
- void DrawAdditionalWrapModes()
- {
- EditorGUILayout.Space();
- int count = m_additionalWrapOptions.Count;
- for( int i = 0; i < count; i++ )
- {
- float maxWidth = 90;
- EditorGUILayout.BeginHorizontal();
- m_additionalWrapOptions[ i ].WrapMode = (InlineSamplerWrapMode)m_owner.EditorGUILayoutEnumPopup( m_additionalWrapOptions[ i ].WrapMode ,GUILayout.MaxWidth( maxWidth ) );
- m_additionalWrapOptions[ i ].Coordinates = (InlineSamplerWrapCoordinates)m_owner.EditorGUILayoutEnumPopup( m_additionalWrapOptions[ i ].Coordinates, GUILayout.MaxWidth( maxWidth ) );
- EditorGUILayout.EndHorizontal();
- }
- }
-
- public void ReadFromString( ref uint index, ref string[] nodeParams )
- {
-#if UNITY_2019_3_OR_NEWER
- Enum.TryParse<InlineSamplerFilteringMode>( nodeParams[ index++ ], out m_filterMode );
- Enum.TryParse<InlineSamplerWrapCoordinates>( nodeParams[ index++ ], out m_mainWrapMode.Coordinates );
-
- int count = 0;
- int.TryParse( nodeParams[ index++ ], out count );
- for( int i = 0; i < count; i++ )
- {
- InlineSamplerWrapOptions option = new InlineSamplerWrapOptions();
-
- Enum.TryParse<InlineSamplerWrapMode>( nodeParams[ index++ ], out option.WrapMode );
- Enum.TryParse<InlineSamplerWrapCoordinates>( nodeParams[ index++ ], out option.Coordinates );
-
- m_additionalWrapOptions.Add( option );
- }
-#else
- m_filterMode =(InlineSamplerFilteringMode) Enum.Parse( typeof( InlineSamplerFilteringMode ), nodeParams[ index++ ] );
- m_mainWrapMode.Coordinates = (InlineSamplerWrapCoordinates)Enum.Parse( typeof( InlineSamplerWrapCoordinates ),nodeParams[ index++ ] );
-
- int count = 0;
- int.TryParse( nodeParams[ index++ ], out count );
- for( int i = 0; i < count; i++ )
- {
- InlineSamplerWrapOptions option = new InlineSamplerWrapOptions();
-
- option.WrapMode = ( InlineSamplerWrapMode)Enum.Parse(typeof( InlineSamplerWrapMode ), nodeParams[ index++ ] );
- option.Coordinates = ( InlineSamplerWrapCoordinates)Enum.Parse(typeof( InlineSamplerWrapCoordinates ), nodeParams[ index++ ] );
-
- m_additionalWrapOptions.Add( option );
- }
-#endif
-
- }
-
- public void WriteToString( ref string nodeInfo )
- {
- IOUtils.AddFieldValueToString( ref nodeInfo, m_filterMode );
-
- IOUtils.AddFieldValueToString( ref nodeInfo, m_mainWrapMode.WrapMode );
- IOUtils.AddFieldValueToString( ref nodeInfo, m_mainWrapMode.Coordinates );
-
- int count = m_additionalWrapOptions.Count;
- IOUtils.AddFieldValueToString( ref nodeInfo, count );
- if( count > 0 )
- {
- for( int i = 0; i < count; i++ )
- {
- IOUtils.AddFieldValueToString( ref nodeInfo, m_additionalWrapOptions[i].WrapMode );
- IOUtils.AddFieldValueToString( ref nodeInfo, m_additionalWrapOptions[i].Coordinates );
- }
- }
-
- }
- }
-}