You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
63 lines
1.9 KiB
63 lines
1.9 KiB
using System; |
|
using System.Text; |
|
using UnityEditor.Graphing; |
|
using UnityEditor.ShaderGraph.Drawing.Controls; |
|
using UnityEngine; |
|
|
|
namespace UnityEditor.ShaderGraph.Internal |
|
{ |
|
[Serializable] |
|
[FormerName("UnityEditor.ShaderGraph.BooleanShaderProperty")] |
|
[BlackboardInputInfo(20)] |
|
public sealed class BooleanShaderProperty : AbstractShaderProperty<bool> |
|
{ |
|
internal BooleanShaderProperty() |
|
{ |
|
displayName = "Boolean"; |
|
} |
|
|
|
public override PropertyType propertyType => PropertyType.Boolean; |
|
|
|
internal override bool isExposable => true; |
|
internal override bool isRenamable => true; |
|
|
|
internal override string GetPropertyAsArgumentString(string precisionString) |
|
{ |
|
return $"{concreteShaderValueType.ToShaderString(precisionString)} {referenceName}"; |
|
} |
|
|
|
internal override void ForeachHLSLProperty(Action<HLSLProperty> action) |
|
{ |
|
HLSLDeclaration decl = GetDefaultHLSLDeclaration(); |
|
action(new HLSLProperty(HLSLType._float, referenceName, decl, concretePrecision)); |
|
} |
|
|
|
internal override string GetPropertyBlockString() |
|
{ |
|
return $"{hideTagString}[ToggleUI]{referenceName}(\"{displayName}\", Float) = {(value == true ? 1 : 0)}"; |
|
} |
|
|
|
internal override AbstractMaterialNode ToConcreteNode() |
|
{ |
|
return new BooleanNode { value = new ToggleData(value) }; |
|
} |
|
|
|
internal override PreviewProperty GetPreviewMaterialProperty() |
|
{ |
|
return new PreviewProperty(propertyType) |
|
{ |
|
name = referenceName, |
|
booleanValue = value |
|
}; |
|
} |
|
|
|
internal override ShaderInput Copy() |
|
{ |
|
return new BooleanShaderProperty() |
|
{ |
|
displayName = displayName, |
|
value = value, |
|
}; |
|
} |
|
} |
|
}
|
|
|