summaryrefslogtreecommitdiff
path: root/Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/IntNode.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/IntNode.cs')
-rw-r--r--Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/IntNode.cs281
1 files changed, 0 insertions, 281 deletions
diff --git a/Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/IntNode.cs b/Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/IntNode.cs
deleted file mode 100644
index 3368c05d..00000000
--- a/Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/IntNode.cs
+++ /dev/null
@@ -1,281 +0,0 @@
-// Amplify Shader Editor - Visual Shader Editing Tool
-// Copyright (c) Amplify Creations, Lda <info@amplify.pt>
-
-using UnityEngine;
-using UnityEditor;
-using System;
-
-namespace AmplifyShaderEditor
-{
- [Serializable]
- [NodeAttributes( "Int", "Constants And Properties", "Int property", null, KeyCode.Alpha0 )]
- public sealed class IntNode : PropertyNode
- {
- [SerializeField]
- private int m_defaultValue;
-
- [SerializeField]
- private int m_materialValue;
-
- private const float LabelWidth = 8;
-
- private int m_cachedPropertyId = -1;
-
- private bool m_isEditingFields;
- private int m_previousValue;
- private string m_fieldText = "0";
-
- public IntNode() : base() { }
- public IntNode( int uniqueId, float x, float y, float width, float height ) : base( uniqueId, x, y, width, height ) { }
- protected override void CommonInit( int uniqueId )
- {
- base.CommonInit( uniqueId );
- GlobalTypeWarningText = string.Format( GlobalTypeWarningText, "Int" );
- AddOutputPort( WirePortDataType.INT, Constants.EmptyPortValue );
- m_insideSize.Set( 50, 10 );
- m_selectedLocation = PreviewLocation.BottomCenter;
- m_drawPrecisionUI = false;
- m_showHybridInstancedUI = true;
- m_availableAttribs.Add( new PropertyAttributes( "Enum", "[Enum]" ) );
- m_previewShaderGUID = "0f64d695b6ffacc469f2dd31432a232a";
- m_srpBatcherCompatible = true;
- }
-
- protected override void OnUniqueIDAssigned()
- {
- base.OnUniqueIDAssigned();
- UIUtils.RegisterFloatIntNode( this );
- }
-
- public override void Destroy()
- {
- base.Destroy();
- UIUtils.UnregisterFloatIntNode( this );
- }
-
- public override void OnDirtyProperty()
- {
- UIUtils.UpdateFloatIntDataNode( UniqueId, PropertyInspectorName );
- }
-
- public override void RefreshExternalReferences()
- {
- base.RefreshExternalReferences();
- OnPropertyNameChanged();
- OnDirtyProperty();
- }
-
- public override void SetPreviewInputs()
- {
- base.SetPreviewInputs();
-
- if( m_cachedPropertyId == -1 )
- m_cachedPropertyId = Shader.PropertyToID( "_InputInt" );
-
- if( m_materialMode && m_currentParameterType != PropertyType.Constant )
- PreviewMaterial.SetInt( m_cachedPropertyId, m_materialValue );
- else
- PreviewMaterial.SetInt( m_cachedPropertyId, m_defaultValue );
- }
-
-
- public override void CopyDefaultsToMaterial()
- {
- m_materialValue = m_defaultValue;
- }
-
- public override void DrawSubProperties()
- {
- m_defaultValue = EditorGUILayoutIntField( Constants.DefaultValueLabel, m_defaultValue );
- }
-
- public override void DrawMaterialProperties()
- {
- if( m_materialMode )
- EditorGUI.BeginChangeCheck();
-
- m_materialValue = EditorGUILayoutIntField( Constants.MaterialValueLabel, m_materialValue );
-
- if( m_materialMode && EditorGUI.EndChangeCheck() )
- {
- m_requireMaterialUpdate = true;
- }
- }
-
- public override void OnNodeLayout( DrawInfo drawInfo )
- {
- base.OnNodeLayout( drawInfo );
-
- m_propertyDrawPos = m_remainingBox;
- m_propertyDrawPos.x = m_remainingBox.x - LabelWidth * drawInfo.InvertedZoom;
- m_propertyDrawPos.width = drawInfo.InvertedZoom * Constants.FLOAT_DRAW_WIDTH_FIELD_SIZE;
- m_propertyDrawPos.height = drawInfo.InvertedZoom * Constants.FLOAT_DRAW_HEIGHT_FIELD_SIZE;
- }
-
- public override void DrawGUIControls( DrawInfo drawInfo )
- {
- base.DrawGUIControls( drawInfo );
-
- if( drawInfo.CurrentEventType != EventType.MouseDown )
- return;
-
- Rect hitBox = m_remainingBox;
- hitBox.xMin -= LabelWidth * drawInfo.InvertedZoom;
- bool insideBox = hitBox.Contains( drawInfo.MousePosition );
-
- if( insideBox )
- {
- GUI.FocusControl( null );
- m_isEditingFields = true;
- }
- else if( m_isEditingFields && !insideBox )
- {
- GUI.FocusControl( null );
- m_isEditingFields = false;
- }
- }
-
- public override void Draw( DrawInfo drawInfo )
- {
- base.Draw( drawInfo );
-
- if( !m_isVisible )
- return;
-
- if( m_isEditingFields && m_currentParameterType != PropertyType.Global )
- {
- float labelWidth = EditorGUIUtility.labelWidth;
- EditorGUIUtility.labelWidth = LabelWidth * drawInfo.InvertedZoom;
-
- if( m_materialMode && m_currentParameterType != PropertyType.Constant )
- {
- EditorGUI.BeginChangeCheck();
- m_materialValue = EditorGUIIntField( m_propertyDrawPos, " ", m_materialValue, UIUtils.MainSkin.textField );
- if( EditorGUI.EndChangeCheck() )
- {
- PreviewIsDirty = true;
- m_requireMaterialUpdate = true;
- if( m_currentParameterType != PropertyType.Constant )
- BeginDelayedDirtyProperty();
- }
- }
- else
- {
- EditorGUI.BeginChangeCheck();
-
- m_defaultValue = EditorGUIIntField( m_propertyDrawPos, " ", m_defaultValue, UIUtils.MainSkin.textField );
-
- if( EditorGUI.EndChangeCheck() )
- {
- PreviewIsDirty = true;
- BeginDelayedDirtyProperty();
- }
- }
- EditorGUIUtility.labelWidth = labelWidth;
- }
- else if( drawInfo.CurrentEventType == EventType.Repaint )
- {
- bool guiEnabled = GUI.enabled;
- GUI.enabled = m_currentParameterType != PropertyType.Global;
- Rect fakeField = m_propertyDrawPos;
- fakeField.xMin += LabelWidth * drawInfo.InvertedZoom;
- if( GUI.enabled )
- {
- Rect fakeLabel = m_propertyDrawPos;
- fakeLabel.xMax = fakeField.xMin;
- EditorGUIUtility.AddCursorRect( fakeLabel, MouseCursor.SlideArrow );
- EditorGUIUtility.AddCursorRect( fakeField, MouseCursor.Text );
- }
- bool currMode = m_materialMode && m_currentParameterType != PropertyType.Constant;
- int value = currMode ? m_materialValue : m_defaultValue;
-
- if( m_previousValue != value )
- {
- m_previousValue = value;
- m_fieldText = value.ToString();
- }
-
- GUI.Label( fakeField, m_fieldText, UIUtils.MainSkin.textField );
- GUI.enabled = guiEnabled;
- }
- }
-
- public override string GenerateShaderForOutput( int outputId, ref MasterNodeDataCollector dataCollector, bool ignoreLocalvar )
- {
- base.GenerateShaderForOutput( outputId, ref dataCollector, ignoreLocalvar );
-
- if( m_currentParameterType != PropertyType.Constant )
- return PropertyData( dataCollector.PortCategory );
-
- return m_defaultValue.ToString();
- }
-
- public override string GetPropertyValue()
- {
- return PropertyAttributes + m_propertyName + "(\"" + m_propertyInspectorName + "\", Int) = " + m_defaultValue;
- }
-
- public override void UpdateMaterial( Material mat )
- {
- base.UpdateMaterial( mat );
- if( UIUtils.IsProperty( m_currentParameterType ) && !InsideShaderFunction )
- {
- mat.SetInt( m_propertyName, m_materialValue );
- }
- }
-
- public override void SetMaterialMode( Material mat, bool fetchMaterialValues )
- {
- base.SetMaterialMode( mat, fetchMaterialValues );
- if( fetchMaterialValues && m_materialMode && UIUtils.IsProperty( m_currentParameterType ) && mat.HasProperty( m_propertyName ) )
- {
- m_materialValue = mat.GetInt( m_propertyName );
- }
- }
-
- public override void ForceUpdateFromMaterial( Material material )
- {
- if( UIUtils.IsProperty( m_currentParameterType ) && material.HasProperty( m_propertyName ) )
- {
- m_materialValue = material.GetInt( m_propertyName );
- PreviewIsDirty = true;
- }
- }
-
- public override void ReadFromString( ref string[] nodeParams )
- {
- base.ReadFromString( ref nodeParams );
- m_defaultValue = Convert.ToInt32( GetCurrentParam( ref nodeParams ) );
- if( UIUtils.CurrentShaderVersion() > 14101 )
- m_materialValue = Convert.ToInt32( GetCurrentParam( ref nodeParams ) );
- }
-
- public override void WriteToString( ref string nodeInfo, ref string connectionsInfo )
- {
- base.WriteToString( ref nodeInfo, ref connectionsInfo );
- IOUtils.AddFieldValueToString( ref nodeInfo, m_defaultValue );
- IOUtils.AddFieldValueToString( ref nodeInfo, m_materialValue );
- }
-
- public override string GetPropertyValStr()
- {
- return ( m_materialMode && m_currentParameterType != PropertyType.Constant ) ?
- m_materialValue.ToString( Mathf.Abs( m_materialValue ) > 1000 ? Constants.PropertyBigIntFormatLabel : Constants.PropertyIntFormatLabel ) :
- m_defaultValue.ToString( Mathf.Abs( m_defaultValue ) > 1000 ? Constants.PropertyBigIntFormatLabel : Constants.PropertyIntFormatLabel );
- }
-
- public override void SetGlobalValue() { Shader.SetGlobalInt( m_propertyName, m_defaultValue ); }
- public override void FetchGlobalValue() { m_materialValue = Shader.GetGlobalInt( m_propertyName ); }
- public int Value
- {
- get { return m_defaultValue; }
- set { m_defaultValue = value; }
- }
-
- public void SetMaterialValueFromInline( int val )
- {
- m_materialValue = val;
- m_requireMaterialUpdate = true;
- }
- }
-}