A game about forced loneliness, made by TACStudios
at master 1.9 kB view raw
1using System; 2using UnityEditor.Graphing; 3using UnityEngine; 4 5namespace UnityEditor.ShaderGraph 6{ 7 [Serializable] 8 class Texture2DArrayMaterialSlot : MaterialSlot 9 { 10 public Texture2DArrayMaterialSlot() 11 { } 12 13 public Texture2DArrayMaterialSlot( 14 int slotId, 15 string displayName, 16 string shaderOutputName, 17 SlotType slotType, 18 ShaderStageCapability shaderStageCapability = ShaderStageCapability.All, 19 bool hidden = false) 20 : base(slotId, displayName, shaderOutputName, slotType, shaderStageCapability, hidden) 21 { } 22 23 [SerializeField] 24 bool m_BareResource = false; 25 internal override bool bareResource 26 { 27 get { return m_BareResource; } 28 set { m_BareResource = value; } 29 } 30 31 public override void AppendHLSLParameterDeclaration(ShaderStringBuilder sb, string paramName) 32 { 33 if (m_BareResource) 34 { 35 sb.Append("TEXTURE2D_ARRAY("); 36 sb.Append(paramName); 37 sb.Append(")"); 38 } 39 else 40 base.AppendHLSLParameterDeclaration(sb, paramName); 41 } 42 43 public override SlotValueType valueType { get { return SlotValueType.Texture2DArray; } } 44 public override ConcreteSlotValueType concreteValueType { get { return ConcreteSlotValueType.Texture2DArray; } } 45 public override bool isDefaultValue => true; 46 47 public override void AddDefaultProperty(PropertyCollector properties, GenerationMode generationMode) 48 { } 49 50 public override void CopyValuesFrom(MaterialSlot foundSlot) 51 { 52 var slot = foundSlot as Texture2DArrayMaterialSlot; 53 if (slot != null) 54 { 55 m_BareResource = slot.m_BareResource; 56 } 57 } 58 } 59}