A game about forced loneliness, made by TACStudios
at master 1.9 kB view raw
1using System; 2using System.Text; 3using UnityEditor.Graphing; 4using UnityEditor.ShaderGraph.Drawing.Controls; 5using UnityEngine; 6 7namespace UnityEditor.ShaderGraph.Internal 8{ 9 [Serializable] 10 [FormerName("UnityEditor.ShaderGraph.BooleanShaderProperty")] 11 [BlackboardInputInfo(20)] 12 public sealed class BooleanShaderProperty : AbstractShaderProperty<bool> 13 { 14 internal BooleanShaderProperty() 15 { 16 displayName = "Boolean"; 17 } 18 19 public override PropertyType propertyType => PropertyType.Boolean; 20 21 internal override bool isExposable => true; 22 internal override bool isRenamable => true; 23 24 internal override string GetPropertyAsArgumentString(string precisionString) 25 { 26 return $"{concreteShaderValueType.ToShaderString(precisionString)} {referenceName}"; 27 } 28 29 internal override void ForeachHLSLProperty(Action<HLSLProperty> action) 30 { 31 HLSLDeclaration decl = GetDefaultHLSLDeclaration(); 32 action(new HLSLProperty(HLSLType._float, referenceName, decl, concretePrecision)); 33 } 34 35 internal override string GetPropertyBlockString() 36 { 37 return $"{hideTagString}[ToggleUI]{referenceName}(\"{displayName}\", Float) = {(value == true ? 1 : 0)}"; 38 } 39 40 internal override AbstractMaterialNode ToConcreteNode() 41 { 42 return new BooleanNode { value = new ToggleData(value) }; 43 } 44 45 internal override PreviewProperty GetPreviewMaterialProperty() 46 { 47 return new PreviewProperty(propertyType) 48 { 49 name = referenceName, 50 booleanValue = value 51 }; 52 } 53 54 internal override ShaderInput Copy() 55 { 56 return new BooleanShaderProperty() 57 { 58 displayName = displayName, 59 value = value, 60 }; 61 } 62 } 63}